Gitee Mcp Server
mcp-gitee is a Model Context Protocol (MCP) server implementation for Gitee. It provides a set of tools that interact with Gitee's API, allowing AI assistants to manage repositories, issues, pull requests, etc.
Overview
What is mcp-gitee?
mcp-gitee is a Model Context Protocol (MCP) server implementation specifically designed for Gitee. It serves as a bridge for developers and AI assistants to interact seamlessly with Gitee's API. This toolset allows users to manage repositories, issues, pull requests, and more, enhancing productivity and collaboration within the Gitee ecosystem.
Features of mcp-gitee
- API Integration: mcp-gitee provides robust integration with Gitee's API, allowing for efficient management of repositories and their contents.
- AI Assistant Compatibility: Designed to work with AI assistants, it streamlines tasks such as issue tracking and pull request management.
- User-Friendly Interface: The interface is designed to be intuitive, making it easy for developers of all skill levels to utilize its features.
- Open Source: Being a public repository, mcp-gitee is open for contributions, allowing developers to enhance its functionality and features.
- License: It is distributed under the MIT license, promoting freedom to use, modify, and distribute the software.
How to Use mcp-gitee
- Installation: Begin by cloning the repository from GitHub to your local machine.
git clone https://github.com/oschina/mcp-gitee.git
- Setup: Follow the setup instructions provided in the repository's README file to configure the server.
- API Access: Utilize the provided API endpoints to interact with Gitee. You can manage repositories, issues, and pull requests programmatically.
- Integration with AI: Connect your AI assistant to leverage the capabilities of mcp-gitee for automated management of your Gitee projects.
Frequently Asked Questions
What is the purpose of mcp-gitee?
mcp-gitee is designed to facilitate interaction with Gitee's API, allowing for efficient management of repositories and related tasks through AI assistants.
Is mcp-gitee free to use?
Yes, mcp-gitee is an open-source project licensed under the MIT license, making it free to use and modify.
How can I contribute to mcp-gitee?
You can contribute by forking the repository, making your changes, and submitting a pull request. Ensure to follow the contribution guidelines outlined in the repository.
Where can I find documentation for mcp-gitee?
Documentation is typically included in the repository's README file. You can also check for additional resources or a wiki section within the repository for more detailed guidance.
Can I use mcp-gitee for commercial purposes?
Yes, since it is licensed under the MIT license, you are free to use it for commercial purposes as long as you comply with the license terms.
Details
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 Config
{
"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"
}
}
}
}