Gitea MCP server

Connect Gitea to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Gitea MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the list milestones tool in Gitea
  • Use the list pull requests tool in Gitea
  • Use the merge pull request tool in Gitea
  • Use the get organization tool in Gitea
  • Use the list pull request reviews tool in Gitea
  • Use the create team tool in Gitea

Supported Tools

list_milestones

List Milestones

List milestones in a repository with their progress (open/closed issue counts). Useful for finding milestone IDs needed when creating or updating issues.

list_pull_requests

List Pull Requests

List pull requests in a repository with optional filtering by state, sort order, and pagination.

merge_pull_request

Merge Pull Request

Merge a pull request using the specified merge strategy. Supports merge commit, rebase, squash, and rebase-merge methods. Optionally deletes the source branch after merging.

get_organization

Get Organization

Retrieve detailed information about an organization including its display name, description, and visibility. Use list_teams and search_repos for related resources.

list_pull_request_reviews

List Pull Request Reviews

List all reviews on a pull request including their approval status and review comments.

create_team

Create Team

Create a new team within an organization with specified permissions and unit access.

create_pull_request

Create Pull Request

Create a new pull request to merge changes from a head branch into a base branch. Supports assignees, reviewers, labels, and milestones.

create_pull_request_review

Create Pull Request Review

Submit a review on a pull request. Can approve, request changes, or leave a general comment. Optionally include line-level review comments.

delete_wiki_page

Delete Wiki Page

Delete a wiki page from a repository.

create_release

Create Release

Create a new release for a repository. Can create a new tag or use an existing one. Supports draft and pre-release flags.

get_pull_request

Get Pull Request

Retrieve detailed information about a specific pull request including merge status and branch info; use list_pull_request_reviews for reviews.

get_repo

Get Repository

Retrieve detailed information about a specific repository including its configuration, statistics, and metadata.

update_release

Update Release

Update an existing release's title, notes, tag, or draft/pre-release status.

create_repo

Create Repository

Create a new Git repository under the authenticated user's account or under a specified organization. Supports initialization with README, gitignore, and license files.

list_labels

List Labels

List all labels available in a repository. Useful for finding label IDs needed when creating or updating issues and pull requests.

create_comment

Create Comment

Add a comment to an issue or pull request. Supports Markdown formatting.

search_repos

Search Repositories

Search and list repositories on the Gitea instance. Can search by keyword, list the authenticated user's repositories, or list repositories belonging to a specific organization. Supports pagination and sorting.

create_wiki_page

Create Wiki Page

Create a new wiki page in a repository. Content must be base64-encoded.

delete_release

Delete Release

Delete a release from a repository. This does not delete the associated Git tag.

create_milestone

Create Milestone

Create a new milestone in a repository for tracking progress on a group of issues and pull requests.

update_comment

Update Comment

Edit an existing comment on an issue or pull request.

list_wiki_pages

List Wiki Pages

List all wiki pages in a repository. Returns page titles and URLs without content.

update_pull_request

Update Pull Request

Update an existing pull request's title, description, state, assignees, or base branch. Can be used to close or reopen pull requests.

delete_repo

Delete Repository

Permanently delete a repository. This action is irreversible and removes all associated data including issues, pull requests, releases, and wiki pages.

list_branches

List Branches

List all branches of a repository with their latest commit info and protection status.

fork_repo

Fork Repository

Fork a repository to the authenticated user's account or to a specified organization.

delete_comment

Delete Comment

Delete a comment from an issue or pull request.

delete_file

Delete File

Delete a file from a repository. Requires the current file SHA to prevent accidental deletion of modified files.

get_issue

Get Issue

Retrieve detailed information about a specific issue including its labels, assignees, milestone, and comments count.

manage_collaborator

Manage Collaborator

Add or remove a collaborator from a repository. When adding, you can specify the permission level.

create_branch

Create Branch

Create a new branch in a repository from an existing branch or the default branch.

create_label

Create Label

Create a new label in a repository. Labels can be assigned to issues and pull requests for categorization.

get_wiki_page

Get Wiki Page

Retrieve a specific wiki page's content and metadata. Content is returned base64-encoded.

update_organization

Update Organization

Update an organization's display name, description, website, location, or visibility.

list_releases

List Releases

List releases in a repository including draft and pre-release versions, their assets, and metadata.

update_wiki_page

Update Wiki Page

Update an existing wiki page's content or title. Content must be base64-encoded.

manage_team_member

Manage Team Member

List a team's members, or add or remove a user from an organization team.

create_issue

Create Issue

Create a new issue in a repository with optional labels, assignees, milestone, and due date.

update_repo

Update Repository

Update a repository's settings including name, description, visibility, archive status, feature toggles, topics, and default branch.

get_file_content

Get File Content

DEPRECATED — use `download_file` instead. Read a file's content from a repository. Returns the file metadata and base64-encoded content. Supports reading from a specific branch or commit ref.

delete_branch

Delete Branch

Delete a branch from a repository. Cannot delete protected or default branches.

list_issues

List Issues

List issues in a repository with filtering by state and labels. Returns issues excluding pull requests.

list_teams

List Teams

List all teams in an organization with their permissions and accessible units.

create_organization

Create Organization

Create a new organization on the Gitea instance.

list_collaborators

List Collaborators

List all collaborators of a repository with their access information.

list_issue_comments

List Issue Comments

List all comments on an issue or pull request. Comments are returned in chronological order.

create_or_update_file

Create or Update File

Create a new file or update an existing file in a repository. Content must be base64-encoded. When updating, provide the current file SHA to prevent conflicts.

update_issue

Update Issue

Update an existing issue's title, body, state, assignees, labels, milestone, or due date. Can be used to close or reopen issues.

list_organizations

List Organizations

List organizations that the authenticated user belongs to.

list_commits

List Commits

List commits in a repository. Can filter by branch/tag/SHA and by file path. Returns commit history with author information.

download_file

Download Repository File

Download a repository file and return metadata including its blob SHA for subsequent edits. Use search_repos to discover the owner and repository.

get_current_user

Get Current User

Identify the authenticated Gitea user and discover the username used to own repositories.

delete_organization

Delete Organization

Permanently delete an empty Gitea organization. Remove its repositories and packages first. Requires organization owner permissions.

delete_team

Delete Team

Delete an organization team and its access grants. The automatically managed Owners team cannot be deleted.

Connect Gitea to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Gitea in Metorial. In your Metorial portal, enable the Gitea MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Gitea tools.

Run Gitea through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Gitea and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Gitea tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Gitea

Notion

Create, read, update, and archive pages and databases in a Notion workspace. Manage blocks (paragraphs, lists, headings, embeds, etc.) within pages. Query databases with filters and sorts across rich property types including text, numbers, dates, selects, relations, and formulas. Search across pages and databases by title. Add and read comments on pages and blocks. Upload files to pages. Manage workspace users and retrieve user profiles.

Google Sheets

Create, read, and update spreadsheets and their cell data. Read and write values to individual cells, ranges, or multiple ranges using A1 notation or named ranges. Apply cell formatting including text styles, backgrounds, borders, number formats, and conditional formatting. Manage sheets (tabs) within a spreadsheet—add, delete, copy, rename, and reorder them. Create and manage embedded charts, pivot tables, filter views, data validation rules, protected ranges, named ranges, and merged cells. Perform batch operations to apply multiple updates atomically.

GitHub

Manage repositories, issues, and pull requests. Create and configure branches, star repositories, review code, and merge changes. Automate CI/CD workflows with GitHub Actions, manage workflow runs, secrets, and artifacts. Track issues with labels, milestones, and assignees. Search across code, repositories, issues, and users. Manage organizations, teams, and memberships. Create and manage projects, gists, packages, deployments, and environments. Access security alerts including code scanning, secret scanning, and Dependabot alerts. Read and write file contents in repositories. Manage webhooks, notifications, and codespaces.

Salesforce

Manage CRM data including Accounts, Contacts, Leads, Opportunities, Cases, and custom objects. Create, read, update, and delete records. Query data using SOQL and search across objects using SOSL. Perform bulk data operations for large-scale imports, exports, and migrations. Execute composite requests to batch multiple operations in a single API call. Access analytics, reports, and dashboards. Manage files and attachments associated with records. Interact with Chatter feeds, posts, and groups for social collaboration. Manage org metadata including custom objects, fields, layouts, and workflows. Query data using GraphQL for precise data retrieval across related objects.

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Retrieve site properties and search for sites across Microsoft 365.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Technical notes for Gitea

Manage repositories, branches, files, and commit history on your Gitea instance. Create, review, and merge pull requests; track issues with comments, labels, milestones, assignees, and due dates. Manage releases, wiki pages, organizations, teams, and collaborators. Download repository files.

Frequently asked questions

Common questions about connecting Gitea to AI agents with Metorial.

  1. How many tools does the Gitea MCP server have?
    The Gitea MCP server exposes 54 tools, including List Milestones, List Pull Requests, Merge Pull Request. Each one is governed and traced through Metorial.
  2. Gitea exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Gitea MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Gitea and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Gitea MCP server yourself or use the hosted gateway.

Connect Gitea to production AI agents

See how Metorial gives your team governed access to Gitea, with tracing and security controls built in.