# Gitee MCP Server > 让任意 AI 模型用自然语言管理 Gitee 仓库的 MCP Server。 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![npm version](https://img.shields.io/npm/v/gitee-mcp.svg)](https://www.npmjs.com/package/gitee-mcp) [![Glama](https://glama.ai/mcp/servers/PaulSeth/gitee-mcp-server/badge)](https://glama.ai/mcp/servers/PaulSeth/gitee-mcp-server) 一句话就能替你管 Gitee:**"social-media-bot-cn-generic 现在多少 star?"** **"给这几个 issue 打上 bug 标签"** **"基于最近 commit 帮我生成一份中文 CHANGELOG 贴进 README"**。 本 Server 是 **MCP(Model Context Protocol)** 标准实现,可接入任何支持 MCP 的 AI 客户端(WorkBuddy / Claude Desktop / Cursor / 任意 Agent 框架)。 --- ## ✨ 功能(v1) | 工具 | 作用 | |------|------| | `get_repo_stats` | 仓库统计:star / fork / watch / 开放 issue 数 | | `list_stargazers` | 列出点 star 的用户(⚠️ 需 PAT) | | `list_issues` | 列出 Issue,支持按状态/标签过滤 | | `create_issue` | 新建 Issue(收需求/建任务) | | `update_issue` | 更新 Issue 状态/标签(自动打标签/关单) | | `generate_changelog` | **基于 commit 生成中文 CHANGELOG**(Gitee 无原生 API,靠 commits 组合拼出) | **资源**:`gitee://repo/{owner}/{repo}` —— 返回仓库统计 + 最近 5 条 commit 快照,AI 可直接读取。 --- ## 🚀 快速开始 ### 方式一:npx 直接运行(推荐,无需克隆) ```bash npx -y gitee-mcp ``` > 首次运行会自动下载;默认 Mock 模式,无需 token 即可演示。 ### 方式二:源码运行 ```bash git clone https://gitee.com/jokerbhind/gitee-mcp-server.git cd gitee-mcp-server npm install npm run build npm start # 默认 Mock 模式,无需 token 即可演示 ``` ### 接 WorkBuddy / Claude Desktop 在 `~/.workbuddy/mcp.json`(或对应 MCP 配置)中加入: ```json { "mcpServers": { "gitee-mcp-server": { "command": "npx", "args": ["-y", "gitee-mcp"] } } } ``` 或使用本地构建产物(`command` 用绝对路径的 node,避免客户端不继承 PATH): ```json { "mcpServers": { "gitee-mcp-server": { "command": "C:/绝对路径/node.exe", "args": ["H:/绝对路径/gitee-mcp-server/build/index.js"] } } } ``` --- ## 🔑 真实模式(Real) 复制 `.env.example` 为 `.env` 并填入 Gitee 私人令牌: ```bash cp .env.example .env # 编辑 .env:填入 GITEE_ACCESS_TOKEN ``` | 变量 | 说明 | |------|------| | `GITEE_ACCESS_TOKEN` | Gitee 私人令牌(设置 → 私人令牌,勾选 **projects** 权限)。**stargazers/subscribers 接口强制鉴权**,无 token 会 401 | | `GITEE_MODE` | 留空=自动判定;`mock`=强制演示;`real`=强制真实(缺 token 自动回退 mock 并告警) | Server 会自动从**项目根目录的 `.env`** 读取(无需设置 cwd),填好 token 后即自动切 Real 模式。 --- ## 🐶 Dogfood 示例 本项目本身就用 `generate_changelog` 给 `jokerbhind/social-media-bot-cn-generic` 生成 CHANGELOG。真实 commit 输出示例: ```markdown ## CHANGELOG · jokerbhind/social-media-bot-cn-generic > 基于最近 1 条 commit 自动生成(Gitee MCP Server) ### ✨ 新功能 - feat: 社媒客服 Bot 泛用版 Starter Kit _by PaulSeth(2026-09-03)_ ``` > 这就是「gap filler」的溢价逻辑:Gitee 官方没有 CHANGELOG API,本 Server 用现成的 `/commits` 组合出人人想要的能力。 --- ## 🧩 架构 ``` AI 模型 ←→ MCP(STDIO) ←→ GiteeMcpServer │ GiteeService(Mock/Real 双模式路由) ├─ mock.ts 本地快照(无凭证可演示) └─ api.ts Gitee API v5(填 token 后生效) ``` Mock 模式让公开仓库也能 `npm start` 直接演示、被 Glama 自动收录,且不泄露任何凭证。 --- ## 📦 发布与收录 | 目标 | 状态 | 做法 | |------|------|------| | **Gitee 公开仓** | ✅ 已上线 | https://gitee.com/jokerbhind/gitee-mcp-server | | **GitHub 镜像仓** | ✅ 已上线 | https://github.com/PaulSeth/gitee-mcp-server | | **npm** | ✅ 已发布 v0.1.0 | https://www.npmjs.com/package/gitee-mcp | | **Glama** | ✅ 已提交并通过构建检查 | 提交 GitHub 镜像仓 URL 后由 Glama 自动生成镜像跑安全/质量检查 | | **MCP Registry** | ⏳ 待发布 | `mcp-publisher login github` + `mcp-publisher publish`(读仓库根 `server.json`) | > 本项目的 `CHANGELOG.md` 由 **本 Server 的 `generate_changelog` 工具自己生成**(dogfood)。 > Glama 索引的是 **GitHub** 仓库,故需先将本仓库镜像到 GitHub 再提交。 --- ## 🗺️ Roadmap(Phase 2,按需再做) - `comment_on_issue/pr`:AI 自动回复 - `webhook_auto_label`:监听 Webhook 自动打标签 - `gitee_to_github_mirror`:Gitee↔GitHub 双平台镜像 - `list_pulls` / `merge_pull`:PR 管理 - `create_release`:基于 CHANGELOG 自动发版 --- ## 📄 License [MIT](LICENSE) © 2026 Paul (Gitee: jokerbhind / GitHub: PaulSeth)