MCP Install
The Model Context Protocol is Cloven's primary distribution surface. Wire the server into your MCP client once and the cloven.* tool family appears in every model session — no further code, no per-call setup. Cloven publishes both stdio (local) and HTTP (remote) transports.
Stdio — Claude Desktop, Cursor, Windsurf, Zed
Stdio is the default transport for desktop AI clients. The MCP server runs as a child process spawned by the client; communication is JSON-RPC over stdin / stdout. Cloven publishes the launcher as the @cloven/mcp npm package.
Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (%APPDATA%\Claude\claude_desktop_config.json on Windows). Add:
{
"mcpServers": {
"cloven": {
"command": "npx",
"args": ["-y", "@cloven/mcp"]
}
}
}Restart Claude Desktop (full quit, not just window close). Open a new chat and check the tools panel — cloven.fresh, cloven.brief, cloven.search, cloven.snapshot, cloven.subscribe, and cloven.cite should be listed.
No API key required for free-tier stdio usage: 100 calls per day per machine, crypto pack only. The machine ID is a SHA-256 of os.hostname() + MAC — no PII is sent. Past the cap, the tools return a structured quota_exhausted error with an upgrade URL.
With an API key (paid tier)
{
"mcpServers": {
"cloven": {
"command": "npx",
"args": ["-y", "@cloven/mcp"],
"env": {
"CLOVEN_API_KEY": "cv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}The key unlocks all packs (Hobby+ tier), higher rate limits, and 30-day snapshot history (Pro+).
Cursor, Windsurf, Zed
Same JSON shape, different config path. Cursor puts MCP settings in ~/.cursor/mcp.json. Windsurf reads from its in-app MCP settings UI. Zed exposes MCP through its assistant config. The mcpServers.cloven.{command, args, env} block is identical across all of them.
HTTP — remote agents, serverless, Bankr
For server-side AI agents, Vercel deployments, or any host where you can't spawn a child process, use the HTTP MCP transport:
POST https://mcp.cloven.cloud/api/mcp
Authorization: Bearer cv_xxx
Content-Type: application/json
{ "jsonrpc": "2.0", "method": "tools/call", "params": { ... } }The HTTP transport speaks the same JSON-RPC envelope as stdio but over web-standard Request/Response. Both POST (for tool calls + initialize + tools/list) and GET (for SSE notifications) are supported.
Custom TypeScript client
import { Client } from "@modelcontextprotocol/sdk/client";
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/http";
const transport = new HttpClientTransport({
url: "https://mcp.cloven.cloud/api/mcp",
headers: { Authorization: `Bearer ${process.env.CLOVEN_KEY}` },
});
const client = new Client({ name: "my-agent", version: "1.0" });
await client.connect(transport);
const result = await client.callTool({
name: "cloven.fresh",
arguments: { pack: "crypto" },
});x402 on HTTP MCP
The HTTP transport accepts x402 micropayments as an alternative to Bearer auth. Send the JSON-RPC request without an Authorization header. Cloven responds 402 Payment Required with PaymentRequirements. Sign the USDC transfer on Base, retry with x-payment: <base64 proof>. See x402 payments for the full wire format.
The SDK in wallet mode handles this transparently — every tool call retries through the 402 dance automatically.
What you actually get
The MCP server registers six logical tools shared across every pack, plus any pack-specific extras. Each tool has a strict Zod input schema, returns a JSON text content block, and emits a typed trace event for the Phase 3 Commons.
| Tool | Purpose |
|---|---|
cloven.fresh | Current Mind State + brief + citations |
cloven.brief | Brief-only (cheaper, prose with citations) |
cloven.search | Top-k semantic walk over compacted state |
cloven.snapshot | Historical state at an ISO8601 timestamp |
cloven.subscribe | Signed SSE URL for live pulses |
cloven.cite | Resolve a [N] citation back to source URL |
Full schemas + return shapes: MCP tools reference.
Troubleshooting
Tools don't appear after restart. Validate your JSON with jq .. A trailing comma silently kills the entire config.
npx takes 30+ seconds first launch. This is normal — npm is downloading @cloven/mcp to the cache. Subsequent restarts are instant.
"Unable to connect to MCP server". Check which npx. Some shells under Claude Desktop don't see the npm bin path; specify the absolute path: "command": "/Users/you/.nvm/versions/node/v22/bin/npx".
HTTP 401 on remote MCP. Confirm the key is prefixed cv_ and that you haven't revoked it. The console shows live key status.