slipstream setup, every editor

Install slipstream in any IDE.

Cursor, Windsurf, Antigravity, VS Code with Claude Code for the full plugin, plain VS Code for the MCP-only path. Build once, register the server, then call sp_map from your agent. The dashboard auto-starts on first MCP call.

slipstream is not affiliated with or endorsed by Anthropic. Claude and Claude Code are trademarks of Anthropic, referenced here only to describe compatibility.

What's new in v0.6

Four new install paths and a redesigned dashboard.

v0.6 documents install paths for Windsurf, Antigravity, VS Code with MCP and JetBrains alongside the existing Cursor and Claude Code routes, taking the supported editor list to six. The live dashboard is redesigned around a KPI strip, sparklines, an inline SVG mind map, a pause control, copy-session-id, a filterable timeline and a per-skill activity panel.

Build the server once, used by every MCP editor

Step zero: clone, install, build

Every MCP editor uses the same compiled dist/mcp/index.js. Skip this step if you only use Claude Code, because the plugin install does it for you.

git clone https://github.com/sarmakska/slipstream
cd slipstream
pnpm install
pnpm build

You need Node 20 or newer on your PATH. Verify with node --version. Sanity check the server: printf '{"jsonrpc":"2.0","id":1,"method":"tools/list"}\n' | node dist/mcp/index.js should print the tool list.

Pick your editor.

Six paths. Five MCP-only, one full plugin. All six give you the dashboard, the budget gauge and the optimization metric.

01MCP path

Cursor

Cursor speaks MCP natively. Build the slipstream server once, register it in either the project or the editor settings, then call sp_map from the agent. The dashboard auto-starts on first MCP call.

Where it lives

.cursor/mcp.json (project root) or Settings, then MCP

.cursor/mcp.json

{
  "mcpServers": {
    "slipstream": {
      "command": "node",
      "args": ["/absolute/path/to/slipstream/dist/mcp/index.js"]
    }
  }
}

After reload, ask your agent to call sp_map, then sp_dashboard. The printed 127.0.0.1 URL opens the live dashboard.

02MCP path

Windsurf

Same MCP path as Cursor. Build the server, register it under the Windsurf config or Cascade MCP settings. Both the activity stream and the optimization metric work; the budget gauge is an estimate unless you paste the actual context count from Cascade.

Where it lives

~/.codeium/windsurf/mcp_config.json or Settings, then Cascade MCP

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "slipstream": {
      "command": "node",
      "args": ["/absolute/path/to/slipstream/dist/mcp/index.js"]
    }
  }
}

Open Cascade and ask the agent to orient with sp_map. The dashboard URL prints when it calls sp_dashboard.

03MCP path

Antigravity

Antigravity exposes the same MCP server block as Cursor and Windsurf. Build once, drop the JSON block under Settings, MCP, and the dashboard plus sp_ tools are live.

Where it lives

Settings, then MCP section in Antigravity

Settings, MCP block

{
  "mcpServers": {
    "slipstream": {
      "command": "node",
      "args": ["/absolute/path/to/slipstream/dist/mcp/index.js"]
    }
  }
}

Reload the project. Antigravity discovers the server, your agent gets the sp_ toolset and the dashboard panel as soon as a tool fires.

04Plugin path

VS Code with Claude Code (the full experience)

This is the canonical path. The whole plugin runs here: skills, hooks, slash commands, lossless compaction, statusline, the live dashboard with the Memory search panel, and self-building observation memory. Two lines in Claude Code chat install everything.

Where to type these

In the Claude Code chat panel inside VS Code

Two-line install

/plugin marketplace add sarmakska/slipstream
/plugin install slipstream

Reload if prompted, then build the project map once with /slipstream:map. From here Claude reads the index and pulls single slices via sp_symbol and sp_lines instead of whole files. Verify the install with /slipstream:doctor, which prints a PASS or FAIL line per check.

What you get only here

  • Self-building observation memory through the Stop hook, no manual /remember required
  • Lossless compaction via the PreCompact hook (digest + reload)
  • True context tokens read from the session transcript, shown as ctx 47%* with the asterisk marking an exact reading
  • All slash commands: /slipstream:doctor, /slipstream:status, /slipstream:remember, /slipstream:recall, /slipstream:mindmap
  • The statusline showing cp | ctx 12% ok | mem 4 | obs 37 | opt 71% | skill scoped-read
  • 63 agent skills, three subagents (sp-shipper, sp-schema, sp-reviewer) and the terse /output-style slipstream
05MCP path

VS Code (without Claude Code, MCP only)

A plain VS Code session with any MCP-capable agent extension still gets the sp_ tools, the cross-IDE dashboard, and the optimization metric. Register the same MCP block your extension reads.

Where it lives

Wherever your VS Code agent extension reads mcpServers from

Your extension's mcpServers block

{
  "mcpServers": {
    "slipstream": {
      "command": "node",
      "args": ["/absolute/path/to/slipstream/dist/mcp/index.js"]
    }
  }
}

Reload the extension. The agent now has every sp_ tool, the dashboard, and the optimization metric. No hooks, no slash commands, no statusline.

06MCP path

JetBrains (IntelliJ, PyCharm, WebStorm, GoLand, RustRover, Android Studio)

JetBrains AI Assistant ships an MCP host. Build the slipstream server once, register it under AI Assistant settings, and any JetBrains IDE on the same machine picks up the sp_ tools and the live dashboard. Skills, hooks, slash commands and lossless compaction remain Claude Code only; everything else from the MCP path works the same as Cursor or Windsurf.

Where it lives

Settings, Tools, AI Assistant, then the MCP servers panel

Steps inside any JetBrains IDE

  1. Open Settings, then Tools, then AI Assistant.
  2. Open the MCP servers panel (the JetBrains AI Assistant MCP host).
  3. Add a new server, paste the JSON block below, save, then restart the IDE.
  4. Ask the agent to call sp_map, then sp_dashboard. The printed 127.0.0.1 URL opens the live dashboard.

mcpServers block

{
  "mcpServers": {
    "slipstream": {
      "command": "node",
      "args": ["/absolute/path/to/slipstream/dist/mcp/index.js"]
    }
  }
}

Works in IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover and Android Studio. The full setup walkthrough lives in the Install in JetBrains wiki page.

What works where, honest table

The capabilities matrix.

CapabilityClaude CodeCursor / Windsurf / Antigravity / VS Code
sp_ navigation + memory toolsYesYes
Live activity dashboardYes, via hooksYes, via MCP-server-emitted events
Token-budget gaugeYes, true count from transcriptYes, estimated (paste actualTokens to calibrate)
Auto-start dashboardYes, SessionStart hookYes, MCP server boots it
Optimization metric (opt %)Yes, exactYes, exact (works everywhere)
Auto-captured observation memoryYes, Stop hookPartial: run slipstream observe, or capture via dashboard feed
Skills, slash commands, statuslineYes, fullNo, replaced partially by MCP tools and dashboard
Lossless compaction (PreCompact digest)YesNo, hook-only feature
Troubleshooting

When something does not behave.

A slash command returns "Unknown command"
The editor is not Claude Code, so the plugin layer is not loaded. Use the MCP path, or open the project inside Claude Code in VS Code.
The MCP server does not appear
Confirm the path in the config is absolute and points at dist/mcp/index.js, that you ran pnpm build, and that node --version is 20 or newer. Test it directly:
printf '{"jsonrpc":"2.0","id":1,"method":"tools/list"}\n' | node dist/mcp/index.js
Node not found in a hook
Install Node 20 or newer and make sure it is on the PATH the editor inherits. Restart VS Code so the integrated terminal picks it up.
Budget gauge looks low or stuck on an estimate
Outside Claude Code there is no readable session transcript over MCP, so the gauge defaults to the context slipstream pulled in. Open .claude/slipstream/budget.json and paste the real context count from your editor into actualTokens to calibrate it.
No memory loads at session start
There is no memory yet. Save one with /slipstream:remember (Claude Code), or just let the Stop hook fold observations after the first few turns. From session two onward, signal-ranked recall and the digest reload kick in.

Already running? Watch it work.

Open the printed 127.0.0.1 URL the first time the agent calls a tool. The dashboard fills as scoped reads land, the Memory search panel queries your project's observations, and the Session work panel shows what slipstream optimised.