摘要
让你的 AI 读取你的 Gitea:查找仓库,分诊 issue 和拉取请求(包括评论、文件、diff 和评审),查看发布版本和组织,并读取分支、提交和文件。支持 gitea.com 或你自己的 Gitea 服务器,使用访问令牌。只读。
引导式设置
2 分钟将 Gitea 连接到 ChatGPT
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 Gitea,再把你的 MCP URL 添加到 ChatGPT。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
ChatGPT 插件目录中的 AnythingMCP 插件可在 AnythingMCP Cloud 上回答有关企业数据库的问题(PostgreSQL、MySQL、SQL Server、Oracle、SAP HANA、SQLite、MongoDB,只读):打开插件页面 (在新标签页中打开)并点击 Install plugin。其他所有连接器都以自定义 MCP 服务器的方式添加到 ChatGPT,使用你的 AnythingMCP MCP URL。
试试这样问
Gitea 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 不想安装?直接使用 cloud.anythingmcp.com。 登录后点击 Connectors → Gitea,粘贴你的凭据,生成一个 MCP API 密钥即可。无需 Docker,无需
git clone,无需本地服务器。
Gitea + ChatGPT
让你的 AI 读取你的 Gitea:查找仓库,分诊 issue 和拉取请求(包括评论、文件、diff 和评审),查看发布版本和组织,并读取分支、提交和文件。支持 gitea.com 或你自己的 Gitea 服务器,使用访问令牌。只读。
前置条件
请参阅连接器内置的完整设置说明(在应用内商店选择该连接器时可见)。此连接器所需的环境变量如下:
GITEA_URL, GITEA_TOKEN
步骤 1 — 获取凭据
设置大约需要 2 分钟。你需要在 gitea.com 或你自己的 Gitea 服务器上拥有一个账号,以及一个对 Repository、Issue、Organization 和 User 具有 Read 权限的访问令牌。
- 在 Gitea 中,点击你的头像,然后依次选择 Settings、Applications。在 Manage Access Tokens 下,输入一个名称(例如 "AnythingMCP"),并将 Repository、Issue、Organization 和 User 设置为 Read(即
read:repository、read:issue、read:organization和read:user这几个权限范围)。如果你的 Gitea 版本不支持令牌权限范围,该令牌将拥有其所属用户的全部权限。 - 点击 Generate Token 并立即复制令牌:Gitea 只会显示一次。只把令牌本身粘贴到
GITEA_TOKEN,前面不要加token或Bearer字样。连接器会自行添加token。 - 将
GITEA_URL设置为你打开 Gitea 时使用的地址,例如https://gitea.com或https://git.example.com,不要带/api/v1,也不要带末尾的斜杠。如果 Gitea 运行在子路径下,请保留该子路径(https://example.com/gitea)。 - 安装连接器并运行
gitea_get_current_user:它会显示该令牌所属的用户,并确认地址和令牌均可用。
只读:全部 30 个工具都只读取数据。连接器无法在 Gitea 中创建、修改或删除任何内容,AI 看到的内容与该令牌所属用户能看到的完全一致。
可读取的内容:仓库(可在整个实例中搜索,或列出你的用户、某个组织或其他用户的仓库)、带评论、标签和里程碑的 issue、带变更文件、diff、提交和评审的拉取请求、带说明和附件的发布版本、带成员和团队的组织、分支、提交、文件树以及文件内容。gitea_search_issues 可以在所有仓库中查找分配给你、由你创建或等待你评审的 issue 和拉取请求。
仓库与编号:每个仓库都需要 owner(用户或组织)和 repo,即 https://host/owner/repo 中的两个部分。issue 和拉取请求在每个仓库中共用同一个编号序列。Gitea 也把拉取请求视为 issue,因此 gitea_get_issue 和 gitea_list_issue_comments 同样可以用拉取请求编号来获取其标题、标签和讨论内容,而 gitea_get_pull_request、gitea_get_pull_request_files 和 gitea_get_pull_request_diff 则提供代码方面的信息。
你自己的服务器:位于内部主机上的 Gitea(私有 IP 或内部域名)需要在同一网络中自托管 AnythingMCP,并把主机名加入 SSRF_ALLOWED_HOSTS,否则出站防护会拦截调用。Forgejo 以及基于它运行的 Codeberg 提供相同的 API v1 路由,因此类似 https://codeberg.org 的地址应该也能使用。该连接器是针对 Gitea API 编写的。
限制:Gitea 服务器默认每页返回 30 条,最多 50 条(由其 MAX_RESPONSE_ITEMS 设置决定),因此 AI 会请求下一页,而不是更大的数量上限。超过 200 KB 的拉取请求 diff 和文件内容会被截断:其余部分请打开该拉取请求的 html_url 查看。
常见错误:401 表示令牌错误、已过期或已被删除,或者 GITEA_URL 指向了另一台服务器。403 表示令牌缺少调用所需的权限范围(Gitea 会在消息中指明),例如 issue 需要 read:issue,组织需要 read:organization。404 表示仓库、issue 或文件不存在,或该用户无法看到它:对于被隐藏的私有资源,Gitea 会返回 404。422 会指出缺失或无效的字段。
该连接器不会创建或编辑 issue、评论、拉取请求、发布版本、分支或文件,不会合并或批准,也不涵盖 Actions 运行和工作流、软件包、wiki、通知、webhook、部署密钥或管理功能。
步骤 2 — 安装适配器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制其 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都使用它。
ChatGPT 在其 Plugins 页面中以插件的形式添加 MCP 服务器,支持网页端和付费方案。不再需要开发者模式。在 Business 工作区中,只有管理员和所有者可以添加;在 Enterprise 和 Edu 中,管理员可以授予 Create plugins with MCPs 权限。
- 前往 chatgpt.com/plugins,点击 Add,然后点击 Add custom MCP server。
- 输入名称,例如 Name:
Gitea。 - 在 Connection 下,输入 Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,并将 Authentication 保持为 OAuth。 - 选择 I understand and want to continue,然后选择 Create as a plugin。当 ChatGPT 提示时,登录 AnythingMCP 并允许访问。
- 在你的个人插件中安装新插件,然后在聊天中输入 @ 并选择它。
可用工具
| 工具 | 功能 |
|---|---|
gitea_get_current_user | 获取令牌所属的 Gitea 用户:id、login、full_name、email、is_admin 和 html_url |
gitea_search_repositories | 按关键词、主题、类型或归档状态,在整个实例中搜索令牌可见的仓库:full_name、description… |
gitea_list_my_repositories | 列出令牌所属用户拥有的仓库,包含 full_name、description、default_branch、private、archived、stars_count… |
gitea_list_organization_repositories | 列出令牌所属用户可见的某个组织的仓库:full_name、description、default_branch、private、archived… |
gitea_list_user_repositories | 列出令牌所属用户可见的指定用户所拥有的仓库:full_name、description、default_branch、private、archived… |
gitea_get_repository | 获取单个仓库:description、default_branch、private、archived、fork、empty、size、stars_count、forks_count、open_issues_count… |
gitea_list_issues | 按筛选条件列出仓库的 issue:number、title、state、labels、assignees、milestone、评论数、created_at、updated_at 以及… |
gitea_search_issues | 在令牌所属用户可见的所有仓库中搜索 issue 和拉取请求,或缩小到分配给你、由你创建、提及… |
gitea_get_issue | 按编号获取单个 issue:title、body(Markdown)、state、labels、assignees、milestone、due_date、评论数、created_at、closed_at… |
gitea_list_issue_comments | 按从旧到新的顺序列出 issue 的评论:id、body(Markdown)、user、created_at、updated_at 和 html_url |
gitea_list_labels | 列出仓库的标签:id、name、color 和 description |
gitea_list_milestones | 列出仓库的里程碑:id、title、state、description、due_on、open_issues 和 closed_issues |
gitea_list_pull_requests | 列出仓库的拉取请求:number、title、state、merged、mergeable、head 和 base 分支、user、labels、created_at、updated_at… |
gitea_get_pull_request | 按编号获取单个拉取请求:title、body(Markdown)、state、merged、mergeable、head 和 base(分支、sha、仓库)、additions… |
gitea_get_pull_request_files | 列出拉取请求更改的文件:filename、previous_filename、status(added、modified、deleted、renamed)、additions、deletions 以及… |
gitea_get_pull_request_diff | 以纯文本形式读取拉取请求的统一 diff,用于审查实际更改 |
gitea_list_pull_request_commits | 列出拉取请求的提交:sha、message、author、date 和 html_url |
gitea_list_pull_request_reviews | 列出拉取请求的评审:id、reviewer、state(APPROVED、REQUEST_CHANGES、COMMENT、PENDING)、body、comments_count 和 submitted_at |
gitea_list_releases | 按从新到旧的顺序列出仓库的发布版本:tag_name、name、body(Markdown 格式的发布说明)、draft、prerelease、published_at、附带的… |
gitea_get_latest_release | 获取最近一个既不是草稿也不是预发布的发布版本:tag_name、name、body(发布说明)、published_at、assets 以及… |
gitea_get_release_by_tag | 按标签名称获取单个发布版本:name、body(发布说明)、draft、prerelease、published_at、assets 和 html_url |
gitea_list_my_organizations | 列出令牌所属用户所在的组织:name、full_name、description、visibility 和 website |
gitea_get_organization | 获取单个组织:name、full_name、description、website、location、visibility 和 avatar_url |
gitea_list_organization_members | 列出令牌所属用户可见的组织成员:login、full_name 和 html_url |
gitea_list_organization_teams | 列出组织的团队:id、name、description、permission,以及该团队是否涵盖所有仓库 |
gitea_list_branches | 列出仓库的分支:name、最新提交(id、message、timestamp)、protected 以及谁可以推送 |
gitea_list_commits | 按从新到旧的顺序列出仓库的提交:sha、message、author、date 和 html_url |
gitea_get_commit | 按分支、标签或 sha 获取单个提交:message、author、committer、date、parents、html_url,以及在包含 files 时返回的变更文件和统计信息 |
gitea_get_tree | 列出仓库在某个分支、标签或提交下的文件和文件夹:path、type(blob 表示文件,tree 表示文件夹)、mode 和 size |
gitea_get_file_content | 以文本形式读取仓库中某个分支、标签或提交下的文件(省略 ref 时使用默认分支) |
常见问题
免费版 ChatGPT 支持自定义 MCP 服务器吗? OpenAI 的文档中只为付费方案提供自定义 MCP 服务器;免费方案不在其列表中。
后续步骤
这份指南对你有帮助吗?