Gitee
Gitee API integration, repository, issue, and pull request management, and more.
What can you do with Gitee?
- 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
Install
The installation steps are in the documentation below. Documentation
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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
The Remote MCP Server requires no installation and works out of the box. To run mcp-gitee locally (stdio), pick one of the options below.
Remote MCP Server (Recommended)
Add the following to the mcpServers section of your host config, replacing <your personal access token> with a token from here:
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
For per-client config file paths and formats (Claude Code, Codex, Cursor, Trae, Cline, Continue, opencode), follow the guides linked in the MCP Hosts Configuration section below.
Local (stdio)
Download Pre-built Binaries
Grab the archive for your platform (linux-amd64 / linux-arm / darwin-amd64 / darwin-arm64 / windows-amd64) from Releases, extract it, and put mcp-gitee on your PATH (on Windows the executable is mcp-gitee.exe).
Use npx
No installation needed; the pre-built binary for your platform is downloaded automatically at startup:
{
"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>"
}
}
}
}
Building from Source
Requires Go 1.23.0 or higher.
- 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
Use the Installed Executable
Once mcp-gitee is available on your PATH (via Releases, source build, or go install):
{
"mcpServers": {
"gitee": {
"command": "mcp-gitee",
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": "<your personal access token>"
}
}
}
}
Windows: the executable must include the
.exesuffix, and the path incommandshould use forward slashes/(Windows accepts them, and it avoids JSON backslash-escaping mistakes):{ "mcpServers": { "gitee": { "command": "C:/Users/<you>/bin/mcp-gitee.exe", "env": { "GITEE_ACCESS_TOKEN": "<your personal access token>" } } } }
MCP Hosts Configuration
Config examples: Click to view more application configuration
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.
Frequently asked questions
What is Gitee?
Gitee API integration, repository, issue, and pull request management, and more.
How do I install Gitee?
Follow the installation steps in its documentation, shown on this page and in its repository.
Is Gitee open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Gitee?
It is published by oschina. AI.tn lists it but does not maintain or endorse it.
From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.