Gitee
resmiGitee 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

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 buildMove ./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 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-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"
- Use
-
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"
- Use
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
- Use the
-
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
- Use the
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 <your personal access token>",
"X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
}
}
}
}
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.
İlgili Sunucular
Gerrit Code Review
Integrates with the Gerrit code review system to review code changes and details.
Bitbucket
Manage Bitbucket repositories, pull requests, and pipelines via the Bitbucket API for both Cloud and Server.
GitLab
Manage GitLab projects, files, and repositories using the GitLab API.
MCP GitHub Project Manager
Manage GitHub projects with requirements traceability and advanced workflows.
GitHub Repository
Provides access to the contents of a GitHub repository.
Bitbucket Server MCP
Manage pull requests on Bitbucket Server.
GIT-Pilot
A powerful GitHub automation and management tool providing a comprehensive API wrapper for GitHub operations.
CData Bitbucket
A read-only MCP server for Bitbucket, enabling LLMs to query live data using the CData JDBC Driver.
GitHub Mapper
Provides tools for mapping and analyzing GitHub repositories using a Personal Access Token for authentication.
GitHub MCP Server
Integrate with GitHub APIs for automation and interaction.




