Gitee MCP Server
官方Gitee API集成,仓库、议题和拉取请求管理等功能。
文档
Gitee MCP Server
Gitee MCP Server 是一个针对 Gitee 的模型上下文协议(MCP)服务端实现。它提供了一套与 Gitee API 交互的工具,使 AI 助手能够管理仓库、Issue、Pull Request 等。
功能特性
- 与 Gitee 仓库、Issue、Pull Request 和通知进行交互
- 可配置的 API 基础 URL,支持不同的 Gitee 实例
- 命令行标志,便于配置
- 支持个人、组织和企业操作
- 动态工具集启用/禁用
实践场景:从仓库获取 Issue,实现并创建 Pull Request
- 获取仓库 Issue

- 根据 Issue 详情实现编码并创建 Pull Request

- 评论并关闭 Issue

安装(使用 npx 启动时可直接跳过此步骤)
前置条件
- Go 1.23.0 或更高版本
- 拥有访问令牌的 Gitee 账户,前往获取
从源码构建
-
克隆仓库:
git clone https://gitee.com/oschina/mcp-gitee.git cd mcp-gitee -
构建项目:
make build将 ./bin/mcp-gitee 移动到 PATH 环境变量中
使用 go install
go install gitee.com/oschina/mcp-gitee@latest
使用方法
检查 mcp-gitee 版本:
mcp-gitee --version
MCP 主机配置
配置示例:点击查看更多应用配置
远程 MCP 服务器
连接到官方的远程 mcp-gitee 服务器(无需安装):
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
Codex 使用 ~/.codex/config.toml:
[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"
opencode 使用 ~/.config/opencode/opencode.json:
{
"mcp": {
"gitee": {
"type": "remote",
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
},
"enabled": true
}
}
}
命令行选项
--token:Gitee 访问令牌--api-base:Gitee API 基础 URL(默认:https://gitee.com/api/v5)--version:显示版本信息--transport:传输类型(stdio、sse 或 http,默认:stdio)--address:启动服务器的主机和端口(默认:localhost:8000)--enabled-toolsets:要启用的工具列表,以逗号分隔(如果指定,则仅启用这些工具)--disabled-toolsets:要禁用的工具列表,以逗号分隔
环境变量
你也可以使用环境变量配置服务器:
GITEE_ACCESS_TOKEN:Gitee 访问令牌GITEE_API_BASE:Gitee API 基础 URLENABLED_TOOLSETS:要启用的工具列表,以逗号分隔DISABLED_TOOLSETS:要禁用的工具列表,以逗号分隔
工具集管理
工具集管理支持两种模式:
-
启用指定工具(白名单模式):
- 使用
--enabled-toolsets参数或ENABLED_TOOLSETS环境变量 - 指定后,仅列出的工具会被启用,其他工具将被禁用
- 示例:
--enabled-toolsets="list_user_repos,get_file_content"
- 使用
-
禁用指定工具(黑名单模式):
- 使用
--disabled-toolsets参数或DISABLED_TOOLSETS环境变量 - 指定后,列出的工具将被禁用,其他工具保持启用
- 示例:
--disabled-toolsets="list_user_repos,get_file_content"
- 使用
注意:
- 如果同时指定了
enabled-toolsets和disabled-toolsets,则enabled-toolsets优先 - 工具名称区分大小写
按请求过滤工具(HTTP 头)
使用远程 MCP 服务器(HTTP/SSE 传输)时,你可以通过 HTTP 头按请求动态过滤可用工具。这对于需要精细控制工具暴露而无需重启服务器的客户端非常有用。
-
通过请求头启用指定工具(白名单):
- 使用
X-MCP-Enabled-Tools请求头 - 仅列出的工具会在该请求中启用
- 示例:
X-MCP-Enabled-Tools: list_user_repos,get_file_content
- 使用
-
通过请求头禁用指定工具(黑名单):
- 使用
X-MCP-Disabled-Tools请求头 - 列出的工具会在该请求中被禁用
- 示例:
X-MCP-Disabled-Tools: create_repo,delete_repo
- 使用
优先级规则:
- 如果同一请求中同时存在
X-MCP-Enabled-Tools和X-MCP-Disabled-Tools,则白名单(X-MCP-Enabled-Tools)优先 - 工具名称区分大小写
Cursor/Claude 的配置示例:
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>",
"X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
}
}
}
}
许可证
本项目基于 MIT 许可证授权。有关更多详细信息,请参阅 LICENSE 文件。
可用工具
服务器提供了多种与 Gitee 交互的工具:
| 工具 | 类别 | 描述 |
|---|---|---|
| list_user_repos | 仓库 | 列出用户授权的仓库 |
| get_file_content | 仓库 | 获取仓库中文件的内容 |
| create_repo | 仓库 | 创建仓库(用户、组织或企业) |
| fork_repository | 仓库 | Fork 一个仓库 |
| create_release | 仓库 | 为仓库创建发行版 |
| list_releases | 仓库 | 列出仓库发行版 |
| search_open_source_repositories | 仓库 | 在 Gitee 上搜索开源仓库 |
| search_files_by_content | 仓库 | 在仓库中按内容搜索文件 |
| compare_branches_tags | 仓库 | 比较仓库中的两个分支、标签或提交 |
| list_repo_pulls | Pull Request | 列出仓库中的 Pull Request |
| merge_pull | Pull Request | 合并一个 Pull Request |
| create_pull | Pull Request | 创建一个 Pull Request |
| update_pull | Pull Request | 更新一个 Pull Request |
| get_pull_detail | Pull Request | 获取 Pull Request 的详细信息 |
| get_diff_files | Pull Request | 获取 Pull Request 的差异文件 |
| manage_pull_review | Pull Request | 管理 Pull Request 的审查(批准或取消) |
| create_comment | 评论 | 在 Issue 或 Pull Request 上创建评论 |
| list_comments | 评论 | 列出 Issue 或 Pull Request 的所有评论 |
| create_issue | Issue | 创建一个 Issue |
| update_issue | Issue | 更新一个 Issue |
| get_repo_issue_detail | Issue | 获取仓库 Issue 的详细信息 |
| list_repo_issues | Issue | 列出仓库 Issue |
| get_user_info | 用户 | 获取当前已认证用户的信息 |
| search_users | 用户 | 搜索用户 |
| list_user_notifications | 通知 | 列出用户通知 |
贡献
我们欢迎来自开源社区的贡献!如果你想为本项目做出贡献,请遵循以下指南:
- Fork 本仓库。
- 为你的功能或错误修复创建一个新分支。
- 进行更改并确保代码有良好的文档说明。
- 提交一个 Pull Request,并清晰描述你的更改。
有关更多信息,请参阅 CONTRIBUTING 文件。




