loading…
Search for a command to run...
loading…
An MCP server providing comprehensive Gitea API coverage with 186 tools for managing repositories, issues, pull requests, and CI/CD workflows. It enables autono
An MCP server providing comprehensive Gitea API coverage with 186 tools for managing repositories, issues, pull requests, and CI/CD workflows. It enables autonomous AI agents to perform complex development and administrative tasks directly through a Gitea instance.
MCP server for Gitea -- full API coverage for autonomous AI agents.
GITEA_COMPACT=trueuvxAdd 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.
| Variable | Required | Description |
|---|---|---|
GITEA_URL |
Yes | Base URL of your Gitea instance (e.g. https://gitea.example.com) |
GITEA_TOKEN |
Yes | Personal access token with appropriate permissions |
GITEA_COMPACT |
No | Set to true to enable compact mode (see below) |
GITEA_REQUIRE_BRIEF |
No | Require <brief>summary</brief> tag in issue body on create/edit (default: true) |
GITEA_BRIEF_MAX_LENGTH |
No | Max character length for brief summary (default: 200) |
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"]
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 |
|---|---|---|---|
gitea_read |
GET | no | (path, params) |
gitea_create |
POST | no | (path, params) |
gitea_update |
PUT/PATCH | no | (method, path, params) |
gitea_delete |
DELETE | no | (path, params) |
gitea_admin_read |
GET | yes | (path, params) |
gitea_admin_write |
POST/PUT/PATCH/DELETE | yes | (method, path, params) |
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":"[email protected]","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.
mcp-server).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 -v
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"gitea-mcp": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.