mcp-gitee
by: oschina
mcp-gitee is a Model Context Protocol (MCP) server implementation for Gitee. It provides a set of tools that interact with Gitee's API, allowing AI assistants to manage repository, issues, pull requests, etc.
📌Overview
Purpose: To provide a robust Model Context Protocol (MCP) server implementation for Gitee, enabling seamless interaction with Gitee's API for AI assistants.
Overview: Gitee MCP Server offers a comprehensive set of tools designed to manage repositories, issues, pull requests, and notifications within Gitee. The server allows for flexible configurations to accommodate different Gitee instances, ensuring users can tailor their experiences to fit specific needs.
Key Features:
-
Gitee Interaction: Enables users to interact with Gitee repositories, issues, and pull requests efficiently, facilitating smooth management and collaboration.
-
Configuration Flexibility: Provides a configurable API base URL and command-line options for easy setup and integration, supporting personal, organization, and enterprise operations.
Gitee MCP Server
Gitee MCP Server is a Model Context Protocol (MCP) server implementation for Gitee. It provides 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 personal, organization, and enterprise operations
Installation
Prerequisites
- Go 1.23.0 or higher
- Gitee account with an access token, https://gitee.com/profile/personal_access_tokens
Building from Source
-
Clone the repository:
git clone https://gitee.com/oschina/mcp-gitee.git cd mcp-gitee
-
Build the project:
make build
Move
./bin/mcp-gitee
to your PATH environment variable
Use go install
go install gitee.com/oschina/mcp-gitee@latest
Usage
Check mcp-gitee
version:
mcp-gitee --version
MCP Hosts Configuration
Example configuration:
{
"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
orsse
, 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
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 content of a file in 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 |
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 |
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 info |
search_users | User | Search for users |
list_user_notifications | Notification | List user notifications |
Contribution
We welcome contributions from the open-source community! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure the code is documented.
- Submit a pull request with a clear description of your changes.
For more information, please refer to the CONTRIBUTING.md file.
License
This project is licensed under the MIT License. See the LICENSE file for more details.