Veri Product Workflow Docs GitHub Download

Connecting Claude Code (and other MCP clients)

Veri's connection panel writes one config format: a project-scoped .mcp.json. This page documents exactly what gets written, where, and how to verify it works — for Claude Code and for any client that can launch a stdio MCP server. Using a different agent? See Cursor, Codex CLI, or Gemini CLI.

What Veri writes

Open the project in Veri, click Settings at the bottom of the left rail, choose Agent connection, and click Set up connection. Veri writes a .mcp.json file at the project root — the directory that contains veri/, which is where Claude Code looks for project-scoped MCP config:

{
  "mcpServers": {
    "veri": {
      "command": "node",
      "args": [
        "/Applications/Veri.app/Contents/Resources/app/node_modules/@veri/mcp/dist/server.js",
        "/Users/you/code/your-project"
      ]
    }
  }
}
Veri never touches other servers. The panel manages only a mcpServers.veri entry of exactly the shape above. Any other entry in the file is preserved untouched. A veri entry Veri doesn't recognize — different command, extra keys — is shown to you as a conflict and replaced only if you explicitly say so. If the file doesn't parse, Veri refuses to write it at all rather than risk your other config.

Per-user alternative: claude mcp add

If you'd rather not have a checked-in file — say, teammates don't use Veri — the panel offers a copyable, pre-filled command that registers the server in your user-scoped Claude Code config instead:

claude mcp add veri -- node "<path to server.js>" "<path to project root>"

Copy is the only action; Veri never runs it for you.

Restart your agent

Agent apps read MCP config on launch. After any write, quit and reopen Claude Code — or start a new session — in the project folder. This is the one step Veri can't do for you. In Claude Code, /mcp should then list veri with ten tools.

Verify from inside Veri

The connection panel's static checks confirm the file exists, the entry is present, the server script exists on disk, and the root argument points at the open project. LIVE CHECK → Verify connection goes further: Veri launches the server with the exact command and arguments in your config — resolving node the way your terminal would — and performs a real MCP handshake, including a search call proving the server serves this project's documents.

Success looks like: "Server answered over MCP — serving this project (16 documents, 7 tools) with node v22.x." A failure names one of five causes — missing Node, Node too old, server script missing, wrong project root, or the server didn't answer — each with a single fix. See troubleshooting for all five.

What the agent gets

ToolWhat it does
get_contextThe context package for a work order: the project workflow, the work order, all linked requirements and active decisions (two hops), source excerpts, with token estimates. Superseded decisions are named as already rejected.
searchCase-insensitive substring search over every document's id, title, and body.
get_documentOne document in full by id — how an agent follows a link the context package only named.
get_neighborsA document's direct links, inbound and outbound, with each neighbor's type and status.
file_decisionRecords a decision the agent made during implementation, with the alternatives it rejected — filed for your review.
file_work_orderProposes a new work order with the next free WO id, in backlog until you review it.
file_requirementDrafts a requirement with the next free REQ id — born draft, awaiting your acceptance.
file_sourceFiles a source document — imported evidence with the file paths, commit refs, and excerpts it rests on.
file_receiptAppends a work-session receipt (commit, files, summary) to a work order — or to an import manifest as an import's completion signal. Receipts accumulate; they never overwrite.
get_import_instructionsThe brownfield import instruction package: what to mine from an existing repo, the filing rules, and a census of what the knowledge base already holds.

Other MCP clients

There's nothing Claude-specific about the server: it's a standard stdio MCP server. Any client that can launch one works with the same three facts — command node, the server.js path shown in Veri's panel, and your project root as the argument. Configure those in your client's own format, then use Veri's Verify connection to prove the server side end to end (it exercises the same script and root your client will).