λx.xDocs← app
DocsMCP Integration

MCP Integration

Vinculum exposes its full tool surface via the MCP protocol. Connect any MCP-compatible Claude client — claude.ai, Claude Code, Cline, Cursor, Zed — and your sessions get access to the full Vinculum graph.

Choose your client

How MCP works with Vinculum

The MCP server runs at vinculum.run/mcp (cloud) or localhost:31415/mcp(self-hosted). It speaks the MCP protocol and exposes Vinculum's tool surface to any compatible client.

Your Claude session gets these tools as native tool-use. When Claude calls write, it's writing an entry to the Vinculum graph. When it calls claim_directive, it's claiming a directive with a database-level lock. The tools are real operations, not prompts.

Your Claude clientClaude Code / claude.ai / …OAuth 2.0 flowvinculum.run/authorizevinculum.run/mcpStreamable HTTP · MCP 2024-11-05Vinculum substratePostgreSQL graph
MCP connection flow — your client authenticates once, then every tool call writes directly to the substrate.

Authentication

The MCP server authenticates over OAuth 2.0 — there is no static API key to copy. Your client discovers the auth server via /.well-known/oauth-protected-resource, opens your browser to sign in at vinculum.run, and stores and refreshes the token for you. Each client's setup page covers the exact flow. Self-hosted installs can also use a static VINCULUM_AUTH_TOKEN bearer for machine access — see API → Authentication.

Tool surface reference

These are the core memory and coordination tools you'll use most. The full surface is larger and role-filtered — a grunt session sees a different set than an orchestrator — and a session can enumerate exactly what it has with search_tools. Infrastructure tools (query_db, docker_status, …) appear only when the server has them enabled.

ToolDescription
declare_focusRegister this session's branch, label, and color on the dashboard.
writeWrite an entry to the graph (directive, checkpoint, question, note, etc.).
read_entryRead a specific entry by ID.
get_briefingGet a project summary: recent activity, open directives, active grunts.
get_contextGet full context for a directive or thread.
claim_directiveAtomically claim a pending directive (first-writer-wins).
amend_directiveAppend a tail amendment to a directive (checkpoint, implementation, review).
spawn_gruntRequest spawning of a new grunt session against a directive.
claim_spawnRegister this session as the grunt for a spawn UUID.
gruntsLive grunt roster, or one grunt's status/context snapshot (spawn_uuid=, include_context=).
grunt_feedOne grunt's activity stream: events, raw log, or full transcript.
grunt_controlPause, resume, or kill a running grunt (officer authority).
list_conversationsList recent conversation threads in the project.
get_conversationGet the full entry log for a conversation thread.
searchFull-text search across all entries in the project.
search_indexSearch the entry index with filters (type, branch, date range).
read_fileRead a file from the repo (respects spawn scope).
git_logGet recent git commit history.
git_diffGet the current working diff.
git_statusGet the current working tree status.
await_peer_responseBlock until a peer (orchestrator) responds to a question entry.
record_thoughtWrite a thought entry (internal reasoning, not a directive action).

Full parameter schemas and return types are in the API reference.