MCP ExplorerExplorer

Gitee MCP Server

@oschinaon 10 days ago
28 MIT
FreeOfficial
Dev Tools
#gitee#mcp#repository#issues#pull requests
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.

Overview

What is Gitee MCP Server

Gitee MCP Server is an implementation of the Model Context Protocol (MCP) tailored for Gitee. It facilitates interaction with Gitee’s API, enabling AI assistants to manage repositories, issues, pull requests, and notifications, enhancing developer productivity and collaboration.

Use cases

Gitee MCP Server can be utilized for various operations such as retrieving repository issues, coding implementations based on those issues, creating and managing pull requests, commenting on issues, and closing them. It caters to personal repositories, organizational projects, and enterprise operations.

How to use

To use Gitee MCP Server, you can install it via npx or build it from source using Go. After installation, configure it with your Gitee access token and API base URL. Command-line flags and environment variables allow for further customization of the server’s settings and toolsets.

Key features

Key features of Gitee MCP Server include dynamic interaction with Gitee repositories, support for configurable API base URLs, command-line configurations, and the ability to enable or disable specific toolsets for streamlined operations. It is designed to support personal, organizational, and enterprise-level tasks efficiently.

Where to use

Gitee MCP Server is particularly useful in software development environments where Gitee is used for source code management. It’s ideal for projects involving collaboration among team members, tracking issues, managing pull requests, and automating workflows within Gitee repositories.

Content

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.

Install MCP Server

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

config example: 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>"
      }
    }
  }
}
  • 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、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 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:

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
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
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
search_users User Search for users
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:

  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.

Tools

No tools

Comments