[开源] 我用 Go 编写了一个完整的 Git MCP 服务器,不是简单地封装 bash。它使用了 tree-sitter,处理真正的底层操作(write-tree),并且 100% 本地运行。
摘要
git-courer 是一个用 Go 编写的完整 Git MCP 服务器,它使用 tree-sitter 进行语义代码分析,通过结构化 JSON 进行通信,支持 13 个客户端,并以本地优先的方式运行。
我受够了看着 LLM 代理在基本的 Git 操作中失败。标准集成传递原始文本,卡在分页器上,或者因为无法解析非结构化的 git diff 输出而崩溃。**git-courer** 是一个用 Go 编写的完整模型上下文协议(MCP)服务器,它正确地处理 Git。没有 bash 生成,没有需要解析的非结构化文本。一切通过结构化 JSON 进行通信。以下是它完全在本地生成的提交信息示例:fix: fix mcp server connection handling WHY The previous implementation lacked proper error handling for connection failures in the MCP server, leading to unhandled panics or silent failures when the local LLM backend was unreachable. WHAT \* Added connection timeout logic to the local client calls. \* Implemented retry mechanisms with exponential backoff for transient backend errors. 架构与工具包 **读取工具(status、diff、history、blame):** 完全结构化的 JSON 且完全分页。一次 status 调用即可替代代理使用的超过 5 个标准 Git 命令。**写入工具(commit、merge、rebase、branch、stash、stage、sync...):** 每次执行修改前会自动创建备份。如果 LLM 出错,RESTORE 命令可以将你精确恢复到之前的状态。**安全模型:** 破坏性操作(硬重置、强制推送、删除分支)需要显式的 confirmed=true 门控。代理必须首先询问你。dry\_run=true 也可用于安心测试。语义注释器(为何与众不同)git-courer 不仅仅将原始代码提供给 LLM,而是在 LLM 看到代码之前,使用 go-enry + go-tree-sitter 解析 AST 并对每个代码块进行语义标记。它检测如 NEW\_FUNC、MOD\_SIG、MOD\_BODY、DELETED 和 BREAKING\_CHANGE 等标记。提交类型(feat、fix、refactor)是根据这些 AST 标记确定性确定的,而不是由模型猜测。提交管道**原子提交:** 一个暂存区 = 一个提交。它主动防止代理创建庞大、混乱的多功能提交。**内存预览:** PREVIEW 工具使用 write-tree 将暂存区快照保存为 job\_id。在预览阶段,工作树永远不会被触及。APPLY 随后使用 commit-tree + update-ref 干净地完成操作。客户端与后端支持**13 个客户端自动配置:** 运行 git-courer mcp setup 即可与 Claude Code、Cursor、Windsurf、OpenCode、Cline、Roo Code、VS Code、Zed、Claude Desktop、Continue 等配合使用。**100% 本地优先:** 适用于任何暴露 OpenAI 兼容 /v1 API 的后端(Ollama、LM Studio、llama.cpp)。该项目完全开源。非常期待听到你对架构、底层管道以及任何希望添加的功能的看法!**仓库:** [github.com/Alejandro-M-P/git-courer](https://github.com/Alejandro-M-P/git-courer)
相似文章
grasp:一种简单的去中心化 Git 协议
Grasp 推出了一种去中心化 Git 协议,并附带名为 nak 的 CLI 工具,支持在无账户、仅签名消息的情况下,在自托管服务器间协作,同时保持完全互操作性。
@GoSailGlobal: Cloudflare 把自己内部跑 MCP 的架构全公开了 跟 OpenAI 上次那份 Running Codex Safely 配着看 是企业 agent 安全的两份必读模板 · 最炸的一招 :Code Mode 把 MCP 的 tok…
Cloudflare publishes its internal architecture for securely running Model Context Protocol (MCP) agents, introducing 'Code Mode' to reduce token usage by 99.9% and advocating for centralized remote server governance over local deployments.
自托管MCP用于AI引用追踪——无需后端,无需注册,自带密钥
一个自托管、开源的MCP服务器,用于AI引用追踪,完全运行在用户机器上,支持离线工具和直接API调用,无需后端或遥测。
我构建了一个零代码可视化客户端,可即时测试远程 MCP 服务器(已用 Cloudflare 的免费 MCP 测试通过)
一位开发者在 AgentSwarms 中构建了一个零代码可视化 MCP 客户端,允许直接在浏览器中测试远程 MCP 服务器,并通过 Cloudflare 的免费 MCP 服务器进行了演示,用于文档查询。
Go 语言服务器可以实现令人印象深刻的代码导航
Go 语言服务器 (gopls) 为 Go 开发者提供了令人印象深刻的代码导航功能,增强了 IDE 的能力。