Skip to content

normal-coder/gitee-mcp-server

Repository files navigation

Gitee MCP Server

Let AI operate Gitee repositories/Issues/Pull Requests for you through MCP

Node Version NPM Version Docker Pulls Docker Image Version LICENSE smithery badge


Supported AI Operations

Category MCP Tool Description
Repository Operations create_repository Create a Gitee repository
fork_repository Fork a Gitee repository
Branch Operations create_branch Create a new branch in a Gitee repository
list_branches List branches in a Gitee repository
get_branch Get details of a specific branch in a Gitee repository
File Operations get_file_contents Get contents of a file or directory in a Gitee repository
create_or_update_file Create or update a file in a Gitee repository
push_files Push multiple files to a Gitee repository
Issue Operations create_issue Create an Issue in a Gitee repository
list_issues List Issues in a Gitee repository
get_issue Get details of a specific Issue in a Gitee repository
update_issue Update an Issue in a Gitee repository
add_issue_comment Add a comment to an Issue in a Gitee repository
Pull Request Operations create_pull_request Create a Pull Request in a Gitee repository
list_pull_requests List Pull Requests in a Gitee repository
get_pull_request Get details of a specific Pull Request in a Gitee repository
update_pull_request Update a Pull Request in a Gitee repository
merge_pull_request Merge a Pull Request in a Gitee repository
User Operations get_user Get Gitee user information
get_current_user Get authenticated Gitee user information

Usage

Installing via Smithery

To install Gitee MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @normal-coder/gitee-mcp-server --client claude

Configuration

  • GITEE_API_BASE_URL: Optional, Gitee OpenAPI Endpoint, default is https://gitee.com/api/v5
  • GITEE_PERSONAL_ACCESS_TOKEN: Required, Gitee account personal access token (PAT), can be obtained from Gitee account settings Personal Access Tokens
  • DEBUG: Optional, set to true to enable debug logging, default is disabled

Run MCP Server via NPX

{
  "mcpServers": {
    "Gitee": {
      "command": "npx",
      "args": [
        "-y",
        "gitee-mcp-server"
      ],
      "env": {
        "GITEE_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Run MCP Server via Docker Container

  1. Get Docker Image
# Get from DockerHub
docker pull normalcoder/gitee-mcp-server

# Build locally
docker build -t normalcoder/gitee-mcp-server .
  1. Configure MCP Server
{
  "mcpServers": {
    "Gitee": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITEE_PERSONAL_ACCESS_TOKEN",
        "normalcoder/gitee-mcp-server"
      ],
      "env": {
        "GITEE_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Development Guide

Install Dependencies

npm install

Build

npm run build

After successful build, /dist will contain the runnable MCP server.

Run Server

npm start

The MCP server will run on stdio, allowing it to be used as a subprocess by MCP clients.

Build Docker Image

You can also run the server using Docker:

docker build -t normalcoder/gitee-mcp-server .

Run MCP Server with Docker:

docker run -e GITEE_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> normalcoder/gitee-mcp-server

Debug MCP Server

You can use @modelcontextprotocol/inspector for debugging:

Create a .env file in the root directory for environment variables:

GITEE_API_BASE_URL=https://gitee.com/api/v5
GITEE_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN>

Run the debug tool to start the service and web debug interface:

npx @modelcontextprotocol/inspector npm run start --env-file=.env

The project includes a debug() function for printing debug information, usage:

import { debug } from './common/utils.js';

debug('Message to log');
debug('Message with data:', { key: 'value' });

Debug logs are only printed when the DEBUG environment variable is set to true.

Dependencies

  • @modelcontextprotocol/sdk: MCP SDK for server implementation
  • universal-user-agent: For generating user agent strings
  • zod: For schema validation
  • zod-to-json-schema: For converting Zod schemas to JSON schemas

License

Licensed under MIT License. You are free to use, modify and distribute the software, subject to the terms and conditions of the MIT License. For more details, see the LICENSE file in the project repository.

Related Links