Baton MCP server
tech.kasabeh/baton·v0.3.0·27 starsPass the baton between coding agents: convert sessions across Claude Code, OpenCode, Codex & more.
27 stars41 downloads/wk
Reviews
Write oneNobody has reviewed Baton yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Baton tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan6 source files scanned15/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 24 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year6/10
Findings (2)
- mediumnpm install lifecycle script present
install.script - mediumnpm install lifecycle script present
install.scriptpackage.json: …check": "prettier --check **/*.js", "postinstall": "node ./install.js" }, "supportedPl…
How Baton compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 74/100
- higher than 40% of 48,255 servers
- GitHub stars
- 27
- more than 91% of 28,688 servers
- Downloads a week
- 41
- more than 33% of 12,191 servers with a package
Install Baton in Claude Code, Cursor or VS Code
Runs npx -y @kasabeh/baton-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add baton -- npx -y @kasabeh/baton-mcp
What the publisher says
From the Baton repository's README, as published. We do not edit it. Read it on GitHub
Pass the baton between coding agents.
Convert any coding-agent session to any other. One command. Keep going where you left off.
A passed transcript kept 14/17 concrete facts. A hand-written handoff summary kept 3/17. Benchmark ↓
The 4 p.m. problem
It's 4 p.m. Claude Code says "usage limit reached — resets at 10 p.m." You're three hours into a session: architecture decided, edge cases mapped, half the diff written.
❌ Without baton — open another agent and start from zero. Re-explain the plan. Re-read the files. Re-litigate every decision you already made.
✅ With baton — pass the session and keep going:
baton convert --from claude-code --to opencode --latest --import
# using latest claude-code session: 2026-07-09 15:58 Refactor the auth middleware to…
# passed baton: claude-code → opencode (1388 messages) → handoff.json
# Imported session: ses_8c4c973a521549e2
opencode -s ses_8c4c973a521549e2 # same conversation, different runnerWorks in every direction: switch agents mid-task, try a second opinion on a hard bug, move a session from your editor agent to a terminal agent, or archive everything in one format.
Quick start
# zero-install run (downloads prebuilt binary)
npx @kasabeh/baton-mcp --help
# convert your most recent session + auto-import into the target agent
baton convert --from claude-code --to opencode --latest --import
# or omit the path to pick interactively — newest first,
# each session previewed by its first user message
baton convert --from claude-code --to opencode --import
# or pass an explicit session file
baton convert --from claude-code --to opencode <session.jsonl> --import
# see every session on your machine, across all agents
baton listWhere do session files live?
You never have to hunt these down (--latest and the interactive picker find them for you), but for reference — each agent stores its transcripts on disk:
baton list prints the path of every session it can find, across all agents.
Supported formats
¹ Cursor reads from exported JSON (sqlite3 state.vscdb "SELECT value FROM ItemTable WHERE key='aiService:chats'")
² Not planned: Cursor and Cline keep session state inside editor databases (SQLite / VS Code globalState) with no file-level import path.
Benchmark
Does carrying the full transcript beat writing a handoff summary for the next agent? We measured both on a real 3.4 MB Claude Code session (same model both arms, only the context differs):
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Baton: common questions
- Is Baton MCP server safe?
- Mostly: it is graded B (74/100). Read the Baton safety report
- How do I install Baton?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Baton need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Baton maintained?
- The last commit was 64 days ago (2026-09-01). The latest release is v0.3.0.
- What can I use instead of Baton?
- Servers from other publishers that do the same job: Claudexor MCP server and Deja Vu MCP server.
- How does Baton compare with other MCP servers?
- safety score 74/100 (higher than 40% of 48,255 servers); github stars 27 (more than 91% of 28,688 servers); downloads a week 41 (more than 33% of 12,191 servers with a package). Full comparison.
Alternatives to Baton
Same job from other publishers: the closest match first, then the best rated.