A favicon of Gitee MCP Server

Gitee MCP Server

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.

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
  1. Get repository Issues get_repo_issues
  2. Implement coding & create Pull Request based on Issue details implement_issue
  3. Comment & Close Issue comment_and_close_issue

Installation(This step can be skipped directly when starting npx)

Prerequisites

  • Go 1.23.0 or higher
  • Gitee account with an access token, Go to get

Building from Source

  1. Clone the repository:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. Build the project:

    make build
    

    Move ./bin/mcp-gitee PATH env

Use go install

go install gitee.com/oschina/mcp-gitee@latest

Usage

Check mcp-gitee version:

mcp-gitee --version

MCP Hosts Configuration

image image image image image

config example: Click to view more application configuration

  • npx
{
  "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>"
      }
    }
  }
}
  • executable
{
  "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 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_ACCESS_TOKEN: Gitee access token
  • GITEE_API_BASE: Gitee API base URL
  • ENABLED_TOOLSETS: Comma-separated list of tools to enable
  • DISABLED_TOOLSETS: Comma-separated list of tools to disable

Toolset Management

Toolset management supports two modes:

  1. Enable specified tools (whitelist mode):

    • Use --enabled-toolsets parameter or ENABLED_TOOLSETS environment variable
    • Specify after, only listed tools will be enabled, others will be disabled
    • Example: --enabled-toolsets="list_user_repos,get_file_content"
  2. Disable specified tools (blacklist mode):

    • Use --disabled-toolsets parameter or DISABLED_TOOLSETS environment variable
    • Specify after, listed tools will be disabled, others will be enabled
    • Example: --disabled-toolsets="list_user_repos,get_file_content"

Note:

  • If both enabled-toolsets and disabled-toolsets are specified, enabled-toolsets takes precedence
  • Tool names are case-sensitive

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:

ToolCategoryDescription
list_user_reposRepositoryList user authorized repositories
get_file_contentRepositoryGet the content of a file in a repository
create_user_repoRepositoryCreate a user repository
create_org_repoRepositoryCreate an organization repository
create_enter_repoRepositoryCreate an enterprise repository
fork_repositoryRepositoryFork a repository
create_releaseRepositoryCreate a release for a repository
list_releasesRepositoryList repository releases
search_open_source_repositoriesRepositorySearch open source repositories on Gitee
list_repo_pullsPull RequestList pull requests in a repository
merge_pullPull RequestMerge a pull request
create_pullPull RequestCreate a pull request
update_pullPull RequestUpdate a pull request
get_pull_detailPull RequestGet details of a pull request
comment_pullPull RequestComment on a pull request
list_pull_commentsPull RequestList all comments for a pull request
create_issueIssueCreate an issue
update_issueIssueUpdate an issue
get_repo_issue_detailIssueGet details of a repository issue
list_repo_issuesIssueList repository issues
comment_issueIssueComment on an issue
list_issue_commentsIssueList comments on an issue
get_user_infoUserGet current authenticated user information
search_usersUserSearch for users
list_user_notificationsNotificationList user notifications

Contribution

We welcome contributions from the open-source community! If you'd like to contribute to this project, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure the code is well-documented.
  4. Submit a pull request with a clear description of your changes.

For more information, please refer to the CONTRIBUTING file.

Related topics:
Share:
Details:
  • Stars


    23
  • Forks


    4
  • Last commit


    1 day ago
  • Repository age


    2 months
  • License


    MIT
View Repository

Auto-fetched from GitHub .

MCP servers similar to Gitee MCP Server:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit