Gitee

官方

Gitee API集成,仓库、议题和拉取请求管理等功能。

你可以用 Gitee MCP 做什么?

  • 管理仓库问题 — 让您的助手使用 list_repo_issuescreate_issueupdate_issue 列出、创建或更新仓库中的问题。
  • 处理拉取请求 — 让您的助手使用 list_repo_pullscreate_pullmerge_pullmanage_pull_review 等工具列出、创建、合并或审查拉取请求。
  • 探索仓库内容 — 使用 get_file_contentcompare_branches_tagssearch_files_by_content 获取文件内容、比较分支或标签,并按内容搜索文件。
  • 管理发布和分支 — 通过 create_releaselist_releasesfork_repository 创建发布、列出现有发布或分支仓库。
  • 搜索与发现 — 使用 search_open_source_repositoriessearch_users 在 Gitee 上查找开源仓库或用户。
  • 跟踪通知 — 使用 list_user_notifications 查看您的最新通知。

文档

Gitee MCP 服务器

Gitee MCP 服务器是 Gitee 的模型上下文协议(MCP)服务器实现。它提供了一组用于与 Gitee API 交互的工具,使 AI 助手能够管理仓库、Issue、Pull Request 等。

Install MCP Server

功能特性

  • 与 Gitee 仓库、Issue、Pull Request 和通知进行交互
  • 可配置的 API 基础 URL,以支持不同的 Gitee 实例
  • 命令行参数便于配置
  • 支持个人、组织和企业操作
  • 动态启用/禁用工具集
实际场景:从仓库获取 Issue,实现代码并创建 Pull Request
  1. 获取仓库 Issue get_repo_issues
  2. 根据 Issue 详情实现编码并创建 Pull Request implement_issue
  3. 评论并关闭 Issue comment_and_close_issue

安装

远程 MCP 服务器无需安装即可直接使用。要在本地(stdio)运行 mcp-gitee,请选择以下选项之一。

远程 MCP 服务器(推荐)

将以下内容添加到主机配置的 mcpServers 部分,将 <your personal access token> 替换为从此处获取的令牌:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>"
      }
    }
  }
}

有关各客户端的配置文件路径和格式(Claude Code、Codex、Cursor、Trae、Cline、Continue、opencode),请参阅下方 MCP 主机配置部分中的指南链接。

本地(stdio)

下载预构建二进制文件

Releases 页面获取适用于您平台的压缩包(linux-amd64 / linux-arm / darwin-amd64 / darwin-arm64 / windows-amd64),解压后将 mcp-gitee 放入 PATH 环境变量中(在 Windows 上可执行文件为 mcp-gitee.exe)。

使用 npx

无需安装;启动时会自动下载适用于您平台的预构建二进制文件:

{
  "mcpServers": {
    "gitee": {
      "command": "npx",
      "args": [
        "-y",
        "@gitee/mcp-gitee@latest"
      ],
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

从源码构建

需要 Go 1.23.0 或更高版本。

  1. 克隆仓库:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. 构建项目:

    make build
    

    将 ./bin/mcp-gitee 移动到 PATH 环境变量中

使用 go install

go install gitee.com/oschina/mcp-gitee@latest

使用已安装的可执行文件

一旦 mcp-gitee 在您的 PATH 中可用(通过 Releases、源码构建或 go install):

{
  "mcpServers": {
    "gitee": {
      "command": "mcp-gitee",
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Windows:可执行文件必须包含 .exe 后缀,且 command 中的路径应使用正斜杠 /(Windows 接受正斜杠,这样可以避免 JSON 反斜杠转义错误):

{
  "mcpServers": {
    "gitee": {
      "command": "C:/Users/<you>/bin/mcp-gitee.exe",
      "env": {
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

MCP 主机配置

配置示例:点击查看更多应用配置

命令行选项

  • --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 基础 URL
  • ENABLED_TOOLSETS:要启用的工具列表(逗号分隔)
  • DISABLED_TOOLSETS:要禁用的工具列表(逗号分隔)

工具集管理

工具集管理支持两种模式:

  1. 启用指定工具(白名单模式):

    • 使用 --enabled-toolsets 参数或 ENABLED_TOOLSETS 环境变量
    • 指定后,仅列出的工具会被启用,其他工具将被禁用
    • 示例:--enabled-toolsets="list_user_repos,get_file_content"
  2. 禁用指定工具(黑名单模式):

    • 使用 --disabled-toolsets 参数或 DISABLED_TOOLSETS 环境变量
    • 指定后,列出的工具将被禁用,其他工具将被启用
    • 示例:--disabled-toolsets="list_user_repos,get_file_content"

注意:

  • 如果同时指定了 enabled-toolsetsdisabled-toolsets,则 enabled-toolsets 优先
  • 工具名称区分大小写

按请求过滤工具(HTTP 头)

使用远程 MCP 服务器(HTTP/SSE 传输)时,您可以通过 HTTP 头按请求动态过滤可用工具。这对于需要精细控制工具暴露而无需重启服务器的客户端非常有用。

  1. 通过请求头启用指定工具(白名单):

    • 使用 X-MCP-Enabled-Tools 请求头
    • 仅列出的工具会在该请求中启用
    • 示例:X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. 通过请求头禁用指定工具(黑名单):

    • 使用 X-MCP-Disabled-Tools 请求头
    • 列出的工具会在该请求中被禁用
    • 示例:X-MCP-Disabled-Tools: create_repo,delete_repo

优先级规则:

  • 如果同一请求中同时存在 X-MCP-Enabled-ToolsX-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_pullsPull Request列出仓库中的 Pull Request
merge_pullPull Request合并一个 Pull Request
create_pullPull Request创建一个 Pull Request
update_pullPull Request更新一个 Pull Request
get_pull_detailPull Request获取 Pull Request 的详细信息
get_diff_filesPull Request获取 Pull Request 的差异文件
manage_pull_reviewPull Request管理 Pull Request 审查(批准或取消)
create_comment评论在 Issue 或 Pull Request 上创建评论
list_comments评论列出 Issue 或 Pull Request 的所有评论
create_issueIssue创建一个 Issue
update_issueIssue更新一个 Issue
get_repo_issue_detailIssue获取仓库 Issue 的详细信息
list_repo_issuesIssue列出仓库的 Issue
get_user_info用户获取当前已认证用户的信息
search_users用户搜索用户
list_user_notifications通知列出用户通知

贡献

我们欢迎开源社区的贡献!如果您想为这个项目做出贡献,请遵循以下指南:

  1. Fork 该仓库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 进行修改并确保代码有良好的文档说明。
  4. 提交一个包含清晰变更描述的 Pull Request。

有关更多信息,请参阅 CONTRIBUTING 文件。