Docs index
MCP
The nine read-only tools an agent gets, and the two the server deliberately does not offer.
The server, and how to pin it
A read-only MCP server is published on the Developers page as tavonel-mcp.mjs, pinned by sha256 in the channel manifest. It speaks JSON-RPC over stdio with no dependency and no build step, so it can be read before it is pointed at anything. Set TAVONEL_API_KEY and register it; TAVONEL_BASE_URL defaults to https://tavonel.com. Run node tavonel-mcp.mjs --doctor first: it checks the key, the channel pin and one real read, so a failure names which of the three is wrong instead of surfacing as a silent agent.
Installing it
Note There is no npm or PyPI package yet. npx @tavonel/mcp does not resolve, and neither does pip install tavonel: npm and PyPI publishing is pending and needs registry credentials nobody has issued. Install it the way this page describes — download tavonel-mcp.mjs, check it against the digest in /developer/channel.json, and point your client at the absolute path. That path is the audited one and stays supported after a package exists.
Registering it with a client
The config below is the same object every stdio MCP client accepts, under its own path. Claude Desktop reads %APPDATA%\\Claude\\claude_desktop_config.json on Windows and ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, and reads it at launch — restart after editing. Claude Code reads .mcp.json at the root of the project you open. The Integration recipes page carries the same block with the platform notes.
{
"mcpServers": {
"tavonel": {
"command": "node",
"args": ["C:/absolute/path/tavonel-mcp.mjs"],
"env": {
"TAVONEL_API_KEY": "tvnl_live_...",
"TAVONEL_BASE_URL": "https://tavonel.com"
}
}
}
}Note The key lives in the client's env block or its secret facility, never in args — arguments show up in process listings. Give it a key scoped to reads and nothing else.
The tools it exposes
| Tool | What it returns |
|---|---|
| list_sources | The workspace's documents, with processing state and version key. |
| list_worlds | The workspace's active Compiled Worlds, with manifest digest and revision. Pages with limit and cursor. |
| get_world | One Compiled World: status, contract, freshness, objects, relations, evidence, history. |
| search_world | Retrieved regions with provenance and ranks. No generated prose. |
| ask_world | A grounded answer with citations, or an abstention. |
| get_object | The objects lens, or one object by stable id. Pages with limit and cursor. |
| get_relation | The relations lens, or one relation by stable id. Pages the same way. |
| get_evidence | Every region with its source version, page and bbox in the 0-1000 page frame. Pages the same way. |
| download_package | Where the signed package is, how large, and what its manifest hashes to. |
The tools it deliberately does not offer
Note There is no write tool and there is no activation tool. Activation is the moment a candidate becomes the World an organisation answers from, and it stays with a person in a browser; the server refuses to start if a tool that writes is ever added to it.
Note list_worlds lists only active Worlds, over GET /v1/collections. Candidates are excluded: a discovery list mixing accepted and unaccepted output would present both as organizational truth.
Note download_package returns a descriptor rather than the archive: the URL, the size, the signed manifest digest and the signing key id. The bytes are fetched over HTTP with the same key and checked with the verifier on the CLI page.
API version 2026-09-02.1 · reviewed 11 September 2026
Something here out of date or wrong? Report an issue with this page.