
Gitee
β 61from oschina
Gitee API integration, repository, issue, and pull request management, and more.
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
Practical scenario: Obtain Issue from the repository, implement and create a Pull Request
-
Get repository Issues
-
Implement coding & create Pull Request based on Issue details
-
Comment & Close Issue
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_repo Repository Create a repository (user, org, or enterprise) 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 search_files_by_content Repository Search files by content in a repository compare_branches_tags Repository Compare two branches, tags, or commits in a repository 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 get_diff_files Pull Request Get a pull request diff files manage_pull_review Pull Request Manage a pull request review (approve or cancel) create_comment Comment Create a comment on an issue or pull request list_comments Comment List all comments for an issue or pull request 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 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.
Move ./bin/mcp-gitee PATH env
### Use go installBefore it works, you'll need: GITEE_ACCESS_TOKEN
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
Config examples: Click to view more application configuration
Remote MCP Server
Connect to the official remote mcp-gitee server (no installation required):
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer "
}
}
}
}
Codex uses ~/.codex/config.toml:
[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"
opencode uses ~/.config/opencode/opencode.json:
{
"mcp": {
"gitee": {
"type": "remote",
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer "
},
"enabled": true
}
}
}
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 token -
GITEE_API_BASE: Gitee API base URL -
ENABLED_TOOLSETS: Comma-separated list of tools to enable -
DISABLED_TOOLSETS: Comma-separated list of tools to disable
Toolset Management
Toolset management supports two modes:
Enable specified tools (whitelist mode):
-
Use
--enabled-toolsetsparameter orENABLED_TOOLSETSenvironment variable -
Specify after, only listed tools will be enabled, others will be disabled
-
Example:
--enabled-toolsets="list_user_repos,get_file_content"
Disable specified tools (blacklist mode):
-
Use
--disabled-toolsetsparameter orDISABLED_TOOLSETSenvironment variable -
Specify after, listed tools will be disabled, others will be enabled
-
Example:
--disabled-toolsets="list_user_repos,get_file_content"
Note:
-
If both
enabled-toolsetsanddisabled-toolsetsare specified,enabled-toolsetstakes precedence -
Tool names are case-sensitive
Per-Request Tool Filtering (HTTP Headers)
When using the remote MCP server (HTTP/SSE transport), you can dynamically filter available tools on a per-request basis via HTTP headers. This is useful for clients that need fine-grained control over tool exposure without restarting the server.
Enable specified tools via header (whitelist):
-
Use the
X-MCP-Enabled-Toolsheader -
Only the listed tools will be enabled for that request
-
Example:
X-MCP-Enabled-Tools: list_user_repos,get_file_content
Disable specified tools via header (blacklist):
-
Use the
X-MCP-Disabled-Toolsheader -
The listed tools will be disabled for that request
-
Example:
X-MCP-Disabled-Tools: create_repo,delete_repo
Priority rules:
-
If both
X-MCP-Enabled-ToolsandX-MCP-Disabled-Toolsare present in the same request, the whitelist (X-MCP-Enabled-Tools) takes precedence -
Tool names are case-sensitive
Example configuration for Cursor/Claude:
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer ",
"X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
}
}
}
}
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.