Gitee
oficialGitee 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.
Servidores relacionados
GitViz
Visualize Git history and commit logs with animations, making Git operations intuitive and easy to understand.
SVN MCP Server
An MCP server for integrating with and managing Subversion (SVN) repositories, enabling AI agents to perform version control tasks.
Git Analytics
Provides detailed analytics and insights for Git repositories.
Total-pc-control
can control your whole computer keyboard, mouse , clicpboard, screenshot tools everything
Github MCP Server
Integrates with GitHub, allowing LLMs to interact with repositories, issues, and pull requests via the GitHub API.
GitHub Repo MCP
Browse GitHub repositories, explore directories, and view file contents.
Selvedge
Change tracking for AI-era codebases — captures the why behind every change as the agent makes it.
Git Mob
Integrates with the git-mob CLI to manage Git co-authors.
Forgejo MCP Server
Manage Forgejo repositories and execute commands through an MCP-compatible chat interface.
Git MCP Server (Go)
An MCP server for interacting with and automating Git repositories using Large Language Models.




