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.
Server配置
{
"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"
}
}
}
}