@recursiv/mcp
v0.5.4
Published
MCP server for Recursiv — give AI assistants access to your projects, agents, and social infrastructure
Readme
@recursiv/mcp
MCP (Model Context Protocol) server for Recursiv. It gives Claude Code, Claude Desktop, Cursor, Codex, and other MCP-compatible clients direct access to Recursiv projects, agents, sandboxes, memory, tasks, swarms, templates, and social infrastructure.
The current source registry contains 150 tool registrations before scope filtering. The exposed surface tracks your API key's real scopes: the server fetches them from the platform (GET /me) at startup, so a full-access key exposes the full surface with no configuration, and a read-only key exposes read tools. If the key's scopes cannot be fetched, the server fails closed to read-only. Call the whoami tool any time to see your active scopes and how many tools are available vs hidden.
| Group | Source registrations | Examples | |-------|----------------------|----------| | Social | 9 | posts, communities, chat | | Projects | 13 | projects, deployments, project sandboxes | | Agents | 12 | agent CRUD, chat, inbox, project access | | Sandbox | 1 | anonymous code execution | | Memory | 7 | facts, decisions, memory search | | Dispatcher | 30 | tasks, claims, stale/stuck checks, signals, outcomes | | Swarms | 10 | swarms, members, schedules | | Templates | 6 | list, create, fork, publish templates | | Devtools | 13 | project/storage/database/deploy helpers | | Platform | 5 | org, settings, admin helpers | | Remaining API surface | 43 | additional generated API tools | | Self-evaluation | 1 | evaluate work before delivery |
Setup
1. Get an API key
Create an API key at recursiv.io/settings/api-keys.
2. Configure your AI assistant
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"recursiv": {
"command": "npx",
"args": ["-y", "@recursiv/mcp"],
"env": {
"RECURSIV_API_KEY": "your-api-key-here"
}
}
}
}Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"recursiv": {
"command": "npx",
"args": ["-y", "@recursiv/mcp"],
"env": {
"RECURSIV_API_KEY": "your-api-key-here"
}
}
}
}Or run directly:
RECURSIV_API_KEY=your-key npx @recursiv/mcpCodex
Add to ~/.codex/config.toml or repo-local .codex/config.toml:
[mcp_servers.recursiv]
command = "npx"
args = ["-y", "@recursiv/mcp"]
env = { "RECURSIV_API_KEY" = "your-api-key-here" }3. Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| RECURSIV_API_KEY | Yes | Your Recursiv API key |
| RECURSIV_BASE_URL | No | API base URL (default: https://api.recursiv.io/api/v1) |
| RECURSIV_ORGANIZATION_ID | No | Default organization for dispatcher and memory tools |
| RECURSIV_PROJECT_ID | No | Default project for project-scoped memory tools |
| RECURSIV_API_KEY_SCOPES | No | Optional comma-separated scope filter. Narrows the surface below what the key grants (never widens it); intersected with the key's real scopes. * means "all the key allows". Leave unset to use the key's scopes directly. |
| RECURSIV_MCP_ALLOW_ALL_SCOPES | No | Set to 1 to expose every tool regardless of the key's scopes (escape hatch). |
| RECURSIV_MCP_ENABLE_ANONYMOUS_TRY_CODE | No | Set to 1 to expose the anonymous try_code sandbox tool |
| RECURSIV_MCP_AUDIT_LOG | No | Set to 0 to disable redacted per-tool audit events on stderr |
| RECURSIV_TUNNEL_DISABLED | No | Set to true to disable the local dev tunnel (see below) |
| RECURSIV_TUNNEL_PORT | No | Local port the tunnel forwards to (default: 3000) |
| RECURSIV_TUNNEL_METHODS | No | Comma-separated HTTP methods the tunnel will proxy (default: GET) |
RECURSIV_ORG_ID is accepted as a deprecated alias for RECURSIV_ORGANIZATION_ID (a one-time warning is printed).
Local dev tunnel
On startup the server opens an outbound WebSocket to the Recursiv platform and registers a local dev tunnel for your default project. You'll see this on stderr:
[recursiv-tunnel] Connected, waiting for token...
[recursiv-tunnel] Tunnel active: localhost:3000What it is: a reverse tunnel that lets Recursiv platform agents (e.g. the QA agent or a swarm reviewing your work) make requests to the dev server running on your machine — useful for testing changes before they're deployed.
Why it's safe by default:
- Only GET requests are proxied unless you widen
RECURSIV_TUNNEL_METHODS - It only forwards to
localhost:<RECURSIV_TUNNEL_PORT>(default3000) - Requests come through your authenticated project on the platform — nothing is exposed publicly
How to disable: set RECURSIV_TUNNEL_DISABLED=true in the MCP server's env. The server works normally without it; platform agents just can't reach your local dev server.
Docs: https://docs.recursiv.io/guides/ai-tools/mcp-claude#local-dev-tunnel
Common tools
Use the tool list exposed by your MCP client as the runtime source of truth. High-signal examples in the current source registry include:
| Task | Tool examples |
|------|---------------|
| Work with posts and communities | list_posts, get_post, create_post, search_posts, list_communities |
| Work with projects | list_projects, get_project, create_project, delete_project, deploy_project |
| Run code | try_code (explicit opt-in), start_sandbox, execute_code, stop_sandbox |
| Manage agents | list_agents, get_agent, create_agent, update_agent, delete_agent, chat_with_agent |
| Coordinate work | create_task, claim_next_task, complete_task, list_stuck_tasks, get_dispatcher_stats |
| Persist memory | add_fact, list_facts, search_memory, log_decision, list_decisions |
| Manage swarms | list_swarms, create_swarm, add_swarm_member, schedule_agent_task |
| Use templates | list_templates, create_template, fork_template, publish_template |
| Self-check output | self_evaluate |
Development
# Install dependencies
pnpm install
# Run in development mode
RECURSIV_API_KEY=your-key pnpm --filter @recursiv/mcp dev
# Type check
pnpm --filter @recursiv/mcp typecheck
# Build — the trailing ... builds @recursiv/sdk first. Without it, a fresh
# clone fails with TS2307: Cannot find module '@recursiv/sdk' (no dist/ yet).
pnpm --filter "@recursiv/mcp..." buildLicense
FSL-1.1-ALv2
