
gitea-mcp
io.github.werebear73由 GitHub 账号 werebear73 发布v0.5.1更新于 Oct 25, 2026
Model Context Protocol server for Gitea (and Forgejo, Codeberg).
概览
本地 MCP 服务器,让 AI 助手在 Gitea、Forgejo 或 Codeberg 实例上读取、创建和管理议题、拉取请求、文件与发布。
- 可以做什么
- 创建、列出、读取、更新议题并添加评论,列出标签、里程碑和分支,用于分类整理和记录。列出并查看拉取请求,添加评论、创建和合并拉取请求。读取仓库文件、提交更改并创建分支。列出和创建发布。查询服务器信息与版本。
- 适用场景
- 当团队或项目在自托管的 Gitea、Forgejo 或 Codeberg 上跟踪工作时适用,可让助手在不离开对话的情况下提交议题、分类整理、跨仓库评论或发布版本。
- 运行要求
- 以 Python 包(pip 或 uvx)通过 stdio 在本地运行,也可自托管为 streamable HTTP 服务。需要以环境变量提供 GITEA_URL(实例基础地址)和 GITEA_TOKEN(个人访问令牌),并能访问该实例网络。可选 GITEA_TIMEOUT、GITEA_MAX_RETRIES 和 GITEA_RETRY_BASE_DELAY 调整 HTTP 行为。
安装
在 SourceWeft 中
- 打开 控制台中的 gitea-mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
gitea-mcp
A Model Context Protocol server for Gitea — lets AI assistants (Claude, ChatGPT, Copilot, and anything else that speaks MCP) read, create, and manage issues, repositories, and releases on any Gitea instance you can reach.
Also works against Forgejo and Codeberg (API-compatible).
Why
Self-hosted Gitea is a popular GitHub alternative for solo developers, small teams, and privacy-conscious organizations. With this MCP server installed, your AI assistant can:
- File audit findings or refactor notes as Gitea issues without you leaving the chat
- Triage a repo's open issues in natural language
- Cut a release at the end of a coding session
- Comment on issues across multiple repos in one pass
Features
- Bearer authentication via Personal Access Token (PAT)
- Async HTTP via
httpxandFastMCP - Works with self-hosted Gitea, Forgejo, and Codeberg
Quick Start
1. Install
Or with uv:
2. Generate a Personal Access Token
In your Gitea instance, go to Settings → Applications → Generate New Token and grant at least:
read:repositorywrite:issueread:user
Add write:repository if you also want to create releases.
3. Configure your MCP client
Claude Desktop (interactive): run
It prompts for the Gitea URL and Personal Access Token, verifies the connection, and writes (or merges into) the right claude_desktop_config.json for your OS. Restart Claude Desktop and you're done.
To check that the server can reach your Gitea instance at any time:
doctor reads GITEA_URL and GITEA_TOKEN from the environment, runs a GET /api/v1/user, and reports the authenticated username plus the state of the MCP tool surface. Exit 0 = ready; exit 1 = connection/load failure; exit 2 = missing config.
Any MCP client (manual): add gitea-mcp to the client's MCP config. The recommended form uses uvx so the client launches the latest published wheel in an isolated env without needing gitea-mcp on its own PATH (this is what gitea-mcp init writes):
If you'd rather use a globally pip-installed gitea-mcp binary, drop args and set command to "gitea-mcp" directly — works as long as the binary is on the MCP client's PATH at launch time.
See mcp.json for a complete example. The same shape works for Claude Desktop, VS Code, Cowork, Claude Code, and any other MCP-compatible client.
Configuration
Configuration is read from environment variables.
Self-hosting / HTTP transport
By default gitea-mcp runs in stdio mode — each MCP client (Claude Desktop, Cowork, etc.) launches its own subprocess on demand. For self-hosting one instance that multiple clients connect to over the network, use the streamable-HTTP transport:
All four flags can also be provided via environment variables (handy for Docker / systemd units):
MCP clients connect to the resulting URL (e.g. https://gitea-mcp.example.com/mcp) just like they would to a local stdio server, except they share the one running instance.
Auth model (this release). The server reads GITEA_TOKEN from its own environment, so any client that reaches the URL acts as that one Gitea user. Run it for yourself behind your own access controls (firewall, reverse-proxy auth, VPN, Tailscale). Multi-tenant bring-your-own-token is on the roadmap.
The no-args invocation (gitea-mcp with no subcommand) still runs in stdio mode, so existing Claude Desktop / Cowork / Claude Code integrations are unaffected by this addition.
Compatibility
Development
The two-stage pre-commit policy keeps the commit loop snappy (lint + type only) while making git push block on the slow stuff that's actually caught CI/release bugs in the past — the full test suite and python -m build && twine check dist/*, which surfaces setuptools_scm version surprises before they reach a tag push.
Roadmap
See docs/ROADMAP.md for what's shipped, what's next, and what's out of scope.
Publishing
- MCP Registry metadata is tracked in
server.json. - Smithery + MCP Registry publication steps are documented in
docs/PUBLISHING.md.
Versioning
Semantic versioning, derived from git tags via setuptools_scm. See VERSIONING.md for the release process.
Contributing
Issues and pull requests welcome. For substantial changes, please open an issue first to discuss the approach.
License
MIT — use it however you like, including commercial products.
Built by Waretech Services.
来源:README.md,提交 5adde5e
工具
0版本历史
1- v0.5.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分