Skip to main content
Suchi ships an MCP (Model Context Protocol) adapter that exposes the REST surface as tools an LLM agent can call. Five tools total — search_documents, get_document, list_inbox, resolve_approval_task, create_share_link. See MCP reference for the tool schemas. This guide wires the adapter into three common runtimes. The pattern is the same everywhere: a subprocess spoken over stdio (or a Streamable HTTP endpoint) with SUCHI_URL + SUCHI_TOKEN in the environment. One adapter uses one token bound to one filing system. Select that system when minting the token; ordinary unqualified MCP requests then use its binding. There is no all-systems token or adapter routing option. Membership and document ACLs still apply; a scope alone does not grant access, and membership removal revokes credentials.

Prerequisites

  • A running suchi instance you can reach at some URL. Local dev (http://127.0.0.1:8000) works.
  • A scoped API token. Do NOT use an admin token. Generate one via:
    Or exchange email and password directly:
    These examples assume S02 has already been introduced and the account can enter it. Omit ?system=S02 to target the original archive, including before introduction; omission never selects whichever system the browser last displayed. Every MCP action is attributed to the token’s owner in the audit log. A Read-only token supports search, document reads, and inbox inspection. Choose Read & write only when the client must resolve approvals or create share links.
  • The suchi binary somewhere on PATH, or the shipped suchi-mcp symlink (the binary responds to argv[0] rewrite so command: "suchi-mcp" in a config stays clean).

Claude Desktop

Config lives at:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
Add a mcpServers entry:
Restart Claude Desktop. In a new chat, the ”🔌” indicator should show suchi connected. Ask it “search my documents for ‘insurance’” — it will call search_documents under the hood. If suchi-mcp isn’t on PATH, use the absolute path:

Cursor

Cursor’s MCP config lives in Settings → Features → MCP or in ~/.cursor/mcp.json:
Same shape as Claude Desktop. Restart Cursor; the tools appear in the Composer.

Remote MCP runtimes (Streamable HTTP)

For runtimes that connect over HTTP instead of stdio — an agent-framework running on a different host, a shared team-wide tool broker — launch the adapter with --http:
Point the runtime at http://<host>:7000. Two things to know:
  • The --token flag is baked into the process’s memory for the lifetime of the run — every tool call is attributed to that token’s owner and bound filing system. To use different credentials or systems, run a separate adapter per caller/system.
  • The MCP HTTP listener has no separate auth of its own. Restrict access to port 7000 with your usual mechanism (VPN, firewall rule, Tailscale, reverse-proxy with basic auth). Suchi’s MCP surface is agent-facing, not internet-facing.

Verifying the connection

Ask the MCP client to call list_inbox or search_documents and inspect its returned result in the token’s bound system. Client startup behavior varies; do not rely on an automatic first tool call. Suchi’s access logs (journalctl -u suchi or docker logs -f suchi) can help correlate route, status and request ID. Query text, credentials and document evidence are not diagnostic log fields. If you see 401 unauthorized, check the token and environment; revocation or account disablement also prevents authentication. A 403 can mean a missing scope or capability: grant only what the requested operation needs. An unavailable object/system is a 404, not an invitation to retry in another archive. Create a new token after an administrator restores membership; old credentials do not revive.

Revoking access

Token management is session-only. Use Settings in the web app or an authenticated browser/OIDC session; the MCP token cannot list or revoke tokens itself. The commands below assume SUCHI_SESSION contains the signed-in browser’s suchi_session cookie value.
Revocation is immediate. Subsequent requests carrying the revoked token fail authentication.

Not covered here

  • OAuth-scoped agent flows — suchi’s tokens are bearer tokens, not OAuth. If you need OAuth resource-server semantics, front suchi with an OAuth gateway.
  • Multi-tenant MCP brokers — one adapter, one token. For per-user tokens on a shared runtime, run N adapters or wire the runtime to pass the token per-request (a shape not yet supported on the adapter side).
Related: