基本能力
产品定位
Gitee MCP Server 旨在通过 AI 自动化操作 Gitee 平台上的各种功能,提升开发效率和协作能力。
核心功能
- 仓库操作:创建仓库、Fork 仓库
- 分支操作:创建分支、列出分支、获取分支详情
- 文件操作:获取文件内容、创建或更新文件、推送多个文件
- Issues 操作:创建 Issue、列出 Issues、获取 Issue 详情、更新 Issue、添加评论
- Pull Requests 操作:创建 Pull Request、列出 Pull Requests、获取 Pull Request 详情、更新 Pull Request、合并 Pull Request
- 用户操作:获取用户信息、获取当前认证用户信息
适用场景
- 自动化管理 Gitee 仓库
- 自动化处理 Issues 和 Pull Requests
- 提升团队协作效率
工具列表
create_repository
:创建 Gitee 仓库fork_repository
:Fork Gitee 仓库create_branch
:在 Gitee 仓库中创建新分支list_branches
:列出 Gitee 仓库中的分支get_branch
:获取 Gitee 仓库中特定分支的详情get_file_contents
:获取 Gitee 仓库中文件或目录的内容create_or_update_file
:在 Gitee 仓库中创建或更新文件push_files
:推送多个文件到 Gitee 仓库create_issue
:在 Gitee 仓库中创建 Issuelist_issues
:列出 Gitee 仓库中的 Issuesget_issue
:获取 Gitee 仓库中特定 Issue 的详情update_issue
:更新 Gitee 仓库中的 Issueadd_issue_comment
:在 Gitee 仓库中的 Issue 上添加评论create_pull_request
:在 Gitee 仓库中创建 Pull Requestlist_pull_requests
:列出 Gitee 仓库中的 Pull Requestsget_pull_request
:获取 Gitee 仓库中特定 Pull Request 的详情update_pull_request
:更新 Gitee 仓库中的 Pull Requestmerge_pull_request
:合并 Gitee 仓库中的 Pull Requestget_user
:获取 Gitee 用户信息get_current_user
:获取认证的 Gitee 用户信息
常见问题解答
- 如何获取 Gitee 个人访问令牌(PAT)?
可以从 Gitee 账户设置的 Personal Access Tokens 页面获取。 - 如何启用调试日志?
设置DEBUG
环境变量为true
即可启用调试日志。
使用教程
使用依赖
bash
npm install
安装教程
通过 Smithery 安装
bash
npx -y @smithery/cli install @normal-coder/gitee-mcp-server --client claude
通过 NPX 运行
json
{
"mcpServers": {
"Gitee": {
"command": "npx",
"args": [
"-y",
"gitee-mcp-server"
],
"env": {
"GITEE_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
通过 Docker 运行
- 获取 Docker 镜像
bash
docker pull normalcoder/gitee-mcp-server
- 配置 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>"
}
}
}
}
调试方式
- 创建
.env
文件
.env
GITEE_API_BASE_URL=https://gitee.com/api/v5
GITEE_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN>
- 运行调试工具
bash
npx @modelcontextprotocol/inspector npm run start --env-file=.env
- 使用调试函数
```typescript
import { debug } from './common/utils.js';
debug('Message to log');
debug('Message with data:', { key: 'value' });
```