VS CodeVS CodeCursorCursorWindsurfWindsurfAntigravityAntigravityClaude CodeClaude Code

Context that survives IDE switches

Local-first developer memory on Supermemory. Capture intent, open Context, share sanitized capsules.

Extension-first install. CLI starts your local backend. MCP connects Cursor and Claude Code to the same project graph.

src/share.tsVS Code
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}
engram · capturelive
  • vscodesrc/share.ts
  • vscodefetchPublicShare(…)
  • vscodeTypeError: Cannot read property…
  • terminalnpm test → exit 1
src/share.tsCursor
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}

Context injected via MCP · same capsule from VS Code

Capsule loaded

project: engram · feat/share-flow

Product flow

Capture → Context → Share

One continuous tour: capture in VS Code, switch to Cursor with the same capsule, let MCP answer, then share a sanitized link.

01

Capture

Extension + hooks write high-signal events to Supermemory — files, errors, git, failed commands.

src/share.tsVS Code
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}
engram · capturelive
  • vscodesrc/share.ts
  • vscodefetchPublicShare(…)
  • vscodeTypeError: Cannot read property…
  • terminalnpm test → exit 1
src/share.tsCursor
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}

Context injected via MCP · same capsule from VS Code

Capsule loaded

project: engram · feat/share-flow

Chatsrc/share.tsCursor · MCP

You

Why is fetchPublicShare throwing on missing token?

Agent · engram context

From your capsule: recent error in src/share.ts:42 Cannot read property 'token'. Branch feat/share-flow.

capsule · engram
MCP tools ready · same graph as VS Code
share · sanitizedeterministic

Redaction findings

  • api_keySUPABASE_SERVICE_ROLE_KEY

    blocked from snapshot

  • path/Users/you/Engram/.env

    home path redacted

  • secretsk-••••••••••••

    OpenAI key in stderr_tail

Public link · 7 days

https://engram-context.vercel.app/share/k7mN2pQx9vLw

Copy MarkdownImport Share
02

Context

Capsule Assembler builds a structured brief on read. Same JSON in sidebar, dashboard, and MCP.

src/share.tsVS Code
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}
engram · capturelive
  • vscodesrc/share.ts
  • vscodefetchPublicShare(…)
  • vscodeTypeError: Cannot read property…
  • terminalnpm test → exit 1
src/share.tsCursor
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}

Context injected via MCP · same capsule from VS Code

Capsule loaded

project: engram · feat/share-flow

Chatsrc/share.tsCursor · MCP

You

Why is fetchPublicShare throwing on missing token?

Agent · engram context

From your capsule: recent error in src/share.ts:42 Cannot read property 'token'. Branch feat/share-flow.

capsule · engram
MCP tools ready · same graph as VS Code
share · sanitizedeterministic

Redaction findings

  • api_keySUPABASE_SERVICE_ROLE_KEY

    blocked from snapshot

  • path/Users/you/Engram/.env

    home path redacted

  • secretsk-••••••••••••

    OpenAI key in stderr_tail

Public link · 7 days

https://engram-context.vercel.app/share/k7mN2pQx9vLw

Copy MarkdownImport Share
03

Share

Deterministic redaction → 7-day link. Copy Markdown or Import into a local capsule.

src/share.tsVS Code
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}
engram · capturelive
  • vscodesrc/share.ts
  • vscodefetchPublicShare(…)
  • vscodeTypeError: Cannot read property…
  • terminalnpm test → exit 1
src/share.tsCursor
38export async function fetchPublicShare(token: string) {
39 const res = await fetch(`/api/shares/${token}`);
40 if (!res.ok) throw new Error("Share not found");
41 return res.json();
42}

Context injected via MCP · same capsule from VS Code

Capsule loaded

project: engram · feat/share-flow

Chatsrc/share.tsCursor · MCP

You

Why is fetchPublicShare throwing on missing token?

Agent · engram context

From your capsule: recent error in src/share.ts:42 Cannot read property 'token'. Branch feat/share-flow.

capsule · engram
MCP tools ready · same graph as VS Code
share · sanitizedeterministic

Redaction findings

  • api_keySUPABASE_SERVICE_ROLE_KEY

    blocked from snapshot

  • path/Users/you/Engram/.env

    home path redacted

  • secretsk-••••••••••••

    OpenAI key in stderr_tail

Public link · 7 days

https://engram-context.vercel.app/share/k7mN2pQx9vLw

Copy MarkdownImport Share

Compatibility

Works where you already code

VS Code, Cursor, VSCodium, and Claude via MCP. Optional terminal and git hooks enrich capture — extension is the primary client.

VS CodeVS Code
CursorCursor
WindsurfWindsurf
AntigravityAntigravity
Claude CodeClaude Code
TerminalTerminal
GitGit
MCPMCP
SupermemorySupermemory

Share

Hand off context without shipping your graph

Share uploads a sanitized capsule snapshot — not your Supermemory graph. Links expire in 7 days. Anyone can Copy Markdown; teammates with Engram can Import into their workspace.

https://engram-context.vercel.app/share/••••••••••••
  • Deterministic redaction
  • 7-day expiry
  • Revocable by owner
  • No account to view

Start capturing context

Install the extension, then run npx @engram-cli/engram start

Install

Three paths in — one context graph

MCP setup

Add to ~/.cursor/mcp.json

{
  "mcpServers": {
    "engram": {
      "command": "npx",
      "args": ["-y", "@engram-cli/engram", "mcp"],
      "env": { "ENGRAM_BACKEND_URL": "http://localhost:7731" }
    }
  }
}

Cursor Settings → MCP, or edit the file directly. Requires @engram-cli/engram on npm and a running local backend.