跳转到内容

MCP服务器

ffgit在应用内附带一个Model Context Protocol服务器ffgit-mcp。编程智能体通过ffgit自己的Git核心读取仓库,并可以请求正在运行的应用修改仓库。服务器本身从不写入。

打开主菜单 → Coding agents (MCP)…,即可看到可直接复制的命令,这些命令已允许当前工作空间的项目文件夹。在macOS上,辅助程序位于/Applications/ffgit.app/Contents/MacOS/ffgit-mcp;每个文件夹传入一个--allow。

Terminal window
claude mcp add --scope user ffgit -- \
/Applications/ffgit.app/Contents/MacOS/ffgit-mcp --allow ~/code

从ffgit启动的智能体会在其会话中自动获得这些工具。

只读、无破坏性且幂等:

工具返回内容
ffgit_status分支、HEAD、未完成的操作,已暂存、未暂存、未跟踪和有冲突的文件,关联工作树
ffgit_branches本地分支和远程跟踪分支,包括上游以及领先/落后的提交数
ffgit_log所有分支或某个引用的历史,可按提交信息、作者、哈希、路径或代码搜索
ffgit_show_commit作者、日期、完整提交信息、父提交和改动的文件
ffgit_diff工作区、暂存区或两个提交之间的差异,可限定为单个路径
ffgit_blame, ffgit_line_history最多2000行的blame;对某个行范围执行git log -L
ffgit_grep在工作区或某个提交中搜索已跟踪文件里的字面文本
ffgit_conflicts当前操作、哪一侧是ours和theirs,以及每个冲突块
ffgit_backups工作树的恢复副本

.ffignore中列出的文件会作为预期内的改动单独报告。

智能体可以请求暂存、取消暂存、提交、创建分支、贮藏(stash)、解决冲突、继续某个操作,以及(具有破坏性的)跳过提交或中止操作。推送、拉取、丢弃以及删除分支或工作树均不提供。

正在运行的应用会根据Changes from agents设置(位于Coding agents (MCP)…)执行每项改动,并为其创建恢复副本:

  • Off:拒绝所有改动。
  • Ask every time(默认):显示一个提示,写明智能体、仓库和改动内容;只有点击Approve后才会执行。
  • Allow without asking:立即执行改动,包括仓库的钩子和过滤器。