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
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
Prerequisites
- Go 1.23.0 or higher
- Gitee account with an access token, Go to get
Building from Source
-
Clone the repository:
1git clone https://gitee.com/oschina/mcp-gitee.git 2cd mcp-gitee
-
Build the project:
1make build
Move ./bin/mcp-gitee PATH env
Use go install
1go install gitee.com/oschina/mcp-gitee@latest
Usage
Check mcp-gitee version:
1mcp-gitee --version
MCP Hosts Configuration
Cursor、Windsurf config example:
1{ 2 "mcpServers": { 3 "gitee": { 4 "command": "mcp-gitee", 5 "env": { 6 "GITEE_API_BASE": "https://gitee.com/api/v5", 7 "GITEE_ACCESS_TOKEN": "<your personal access token>" 8 } 9 } 10 } 11}
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 or sse, default: stdio)-sse-address
: The host and port to start the SSE server on (default: localhost:8000)
Environment Variables
You can also configure the server using environment variables:
GITEE_ACCESS_TOKEN
: Gitee access tokenGITEE_API_BASE
: Gitee API base URL
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_user_repo | Repository | Create a user repository | | create_org_repo | Repository | Create an organization repository | | create_enter_repo | Repository | Create an enterprise repository | | create_release | Repository | Create a release for a repository | | list_releases | Repository | List repository releases | | 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 | | comment_pull | Pull Request | Comment on a pull request | | list_pull_comments | Pull Request | List all comments for a 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 | | comment_issue | Issue | Comment on an issue | | list_issue_comments | Issue | List comments on an issue | | get_user_info | User | Get current authenticated user information | | 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.