Gitee
by normal-coder
Verified
# Gitee MCP Server
Let AI operate Gitee repositories/Issues/Pull Requests for you through MCP
[](./LICENSE)
[](./package.json)



[<img width="380" height="200" src="https://glama.ai/mcp/servers/cck9xigm1d/badge" />](https://glama.ai/mcp/servers/Cck9XigM1d)
---
## 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
### 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](https://gitee.com/profile/personal_access_tokens)
### Run MCP Server via NPX
```json
{
"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
```bash
# Get from DockerHub
docker pull normalcoder/gitee-mcp-server
# Build locally
docker build -t normalcoder/gitee-mcp-server .
```
2. Configure MCP Server
```json
{
"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
```bash
npm install
```
### Build
```bash
npm run build
```
After successful build, `/dist` will contain the runnable MCP server.
### Run Server
```bash
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:
```bash
docker build -t normalcoder/gitee-mcp-server .
```
Run MCP Server with Docker:
```bash
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:
```.env
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:
```bash
npx @modelcontextprotocol/inspector npm run start --env-file=.env
```
The project includes a `debug()` function for printing debug information, usage:
```typescript
import { debug } from './common/utils.js';
debug('Message to log');
debug('Message with data:', { key: 'value' });
```
## 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](./LICENSE) file in the project repository.
## Related Links
- [Model Context Protocol](https://modelcontextprotocol.io)
- [Gitee](https://gitee.com)