Gitee Mcp 伺服器
概覽
什麼是 mcp-gitee?
mcp-gitee 是一個專門為 Gitee 設計的模型上下文協議(MCP)伺服器實現。它作為開發者和 AI 助手與 Gitee API 之間的橋樑。這個工具集使用戶能夠管理倉庫、問題、拉取請求等,提升在 Gitee 生態系統中的生產力和協作。
mcp-gitee 的特點
- API 整合:mcp-gitee 提供與 Gitee API 的強大整合,允許高效管理倉庫及其內容。
- AI 助手兼容性:設計用於與 AI 助手協作,簡化問題追蹤和拉取請求管理等任務。
- 用戶友好的介面:介面設計直觀,使各種技能水平的開發者都能輕鬆使用其功能。
- 開源:作為一個公共倉庫,mcp-gitee 開放供貢獻,允許開發者增強其功能和特性。
- 授權:它根據 MIT 授權分發,促進自由使用、修改和分發軟體。
如何使用 mcp-gitee
- 安裝:首先從 GitHub 將倉庫克隆到本地機器。
git clone https://github.com/oschina/mcp-gitee.git
- 設置:按照倉庫 README 文件中提供的設置說明配置伺服器。
- API 訪問:利用提供的 API 端點與 Gitee 互動。您可以以編程方式管理倉庫、問題和拉取請求。
- 與 AI 整合:將您的 AI 助手連接,以利用 mcp-gitee 的功能自動管理您的 Gitee 項目。
常見問題
mcp-gitee 的目的是什么?
mcp-gitee 的設計目的是促進與 Gitee API 的互動,通過 AI 助手高效管理倉庫及相關任務。
mcp-gitee 是免費使用的嗎?
是的,mcp-gitee 是一個開源項目,根據 MIT 授權進行授權,免費使用和修改。
我該如何貢獻 mcp-gitee?
您可以通過分叉倉庫、進行更改並提交拉取請求來貢獻。請確保遵循倉庫中列出的貢獻指南。
我可以在哪裡找到 mcp-gitee 的文檔?
文檔通常包含在倉庫的 README 文件中。您還可以查看倉庫中的其他資源或維基部分以獲取更詳細的指導。
我可以將 mcp-gitee 用於商業目的嗎?
是的,由於它根據 MIT 授權進行授權,您可以自由地將其用於商業目的,只要遵守授權條款即可。
詳細
Gitee MCP Server
Gitee MCP Server is a Model Context Protocol (MCP) server implementation for Gitee. It provides a set of tools for interacting with Gitee's API, allowing AI assistants to manage repositories, issues, pull requests, and more.
Features
- Interact with Gitee repositories, issues, pull requests, and notifications
- Configurable API base URL to support different Gitee instances
- Command-line flags for easy configuration
- Supports both personal, organization, and enterprise operations
- Dynamic toolset enable/disable
- Get repository Issues
- Implement coding & create Pull Request based on Issue details
- Comment & Close Issue
Installation(This step can be skipped directly when starting npx)
Prerequisites
- Go 1.23.0 or higher
- Gitee account with an access token, Go to get
Building from Source
-
Clone the repository:
git clone https://gitee.com/oschina/mcp-gitee.git cd mcp-gitee
-
Build the project:
make build
Move ./bin/mcp-gitee PATH env
Use go install
go install gitee.com/oschina/mcp-gitee@latest
Usage
Check mcp-gitee version:
mcp-gitee --version
MCP Hosts Configuration
<div align="center"> <a href="docs/install/claude.md" title="Claude"><img src="docs/install/logos/Claude.png" width=80 height=80></a> <a href="docs/install/cursor.md" title="Cursor"><img src="docs/install/logos/Cursor.png" width=80 height=80></a> <a href="docs/install/trae.md" title="Trae"><img src="docs/install/logos/Trae.png" width=80 height=80></a> <a href="docs/install/cline.md" title="Cline"><img src="docs/install/logos/Cline.png" width=80 height=80></a> <a href="docs/install/windsurf.md" title="Windsurf"><img src="docs/install/logos/Windsurf.png" width=80 height=80></a> </div>config example: Click to view more application configuration
- Connect to the official remote mcp-gitee server (no installation required)
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
- 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>"
}
}
}
}
- executable
{
"mcpServers": {
"gitee": {
"command": "mcp-gitee",
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": "<your personal access token>"
}
}
}
}
Command-line Options
--token
: Gitee access token--api-base
: Gitee API base URL (default: https://gitee.com/api/v5)--version
: Show version information--transport
: Transport type (stdio、sse or http, default: stdio)--address
: The host and port to start the server on (default: localhost:8000)--enabled-toolsets
: Comma-separated list of tools to enable (if specified, only these tools will be enabled)--disabled-toolsets
: Comma-separated list of tools to disable
Environment Variables
You can also configure the server using environment variables:
GITEE_ACCESS_TOKEN
: Gitee access tokenGITEE_API_BASE
: Gitee API base URLENABLED_TOOLSETS
: Comma-separated list of tools to enableDISABLED_TOOLSETS
: Comma-separated list of tools to disable
Toolset Management
Toolset management supports two modes:
-
Enable specified tools (whitelist mode):
- Use
--enabled-toolsets
parameter orENABLED_TOOLSETS
environment variable - Specify after, only listed tools will be enabled, others will be disabled
- Example:
--enabled-toolsets="list_user_repos,get_file_content"
- Use
-
Disable specified tools (blacklist mode):
- Use
--disabled-toolsets
parameter orDISABLED_TOOLSETS
environment variable - Specify after, listed tools will be disabled, others will be enabled
- Example:
--disabled-toolsets="list_user_repos,get_file_content"
- Use
Note:
- If both
enabled-toolsets
anddisabled-toolsets
are specified,enabled-toolsets
takes precedence - Tool names are case-sensitive
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Available Tools
The server provides various tools for interacting with Gitee:
Tool | Category | Description |
---|---|---|
list_user_repos | Repository | List user authorized repositories |
get_file_content | Repository | Get the content of a file in a repository |
create_user_repo | Repository | Create a user repository |
create_org_repo | Repository | Create an organization repository |
create_enter_repo | Repository | Create an enterprise repository |
fork_repository | Repository | Fork a repository |
create_release | Repository | Create a release for a repository |
list_releases | Repository | List repository releases |
search_open_source_repositories | Repository | Search open source repositories on Gitee |
list_repo_pulls | Pull Request | List pull requests in a repository |
merge_pull | Pull Request | Merge a pull request |
create_pull | Pull Request | Create a pull request |
update_pull | Pull Request | Update a pull request |
get_pull_detail | Pull Request | Get details of a pull request |
comment_pull | Pull Request | Comment on a pull request |
list_pull_comments | Pull Request | List all comments for a pull request |
get_diff_files | Pull Request | Get a pull request diff files |
create_issue | Issue | Create an issue |
update_issue | Issue | Update an issue |
get_repo_issue_detail | Issue | Get details of a repository issue |
list_repo_issues | Issue | List repository issues |
comment_issue | Issue | Comment on an issue |
list_issue_comments | Issue | List comments on an issue |
get_user_info | User | Get current authenticated user information |
search_users | User | Search for users |
list_user_notifications | Notification | List user notifications |
Contribution
We welcome contributions from the open-source community! If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure the code is well-documented.
- Submit a pull request with a clear description of your changes.
For more information, please refer to the CONTRIBUTING file.
伺服器配置
{
"mcpServers": {
"mcp-gitee": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--oschina--mcp-gitee--mcp-gitee",
"./out"
],
"env": {
"GITEE_API_BASE": "gitee-api-base",
"GITEE_ACCESS_TOKEN": "gitee-access-token"
}
}
}
}