git-mcp
Provides incremental code storage and GitHub synchronization with 18 tools for repository management, development workflow, version release, audit, test server sync, and code quality checks.
README
Git MCP — 代码管理服务
Skill(工作流规范)+ MCP(增量存储 + GitHub 同步)双层架构
这是什么
所有 OpenClaw agent 和测试服务器的代码统一管理入口:
- Skill — 教 agent 什么时候该 push、pull、sync,怎么写 commit message
- git-mcp — 增量存储所有代码变更,需要时再推 GitHub,绝不覆盖
核心设计
agent push 代码 → git-mcp 本地增量存储(永不覆盖) ──→ git_sync → GitHub
测试服务器代码 → repo_sync(rsync) → git-mcp 本地 → 算 SHA → code-review
三个关键点:
- 增量不覆盖 — 每次 push 是一个独立的 commit,MCP 本地有完整历史
- GitHub 推送是单独操作 —
git_sync你决定什么时候推,不会意外覆盖 - SHA 溯源 — 代码审查报告标 snapshot_sha,机械审计、人工审核、安全检查看同一版代码
文件结构
skills/git-operations/
└── SKILL.md # Skill 主文档
mcp/git-mcp/
├── src/
│ ├── server.ts # Express HTTP 服务器
│ ├── config.ts # 配置管理
│ ├── db.ts # SQLite 数据库(仓库/版本/审计/同步状态)
│ └── tools/
│ └── gitOps.ts # 全部 18 个工具实现(单文件)
├── package.json
├── tsconfig.json
└── git-mcp.service # systemd 配置
工具清单(18 个)
仓库管理
| 工具 | 说明 |
|---|---|
repo_register |
注册代码库(名称、GitHub URL、描述) |
repo_list |
搜索/列出所有仓库 |
repo_info |
仓库详情 + 最新版本 + 未同步 commits 数 |
git_create_repo |
在 GitHub 上创建新仓库 + 自动注册 |
日常开发
| 场景 | 流程 |
|---|---|
| 改代码并推送 | git_pull → git_status → repo_check → git_push → git_sync |
| 查看状态 | git_status(分支、改动文件、未同步数量) |
| 切换分支 | git_checkout(有未提交改动时拒绝) |
| 提交历史 | git_log |
版本发布
| 工具 | 说明 |
|---|---|
git_create_tag |
创建版本标签(如 v1.2.0) |
git_tags |
列出所有版本标签 |
git_sync |
推送本地 commits 到 GitHub(可选同步打 tag) |
审计追踪
| 工具 | 说明 |
|---|---|
git_audit |
谁什么时候 push/pull/clone/checkout 了什么 |
git_sync_status |
哪些仓库有未推送到 GitHub 的 commits |
测试服务器代码同步
| 工具 | 说明 |
|---|---|
repo_sync |
rsync 从测试服务器拉代码到 MCP(排除 node_modules/.git/venv),返回 SHA |
repo_snapshot |
获取当前代码 SHA,不重新同步(供 code-review 溯源用) |
代码质量门禁
| 工具 | 说明 |
|---|---|
repo_check |
build + lint + guardFiles + 合约 program_id 验证,push 前强制执行 |
部署
cd mcp/git-mcp
pnpm install && pnpm build
# 数据库自动创建在 ~/.git-mcp/data.db
# 仓库代码存储在 ~/repos/ (或配置的 repoBasePath)
# GitHub token(推送需要)
export GIT_TOKEN=ghp_xxxxxxxxxxxx
mkdir -p ~/.git-mcp
cat > ~/.git-mcp/config.json << 'EOF'
{
"port": 3082, "host": "127.0.0.1",
"repoBasePath": "/home/ubuntu/repos",
"dbPath": "/home/ubuntu/.git-mcp/data.db",
"githubOrg": "sftgroup"
}
EOF
sudo cp git-mcp.service /etc/systemd/system/
sudo systemctl enable --now git-mcp
curl http://127.0.0.1:3080/health
前置要求: Node.js 22+、pnpm、Git、SSH 密钥(repo_sync 需要免密登录测试服务器)
Skill 安装
openclaw skills install git:sftgroup/agent@master#skills/git-operations --as git-operations
数据库
SQLite 单文件,3 张表:
| 表 | 字段 |
|---|---|
repositories |
name, github_url, local_path, default_branch, guard_config |
versions |
repo_id, tag, commit_sha, created_at |
audit_log |
repo_id, action, branch, commit_sha, message, status |
sync_log |
repo_id, commit_sha, status(pending/synced), synced_at |
与 code-review-mcp 协作
1. repo_sync("team3", "43.156.50.6", "/path") → sha: abc123
2. code-review-mcp review_all("/opt/mcp/repos/team3", "all")
3. 报告标注 snapshot_sha: abc123
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器