sessions-mcp
sessions-mcp
Search, share, and pull your AI coding-agent sessions — Claude Code and Codex — from inside the agent itself. A small MCP server: no account, no signup, one-command install.
Share the current session as a link. Anyone with the link can view it and pull the full session into their own agent to build on it.
Automatic capture: every session is uploaded + summarized on its own — you never have to remember to save. Sharing stays explicit.
Search your past sessions by meaning ("how did I fix that flaky auth thing") — not just keywords.
Pull a shared session into your current one to continue where someone left off.
Install (one command)
You keep using Claude Code / Codex exactly as-is.
Needs: node ≥ 18, and at least one of Claude Code / Codex / mo. macOS and Linux.
(The installer is POSIX sh and takes curl or wget, so it needs nothing else — bare Alpine works.)
Don't assume your agent already brought node: Claude Code's native install and mo are standalone
binaries, so only an npm-installed Codex guarantees it. The server needs node at runtime too — it
runs on every session, not just at install. 18 is the floor because the client uses global fetch;
the installer refuses anything older, since on node 16 it would install cleanly and then fail every
upload from inside a hook where the error is never seen.
curl -fsSL https://raw.githubusercontent.com/danielamiao/sessions-mcp/main/install.sh | shOr from a checkout, which installs the bundle you just built instead of downloading one:
./install.shEither way the server lands at ~/.sessions-mcp/sessions-mcp.mjs and the config points there, so
you can delete the checkout afterwards. Re-running is safe, and switches an existing install to the
current path rather than leaving a stale one behind.
The installer wires whichever harnesses it finds — it doesn't require any particular one:
what it does | |
Claude Code | registers the MCP server at user scope, wires the capture hooks, adds |
mo | registers the server in |
Codex | prints the |
Start a new agent session afterward.
Piping a script into
bashmeans running whatever that URL serves today. This one has no CI and the bundle it fetches is a hand-built artifact committed to the repo, so nothing signs or reproduces it — readinstall.shfirst if that matters to you, or clone and use the checkout path.
Then just ask your agent: "share this session" or "find my session about X."
What it does with your data
This talks to a small hosted backend. When you share a session, its full transcript becomes
readable and pullable by anyone with the link — treat a share link like a public paste. Captured
sessions are private to your (anonymous) token until you share them, and hosted copies expire after
~30 days. Obvious key shapes (sk-ant-…, sk-…, gwk_live_…, AKIA…, Bearer …) are scrubbed on
your machine before upload, and again server-side — but pattern-matching only catches what it
recognises, so it is a backstop, not a guarantee. This is a personal project shared as-is (see the
LICENSE) with no warranty — don't put anything you couldn't paste into a public gist.
Point it at a different backend with SESSIONS_MCP_URL if you run your own.
Build from source
npm install && npm run build && npm run bundle # produces dist/sessions-mcp.mjs
npm test