Start the server
~/.olane/config.json and targets the same Copass account your CLI is logged into.
Tools exposed
| Tool | CLI equivalent | Purpose |
|---|---|---|
check_project_status | copass status --json | Report refs, watch state, and encryption key source for the caller’s cwd |
entities | copass entities <q> --json | Look up canonical entities by vector similarity — lightweight disambiguation |
discover | copass discover <msg> --json | Ranked menu of related context paths — the first step of the progressive disclosure pattern |
interpret | copass interpret <items-json> --json | 1-2 paragraph brief pinned to one or more tuples of canonical IDs picked from discover |
search | copass search <q> --json | Deep semantic search — synthesized natural-language answer |
question | copass question <q> --json | Natural-language question against the knowledge graph |
ingest | copass ingest … --json | Push content through the sandbox data source (file or inline) |
index_project | copass index --mode … --json | Full / incremental indexing |
copass <cmd> --json invocation. The MCP tool schema and the CLI flag surface stay in lock-step — no API contract drift between the two.
Claude Code integration
Add Copass to your Claude Code MCP config so it can ingest and query without leaving the editor:Cursor / generic MCP clients
Any client that supports stdio MCP transport can registercopass mcp as a server. The config shape is usually:
~/.olane/config.json on each invocation.
How it works under the hood
- No state duplication between the MCP server and the CLI — they are the same binary.
- Same auth, same config, same
.olane/refs.json— a cwd that works from the terminal works over MCP. - JSON contract stability matters — every CLI command’s
--jsonoutput is, in effect, a public API.
Which directory does the server use?
The MCP server resolves sandbox + project context from the working directory the client started it in. If your MCP client spawnscopass mcp from your project root, every tool call is scoped to that project’s .olane/refs.json. If you need cross-project access, spawn one server per project (most MCP clients support multiple entries).
Next steps
- Claude Code Extension — opinionated install of the three retrieval tools into Claude Code, with the window-aware prompt-submit hook.
- Progressive Disclosure — first-principles argument for why
discover/interpret/searchis three calls instead of one. - CLI — the full command surface the MCP tools wrap.
- SDK —
@copass/mcp(standalone MCP server) plus framework adapters for Vercel AI SDK / LangChain / Mastra / Pydantic AI. - API Reference — the raw endpoints behind every tool.

