Gitee MCP服务器
Gitee MCP Server是Gitee的模型上下文协议(MCP)服务器实现。它提供了一套与Gitee的API交互的工具,允许AI助手管理存储库、问题、拉取请求等。

特性
- 与Gitee仓库、问题、拉取请求和通知交互
- 可配置的API基础URL支持不同的Gitee实例
- 命令行标志便于配置
- 支持个人、组织和企业运营
- 动态工具集启用/禁用
Practical scenario: Obtain Issue from the repository, implement and create a Pull Request
- 获取存储库问题
- 根据问题详细信息实施编码并创建Pull Request
- 评论并关闭问题
安装(启动npx时可以直接跳过此步骤)
先决条件
- 达到1.23.0或更高
- 具有访问令牌的Gitee帐户, 去拿
从源代码构建
- 克隆存储库:
git clone https://gitee.com/oschina/mcp-gitee.git
cd mcp-gitee- 构建项目:
make build移动。/bin/mcp gitee路径环境
使用go安装
go install gitee.com/oschina/mcp-gitee@latest用法
检查mcp-gitee版本:
mcp-gitee --versionMCP主机配置
配置示例: 单击查看更多应用程序配置
- 连接到官方远程mcp-gitee服务器(无需安装)
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer "
}
}
}
}- 新巴拿马型船舶
{
"mcpServers": {
"gitee": {
"command": "npx",
"args": [
"-y",
"@gitee/mcp-gitee@latest"
],
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": ""
}
}
}
}- 可执行
{
"mcpServers": {
"gitee": {
"command": "mcp-gitee",
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": ""
}
}
}
}命令行选项
--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 ",
"X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
}
}
}
}许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取更多详细信息。
可用工具
服务器提供了各种与Gitee交互的工具:
| 工具 | 类别 | 描述 |
|---|---|---|
| list_user_repos | 存储库 | 列出用户授权的存储库 |
| 获取_文件_内容 | 存储库 | 获取存储库中文件的内容 |
| create_repo | 存储库 | 创建存储库(用户、组织或企业) |
| fork存储 | 存储库 | 分叉存储库 |
| 创建_租赁 | 存储库 | 为存储库创建版本 |
| list_releases | 存储库 | 列出存储库版本 |
| 搜索_支出_来源_库存 | 仓库 | 在Gitee上搜索开源仓库 |
| 搜索文件_按内容 | 存储库 | 按存储库中的内容搜索文件 |
| compare_branches_tags | 存储库 | 比较存储库中的两个分支、标签或提交 |
| list_repo_pulls | Pull Request | 在存储库中列出拉取请求 |
| 合并拉取 | 拉取请求 | 合并拉取请求 |
| create_pull | 拉取请求 | 创建拉取请求 |
| update_pull | 拉取请求 | 更新拉取请求 |
| get_pull_detail | 拉取请求 | 获取拉取请求的详细信息 |
| get_diff_files | 拉取请求 | 获取拉取请求差异文件 |
| manage_pull_review | 拉取请求 | 管理拉取请求审核(批准或取消) |
| 创建注释 | 评论 | 对问题或拉取请求创建评论 |
| list_注释 | 注释 | 列出问题或拉取请求的所有注释 |
| 创建_发行 | 问题 | 创建问题 |
| update_issue | 问题 | 更新问题 |
| 获取问题详情 | 问题 | 获取存储库问题的详细信息 |
| list_repo_issues | 问题 | 列出存储库问题 |
| get_user_info | 用户 | 获取当前经过身份验证的用户信息 |
| 搜索用户 | 用户 | 搜索用户 |
| list_user_通知 | 通知 | 列出用户通知 |
贡献
我们欢迎开源社区的贡献!如果你想为这个项目做出贡献,请遵循以下准则:
- 分叉存储库。
- 为您的功能或错误修复创建一个新分支。
- 进行更改并确保代码有良好的文档记录。
- 提交一个拉取请求,明确描述您的更改。
有关更多信息,请参阅 贡献 文件。
