Skip to content

MCP server

ffgit ships a Model Context Protocol server, ffgit-mcp, inside the app. Coding agents read repositories through ffgit’s own Git core and can ask the running app to change them. The server itself never writes.

Main menu → Coding agents (MCP)… shows ready-to-copy commands that already allow the current workspace’s project folders. On macOS the helper is /Applications/ffgit.app/Contents/MacOS/ffgit-mcp; pass one --allow per folder.

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

Agents you start from ffgit get these tools automatically for their session.

Read-only, non-destructive and idempotent:

ToolWhat it returns
ffgit_statusBranch, HEAD, an unfinished operation, staged, unstaged, untracked and conflicted files, linked worktrees
ffgit_branchesLocal and remote-tracking branches with upstream and ahead/behind counts
ffgit_logHistory on all branches or one ref, searchable by message, author, hash, path or code
ffgit_show_commitAuthor, date, full message, parents and changed files
ffgit_diffWorking tree, staged, or between two commits, optionally for one path
ffgit_blame, ffgit_line_historyBlame for up to 2,000 lines; git log -L for a line range
ffgit_grepLiteral text in tracked files, in the working tree or at a commit
ffgit_conflictsThe operation, which side is ours and theirs, and each conflict block
ffgit_backupsThe worktree’s recovery copies

Files listed in .ffignore are reported apart, as expected changes.

Agents can ask to stage, unstage, commit, create a branch, stash, resolve a conflict, continue an operation, and — destructively — skip a commit or abort an operation. Push, pull, discard and branch or worktree removal are not offered.

The running app carries out each change with a recovery copy, according to Changes from agents in Coding agents (MCP)…:

  • Off — declines every change.
  • Ask every time (default) — shows a prompt naming the agent, the repository and the change; it runs only after Approve.
  • Allow without asking — runs changes at once, including repository hooks and filters.