gitea-mcp
Provides comprehensive access to the Gitea API, allowing AI agents to manage repositories, issues, pull requests, releases, branches, file contents, organizations, teams, and CI/CD workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gitea-mcplist all open pull requests in the web-app repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gitea-mcp
MCP server for Gitea -- full API coverage for autonomous AI agents.
Features
300 tools covering the entire Gitea API surface
Repositories, issues, pull requests, releases, labels, milestones
File content management (create, read, update, delete)
Branches, tags, commits, and status checks
Actions / CI workflows and artifacts
Organizations, teams, and user management
Webhooks, deploy keys, notifications, wiki, packages
Admin endpoints for instance-level operations
Compact mode -- collapse all tools into 6 meta-tools via
GITEA_COMPACT=trueZero-config install via
uvx
Quick Start
Add the following to your MCP client configuration (Claude Desktop, Cursor, Claude Code, etc.).
For Claude Code global config on macOS: ~/.claude.json → "mcpServers".
{
"mcpServers": {
"gitea": {
"command": "uvx",
"args": ["--refresh", "--extra-index-url", "https://nikitatsym.github.io/gitea-mcp/simple", "gitea-mcp"],
"env": {
"GITEA_URL": "https://gitea.example.com",
"GITEA_TOKEN": "your-api-token"
}
}
}
}Or use the interactive Setup Page to generate the config.
Configuration
Variable | Required | Description |
| Yes | Base URL of your Gitea instance (e.g. |
| Yes | Personal access token with appropriate permissions |
| No | Set to |
| No | Require |
| No | Max character length for brief summary (default: |
By default, creating public repos and orgs is blocked — agents must pass private=true explicitly. To allow public repos, add --allow-public to the command args:
"args": ["--refresh", "--extra-index-url", "https://nikitatsym.github.io/gitea-mcp/simple", "gitea-mcp", "--allow-public"]Compact Mode
By default, gitea-mcp exposes 300 individual tools. Some MCP clients handle large tool counts poorly (slow startup, context bloat, or hard limits).
Compact mode collapses all 300 tools into 6 meta-tools for granular permission control. Set GITEA_COMPACT=true to enable it:
{
"mcpServers": {
"gitea": {
"command": "uvx",
"args": ["--refresh", "--extra-index-url", "https://nikitatsym.github.io/gitea-mcp/simple", "gitea-mcp"],
"env": {
"GITEA_URL": "https://gitea.example.com",
"GITEA_TOKEN": "your-api-token",
"GITEA_COMPACT": "true"
}
}
}
}Tool | HTTP | Admin? | Signature |
| GET | no |
|
| POST | no |
|
| PUT/PATCH | no |
|
| DELETE | no |
|
| GET | yes |
|
| POST/PUT/PATCH/DELETE | yes |
|
Usage examples:
gitea_read("help") → list GET endpoints
gitea_read("/version") → get server version
gitea_read("/repos/owner/repo") → get a repository
gitea_create("/user/repos", '{"name":"my-repo","auto_init":true}')
gitea_update("PATCH", "/repos/owner/repo", '{"description":"updated"}')
gitea_delete("/repos/owner/repo") → delete a repository
gitea_admin_read("/admin/users") → list all users (admin)
gitea_admin_write("POST", "/admin/users", '{"username":"new","email":"a@b.c","password":"..."}')All tools accept path="help" to list their relevant endpoints. File and wiki content is auto-base64 encoded -- pass plain text in the "content" field.
Creating a Gitea API Token
Log in to your Gitea instance.
Go to Settings > Applications.
Under Manage Access Tokens, enter a token name (e.g.
mcp-server).Select the permissions your agent needs (read/write on repos, issues, etc.).
Click Generate Token and copy the value immediately -- it is shown only once.
Running Tests
The test suite runs against a real Gitea instance managed by Docker Compose.
# Start Gitea
docker compose -f tests/docker-compose.yml up -d
# Wait for Gitea to be ready, then run tests
uv run pytest tests/ -v
# Tear down
docker compose -f tests/docker-compose.yml down -vLicense
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikitatsym/gitea-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server