Are you the author? Sign in to claim
mcp-gitee is a Model Context Protocol (MCP) server implementation for Gitee. It provides a set of tools that interact wi
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.



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
go install gitee.com/oschina/mcp-gitee@latest
Check mcp-gitee version:
mcp-gitee --version
Config examples: 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>"
}
}
}
}
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 <your personal access token>"
},
"enabled": true
}
}
}
--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 disableYou 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 disableToolset management supports two modes:
Enable specified tools (whitelist mode):
--enabled-toolsets parameter or ENABLED_TOOLSETS environment variable--enabled-toolsets="list_user_repos,get_file_content"Disable specified tools (blacklist mode):
--disabled-toolsets parameter or DISABLED_TOOLSETS environment variable--disabled-toolsets="list_user_repos,get_file_content"Note:
enabled-toolsets and disabled-toolsets are specified, enabled-toolsets takes precedenceWhen 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):
X-MCP-Enabled-Tools headerX-MCP-Enabled-Tools: list_user_repos,get_file_contentDisable specified tools via header (blacklist):
X-MCP-Disabled-Tools headerX-MCP-Disabled-Tools: create_repo,delete_repoPriority rules:
X-MCP-Enabled-Tools and X-MCP-Disabled-Tools are present in the same request, the whitelist (X-MCP-Enabled-Tools) takes precedenceExample 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"
}
}
}
}
This project is licensed under the MIT License. See the LICENSE file for more details.
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 |
We welcome contributions from the open-source community! If you'd like to contribute to this project, please follow these guidelines:
For more information, please refer to the CONTRIBUTING file.
40+ tools for querying dashboards, alerts, datasources, and logs in Grafana
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases