Gitee

官方

Gitee API 整合,倉庫、議題與拉取請求管理,以及更多功能。

你可以用 Gitee MCP 做什麼?

  • 搜尋開放原始碼儲存庫 — 使用 search_open_source_repositories 依關鍵字尋找公開的 Gitee 專案。
  • 列出並檢視儲存庫議題 — 使用 list_repo_issues 擷取開啟的議題,並透過 get_repo_issue_detail 取得完整詳細資訊。
  • 從議題建立拉取請求 — 使用 create_pull 開啟 PR,然後用 create_commentupdate_issue 留言並關閉相關議題。
  • 審查並合併拉取請求 — 使用 manage_pull_review 批准或取消審查,並用 merge_pull 進行合併。
  • 管理儲存庫檔案與發行版本 — 透過 get_file_content 讀取檔案內容,使用 search_files_by_content 搜尋程式碼,並用 create_release 發布發行版本。
  • 檢查通知與使用者資訊 — 使用 list_user_notifications 列出您的 Gitee 通知,並透過 get_user_info 取得已驗證使用者的詳細資訊。

文件

Gitee MCP Server

Gitee MCP Server 是一個針對 Gitee 的模型上下文協定 (Model Context Protocol, MCP) 伺服器實作。它提供了一組與 Gitee API 互動的工具,讓 AI 助理能夠管理儲存庫、議題、拉取請求等。

Install MCP Server

功能特色

  • 與 Gitee 儲存庫、議題、拉取請求及通知互動
  • 可設定的 API 基礎 URL,支援不同的 Gitee 實例
  • 命令列旗標,方便進行設定
  • 支援個人、組織及企業操作
  • 動態工具集啟用/停用
實用場景:從儲存庫取得議題,實作並建立拉取請求
  1. 取得儲存庫議題 get_repo_issues
  2. 根據議題詳情實作程式碼並建立拉取請求 implement_issue
  3. 留言並關閉議題 comment_and_close_issue

安裝(使用 npx 啟動時可直接跳過此步驟)

先決條件

  • Go 1.23.0 或更高版本
  • 具有存取權杖的 Gitee 帳戶,前往取得

從原始碼建置

  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 版本:

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 基礎 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儲存庫複刻儲存庫
create_release儲存庫為儲存庫建立發行版本
list_releases儲存庫列出儲存庫發行版本
search_open_source_repositories儲存庫搜尋 Gitee 上的開源儲存庫
search_files_by_content儲存庫在儲存庫中依內容搜尋檔案
compare_branches_tags儲存庫比較儲存庫中的兩個分支、標籤或提交
list_repo_pulls拉取請求列出儲存庫中的拉取請求
merge_pull拉取請求合併拉取請求
create_pull拉取請求建立拉取請求
update_pull拉取請求更新拉取請求
get_pull_detail拉取請求取得拉取請求詳情
get_diff_files拉取請求取得拉取請求的差異檔案
manage_pull_review拉取請求管理拉取請求審查(核准或取消)
create_comment留言在議題或拉取請求上建立留言
list_comments留言列出議題或拉取請求的所有留言
create_issue議題建立議題
update_issue議題更新議題
get_repo_issue_detail議題取得儲存庫議題詳情
list_repo_issues議題列出儲存庫議題
get_user_info使用者取得目前已驗證的使用者資訊
search_users使用者搜尋使用者
list_user_notifications通知列出使用者通知

貢獻

我們歡迎開源社群的貢獻!如果您想為本專案做出貢獻,請遵循以下指引:

  1. 複刻儲存庫。
  2. 為您的功能或錯誤修正建立一個新分支。
  3. 進行您的變更,並確保程式碼有良好的文件說明。
  4. 提交一個拉取請求,並附上您所做變更的清晰說明。

如需更多資訊,請參閱 CONTRIBUTING 檔案。