What is MCP
Model Context Protocol (MCP) is an open protocol designed by Anthropic that lets AI assistants invoke external tools and read external resources. Think of it as "USB-C for AI" — one standard interface connecting any compatible model client to any tool service.
Nexevo's MCP server lives at https://api.nexevo.ai/v1/mcp(HTTP JSON-RPC 2.0, Bearer auth). Once enabled, inside Claude Desktop / Cursor you can:
- Tell Claude "push this design to Conductor and let GPT-5 review it" → invokes
conductor_askmode=chat - "Save that auth decision to Recall, tag: auth" → invokes
conductor_askmode=save_memory - "Find my prior capsule about webhook retries" → invokes
conductor_askmode=search_memory (semantic search)
conductor_ask · the unified tool
The Nexevo MCP server exposes a single tool: conductor_ask. The mode parameter controls its behavior:
chatLet another AI review / answer / think — full Conductor pipeline (dynamic model selection + cache + memory + verify + on-demand agent).
prompt: string // 你想让另一个 AI 处理的内容 template?: string // 可选模板:find_bug | counter_argument | fact_check | risk_assessment judge_model?: string // 可选指定 model(如 "gpt-5" / "claude-opus-4-7");不传走 Conductor 自动选 options?: object // 可选 ConductorOptions(verify / agent / max_cost_usd 等)
save_memorySave key decisions / thoughts / answers as Recall capsules; future AI conversations can search_memory them back.
title: string // 胶囊标题,如 "Clerk 选型决策" content: string // markdown 正文 kind?: "chat" | "decision" | "manual" // 默认 chat tags?: string[] // 如 ["auth", "decision"]
search_memorySemantic search (Voyage-3 + pgvector cosine top-K) — synonyms / cross-language / intent matching. Auto-falls back to literal search during transient embedding-service outages (seamless). Returns capsules + similarity score + retrieval method.
query: string // 检索关键词(中英文皆可) top_k?: number // 默认 3,最多 20 tag?: string // 可选 tag 精确过滤
Tip: Claude Desktop / Cursor usually picks mode from natural language intent — say "have another AI review this" → mode=chat; "save this" → mode=save_memory. You don't need to specify mode explicitly.
Resources (readable)
Besides the conductor_ask tool, the MCP server exposes a resource URI scheme:
workbench://session/{id}— Full JSON of a Quorum session (left + right messages + push events + verdict). MCP clients callresources/listto get your session list, thenresources/readfor individual ones.
Typical use: tell Claude "look at my Clerk vs Auth0 Quorum from yesterday"; Claude calls resources/list → finds the matching session → resources/read pulls full dialog.
Claude Desktop setup
Nexevo MCP is an HTTP server; Claude Desktop primarily supports stdio MCP, so we use mcp-remote as a bridge (npm package, auto-fetched via npx).
Open ~/Library/Application Support/Claude/claude_desktop_config.json(Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows), and add:
{
"mcpServers": {
"nexevo": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.nexevo.ai/v1/mcp",
"--header", "Authorization: Bearer YOUR_NEXEVO_API_KEY"
]
}
}
}Get an API key: log in →Settings → API Keys→ create a new key (sk-...).
Save the config and fully quit Claude Desktop, then restart(not just close window — Cmd+Q / quit from taskbar). After restart, the tool 🔌 icon at bottom-right of Claude's input should shownexevo server listing conductor_ask.
Cursor setup
Cursor MCP config lives in ~/.cursor/mcp.json or per-project.cursor/mcp.json; JSON structure same as Claude Desktop:
{
"mcpServers": {
"nexevo": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.nexevo.ai/v1/mcp",
"--header", "Authorization: Bearer YOUR_NEXEVO_API_KEY"
]
}
}
}Settings → Tools & Integrations → MCP servers; verify nexevo showsconductor_ask tool. Cursor Composer / Chat will invoke it naturally.
Direct curl test (dev / your own agent)
MCP protocol is JSON-RPC 2.0 over HTTP POST. Any HTTP client can hit it:
# 1. initialize 拿 server info
curl https://api.nexevo.ai/v1/mcp \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "initialize" }'
# 2. 列 tools(应只见 conductor_ask)
curl https://api.nexevo.ai/v1/mcp \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }'
# 3. 调 conductor_ask mode=save_memory(存胶囊)
curl https://api.nexevo.ai/v1/mcp \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "conductor_ask",
"arguments": {
"mode": "save_memory",
"title": "Clerk vs Auth0 决策",
"content": "选 Clerk,理由:5 行集成 + 免费层 10k MAU + UI 现代化。",
"tags": ["auth", "decision"]
}
}
}'
# 4. 调 conductor_ask mode=search_memory(语义召回)
curl https://api.nexevo.ai/v1/mcp \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "conductor_ask",
"arguments": {
"mode": "search_memory",
"query": "用户认证方案",
"top_k": 3
}
}
}'
# 5. 调 conductor_ask mode=chat(让另一个 AI 帮审)
curl https://api.nexevo.ai/v1/mcp \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "conductor_ask",
"arguments": {
"mode": "chat",
"prompt": "审一下这段 JWT 验证代码: ...",
"template": "find_bug",
"judge_model": "gpt-5"
}
}
}'FAQ / Troubleshooting
Why is there only one conductor_ask tool?
v2 narrative unification — one tool + a mode param is friendlier to Claude / Cursor than 3 tool names (quorum_review / memory_save / memory_recall). Tighter tool description, better intent inference, shorter client prompts. Backend keeps old names compatible for a transition period, but docs only cover conductor_ask.
Don't see nexevo server after restarting Claude Desktop
1) Verify JSON syntax (a missing comma breaks the whole file); 2) check the API key hasn't expired at /dashboard/keys; 3) check Claude logs: Mac ~/Library/Logs/Claude/mcp*.log, Win %APPDATA%\Claude\logs\; 4) must fully quit & restart — closing the window is not enough.
Tool call returns -32001 auth failed
Authorization header missing or key wrong. The --header line in mcp-remote config must be exactly "Authorization: Bearer sk-xxx" (Bearer plus a space, no slips).
mode=search_memory returns retrieval_method=literal instead of semantic
Possible reasons: 1) embedding upstream transient outage → literal fallback (auto-recovers); 2) early capsules missing embedding — admin runs backfill script; 3) query similarity below threshold against all capsules. Literal fallback still works, just degraded recall quality.
Per-user isolation — does sharing one key across accounts cause leakage?
No. One API key binds to one user_id; all tool calls' capsules / Quorum sessions / resources are scoped to that user. Cross-user access returns 404 (no existence leakage). Same user using one key across Claude Desktop + Cursor is intended — single source of truth.
What's mode=chat's default judge model? How is it billed?
Defaults to Conductor auto-selection (cheap + general). You can specify gpt-5 / claude-opus-4-7 / deepseek-r1 etc. via arguments.judge_model. Billed from your Nexevo balance — actual model price + 3% service fee; see /dashboard/billing for itemized breakdown after the call completes.
Related links
- Conductor doc — conductor_ask mode=chat invokes the Conductor pipeline internally
- Recall doc — mode=save_memory / search_memory operate on Recall capsules
- Settings → API Keys — create / revoke / see last used
- MCP protocol official docs (modelcontextprotocol.io)
- mcp-remote (stdio ↔ HTTP bridge)