npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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/mcp

Codex

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:3000

What 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> (default 3000)
  • 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..." build

License

FSL-1.1-ALv2