mcp-gitee-ent
Gitee Enterprise MCP Server is a Model Context Protocol server designed for Gitee Enterprise users to manage resource-intensive tasks such as repositories, issues, and pull requests. It provides configurable options with support for enterprise-level operations.
Gitee Enterprise MCP Server
Gitee Enterprise MCP Server is a Model Context Protocol (MCP) server implementation for Gitee Enterprise. It provides a set of tools for interacting with Gitee Enterprise API, allowing AI assistants to manage enterprise repositories, issues, pull requests, and more.
Features
- Interact with Gitee Enterprise repositories, issues, pull requests
- Support for enterprise-level operations and management
- Configurable API base URL to support different Gitee Enterprise instances
- Support for SSE and Stdio transport
- Dynamic toolset enable/disable
Scenario Example
- Get specific enterprise issues
- Improve the issue content
- Divide subtasks
- Create PR/Review PR
Installation(This step can be skipped directly when starting npx)
Prerequisites
- Go 1.23.0 or higher
- MCP token, Go to get
Building from Source
-
Clone the repository:
git clone https://gitee.com/oschina/mcp-gitee-ent.git cd mcp-gitee-ent
-
Build the project:
make build
Move ./bin/mcp-gitee-ent PATH env
Use go install
go install gitee.com/oschina/mcp-gitee-ent@latest
Usage
Check mcp-gitee-ent version:
mcp-gitee-ent --version
MCP Hosts Configuration
Config example:
- npx
{
"mcpServers": {
"gitee-ent": {
"command": "npx",
"args": [
"-y",
"@gitee/mcp-gitee-ent@latest"
],
"env": {
"GITEE_ENT_API_BASE": "https://api.gitee.com/enterprises",
"GITEE_ENT_MCP_ACCESS_TOKEN": "<your mcp ent access token>"
}
}
}
}
- executable
{
"mcpServers": {
"gitee-ent": {
"command": "mcp-gitee-ent",
"env": {
"GITEE_ENT_API_BASE": "https://api.gitee.com/enterprises",
"GITEE_ENT_MCP_ACCESS_TOKEN": "<your mcp ent access token>",
}
}
}
}
Command-line Options
--token
: access token--api-base
: Gitee Ent API base URL (default: https://api.gitee.com/enterprises)--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)--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_ENT_MCP_ACCESS_TOKEN
: Gitee MCP ent access tokenGITEE_ENT_API_BASE
: Gitee ENT 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-toolsets
parameter orENABLED_TOOLSETS
environment variable - Specify after, only listed tools will be enabled, others will be disabled
- Example:
--enabled-toolsets="update_enterprise_issue,list_enterprise_repositories"
- Use
-
Disable specified tools (blacklist mode):
- Use
--disabled-toolsets
parameter orDISABLED_TOOLSETS
environment variable - Specify after, listed tools will be disabled, others will be enabled
- Example:
--disabled-toolsets="update_enterprise_issue,list_enterprise_repositories"
- Use
Note:
- If both
enabled-toolsets
anddisabled-toolsets
are specified,enabled-toolsets
takes precedence - Tool names are case-sensitive
Available Tools
The server provides various tools for interacting with Gitee Enterprise:
Tool | Category | Description |
---|---|---|
list_enterprises | Enterprise | List user's enterprises |
list_enterprise_repositories | Repository | List repositories in an enterprise |
create_enterprise_repository | Repository | Create a repository in an enterprise |
create_enterprise_repo_release | Repository | Create a release for repository |
list_enterprise_repo_releases | Repository | List releases for repository |
get_enterprise_repository_file_content | Repository | Get the content of a specific file in the repository |
get_enterprise_repo_tree | Repository | Get the tree structure of a repository |
list_enterprise_pulls | Pull Request | List enterprise pull requests |
create_enterprise_repo_pull | Pull Request | Create a pull request for repository |
merge_enterprise_pull | Pull Request | Merge a pull request |
get_enterprise_pull_detail | Pull Request | Get pull request detail |
update_enterprise_pull | Pull Request | Update a pull request |
get_enterprise_pull_diff | Pull Request | Get pull request diff |
comment_enterprise_pull | Pull Request | Comment on a pull request |
list_enterprise_pull_comments | Pull Request | List pull request comments |
create_enterprise_issue | Issue | Create an issue |
update_enterprise_issue | Issue | Update an issue |
get_enterprise_issue_detail | Issue | Get issue detail |
list_enterprise_issues | Issue | List issues |
comment_enterprise_issue | Issue | Comment on an issue |
list_enterprise_issue_comments | Issue | List issue comments |
get_user_info | User | Get user info |
list_enterprise_members | Member | List members of an enterprise |
list_enterprise_groups | Group | List groups in an enterprise |
list_enterprise_labels | Label | List labels of an enterprise |
list_programs | Program | List programs of an enterprise |
list_scrum_sprints | Program | List Scrum Sprints |
create_scrum_sprint | Program | Create a Scrum Sprint |
list_scrum_versions | Program | List Scrum Versions |
list_issue_types | Issue Type | List issue types |
list_issue_type_states | Issue State | List issue states |
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 file.