Skip to content

MCP Server

AVC includes a built-in Model Context Protocol server. Any agent that speaks MCP can call AVC’s commands as tools — no separate process to manage, no HTTP layer to configure.

Terminal window
avc mcp serve # default pretty-printed output
avc mcp serve --compact # compact JSON for token-sensitive contexts

The server runs over stdio: it reads JSON-RPC 2.0 messages on stdin and writes responses on stdout. Agent frameworks spawn it as a subprocess.

ToolMaps to
avc_snapshotavc snapshot
avc_listavc list
avc_infoavc info
avc_deleteavc delete
avc_diffavc diff
avc_restoreavc restore
avc_branch_createavc branch create
avc_branch_listavc branch list
avc_branch_switchavc branch switch
avc_branch_diffavc branch diff
avc_merge_previewavc merge --preview
avc_mergeavc merge
avc_merge_abortavc merge --abort
avc_run_in_workspaceRun a shell command inside a branch workspace

Each tool’s JSON Schema is published via tools/list so the agent can discover them programmatically.

Use the one-shot setup instead:

Terminal window
avc init --skills claude-code,cursor,windsurf,generic

This writes the right config files for each framework into your project. See the per-framework guides:

For custom agents not covered by --skills, here’s the minimal config snippet:

{
"mcpServers": {
"avc": {
"command": "avc",
"args": ["mcp", "serve", "--compact"]
}
}
}

Drop that into whatever MCP config file your framework uses. Most frameworks (Claude Desktop, Cline, etc.) follow this convention.

AVC ships agent skill files (e.g., .claude/skills/avc-snapshot/SKILL.md) that document when to call which tool. These are written by avc init --skills and serve as instructions to the agent — “always snapshot before risky changes”, “use branches for non-trivial refactors”, etc.

If you write your own agent, you can copy the skill files as a starting point for your prompt engineering.