MCP服务器
ffgit在应用内附带一个Model Context Protocol服务器ffgit-mcp。编程智能体通过ffgit自己的Git核心读取仓库,并可以请求正在运行的应用修改仓库。服务器本身从不写入。
打开主菜单 → Coding agents (MCP)…,即可看到可直接复制的命令,这些命令已允许当前工作空间的项目文件夹。在macOS上,辅助程序位于/Applications/ffgit.app/Contents/MacOS/ffgit-mcp;每个文件夹传入一个--allow。
claude mcp add --scope user ffgit -- \ /Applications/ffgit.app/Contents/MacOS/ffgit-mcp --allow ~/codecodex mcp add ffgit -- \ /Applications/ffgit.app/Contents/MacOS/ffgit-mcp --allow ~/code{ "mcpServers": { "ffgit": { "command": "/Applications/ffgit.app/Contents/MacOS/ffgit-mcp", "args": ["--allow", "/Users/you/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中列出的文件会作为预期内的改动单独报告。
由你批准的改动
Section titled “由你批准的改动”智能体可以请求暂存、取消暂存、提交、创建分支、贮藏(stash)、解决冲突、继续某个操作,以及(具有破坏性的)跳过提交或中止操作。推送、拉取、丢弃以及删除分支或工作树均不提供。
正在运行的应用会根据Changes from agents设置(位于Coding agents (MCP)…)执行每项改动,并为其创建恢复副本:
- Off:拒绝所有改动。
- Ask every time(默认):显示一个提示,写明智能体、仓库和改动内容;只有点击Approve后才会执行。
- Allow without asking:立即执行改动,包括仓库的钩子和过滤器。