Gitea MCP logo

Gitea MCP

Connects AI assistants to Gitea-compatible instances for managing issues, repositories, pull requests, files, and releases.

Install Gitea MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "gitea-mcp": {
      "command": "uvx",
      "args": [
        "gitea-mcp"
      ],
      "env": {
        "GITEA_URL": "YOUR_VALUE_HERE",
        "GITEA_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The gitea-mcp MCP server connects MCP-compatible AI assistants to Gitea, Forgejo, and Codeberg through their APIs. It exposes tools for reading and changing issues, repositories, pull requests, files, branches, and releases, using a Personal Access Token for authentication. It runs locally over stdio by default or as a shared streamable-HTTP service. Reach for it when an agent needs to inspect or update a Gitea-compatible code host without custom API glue.

Use cases

  • Triage open issues across Gitea repositories
  • Create issues from audit or refactoring findings
  • Inspect files, branches, and pull requests
  • Commit file changes through an MCP client
  • Create and publish repository releases

Key features

  • Issue and comment management
  • Repository, branch, label, and milestone queries
  • Pull request creation, review comments, and merging
  • File reads, commits, and branch creation
  • Release listing and creation
  • Stdio and streamable-HTTP transports

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

6/6 checks healthy over the last 38d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 7d ago via OSV.dev · gitea-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
Last commit4mo agoMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Gitea MCP works

What gitea-mcp MCP server does

The gitea-mcp MCP server gives an MCP client access to common Gitea workflows. It can inspect repository metadata and branches, read files, manage issues and comments, work with pull requests, and list or create releases. It also exposes server identity and version information.

Gitea is the primary target, while Forgejo and Codeberg are supported because they provide compatible APIs. The available operations cover both read-only investigation and authenticated changes, including creating issues, pull requests, branches, commits, comments, and releases.

How it works

The gitea-mcp MCP server uses asynchronous HTTP requests through httpx and exposes the API through FastMCP. Authentication uses a Gitea Personal Access Token supplied as GITEA_TOKEN; the server sends that token as bearer authentication when calling the configured instance.

In its default mode, an MCP client starts the process over stdio. A separate HTTP mode starts one streamable-MCP endpoint that multiple clients can reach over a network. In HTTP mode, every client uses the same token configured on the running process, so the deployment should be limited with a firewall, reverse-proxy authentication, VPN, or similar access control.

Requests have configurable timeouts and retry behavior. Idempotent GET, PUT, and DELETE requests can be retried, while create and update operations such as POST and PATCH are not automatically retried to avoid duplicate changes. Rate-limit responses can be retried while honoring Retry-After when supplied.

Setup and configuration

Install the package with pip install gitea-mcp or use uv pip install gitea-mcp. Set these required environment variables:

  • GITEA_URL: the base URL of the Gitea-compatible instance.
  • GITEA_TOKEN: a Personal Access Token created in the user settings.

The documented minimum token permissions include read:repository, write:issue, and read:user. Add write:repository when the client must create releases. GITEA_TIMEOUT, GITEA_MAX_RETRIES, and GITEA_RETRY_BASE_DELAY adjust request handling.

For Claude Desktop, gitea-mcp init asks for the instance URL and token, checks the connection, and writes or merges the client configuration. The gitea-mcp doctor command checks the configured connection and reports the authenticated user and MCP tool loading status.

To run a shared endpoint, use gitea-mcp serve --transport http --host 0.0.0.0 --port 8000 --path /mcp. Transport, host, port, and path can also be set with GITEA_MCP_TRANSPORT, GITEA_MCP_HOST, GITEA_MCP_PORT, and GITEA_MCP_PATH.

Tools and capabilities

The gitea-mcp MCP server provides these tool groups:

  • Issues: create, list, retrieve, update, and comment on issues.
  • Repositories: list repositories, labels, milestones, and branches.
  • Pull requests: list, retrieve, comment on, create, and merge pull requests.
  • Files: read files, commit changes, and create branches.
  • Releases: list and create releases.
  • Metadata: retrieve server information and version details.

These operations support tasks such as triaging open issues, recording review findings, inspecting repository files, preparing pull requests, and publishing a release from an assistant-driven workflow.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Gitea MCP

gitea-mcp is an MCP server that connects AI assistants to Gitea, Forgejo, and Codeberg instances. Its main tools manage issues, repositories, pull requests, files, branches, and releases, including creating comments, commits, pull requests, and releases with authentication from a Gitea Personal Access Token.

Install it with `pip install gitea-mcp` or `uv pip install gitea-mcp`. Then configure `GITEA_URL` and `GITEA_TOKEN` in the MCP client's environment. For Claude Desktop, `gitea-mcp init` can collect the values and write or merge the client configuration.

The server requires `GITEA_URL` and `GITEA_TOKEN`. `GITEA_URL` identifies the Gitea-compatible API base URL, and `GITEA_TOKEN` supplies the Personal Access Token. Timeout, retry, and HTTP transport settings are optional.

Yes, gitea-mcp is expected to work with Forgejo and Codeberg because their APIs are compatible with Gitea. Gitea remains the primary target, and the server uses the configured base URL and token for the selected instance.

Run `gitea-mcp serve --transport http --host 0.0.0.0 --port 8000 --path /mcp`. Clients can then connect to the resulting MCP URL. The process uses one `GITEA_TOKEN` for every client, so protect the endpoint with access controls.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGitea MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/gitea-mcp?style=directory)](https://allmcps.com/mcp/gitea-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/gitea-mcp"><img src="https://allmcps.com/api/badge/gitea-mcp?style=directory" alt="Gitea MCP on AllMCPs" /></a>