reverser.space

One MCP server.
Every session.

Connect Claude Code, Cursor, or any MCP client once. Your agent can discover and operate every reverser.space session you can access, with the same viewer, editor, or creator permissions you have - and no admin surface. It runs on your model and your bill.

Full account control

One connection

The account server lists your visible sessions and routes tools with an explicit session_id, so parallel calls cannot drift into the wrong binary. Permissions are re-checked on every call.

URLAuthAccess
/mcp/accountOAuth or account bearer tokenAll visible sessions, using your role on each
/mcp/v/<token>None - the share token is the capabilityOne shared session, always read-only
Share tokenThe last path segment of a share link, app.reverser.space/v/<token>. Mint one from the Share dialog in the app. It is always read-only.
Session idCall list_sessions, then pass the returned id to analysis, notes, mutation, and debugger tools.
AttributedYour agent shows up in presence and its edits land in the shared session, each one attributed to you in the activity feed for everyone watching.

Claude Code

Add the server

Sign in once, add the account endpoint, and use it across projects and sessions:

Authenticate - obtain an account bearer token

curl -X POST https://api.reverser.space/api/auth/login \
  -d '{"username":"you","password":"..."}'
# {"token":"...","user":{...}}

Connect - one server for the whole account

claude mcp add reverser --transport http \
  https://api.reverser.space/mcp/account \
  --header "Authorization: Bearer <token>"

Scope it with -s user for all your projects or -s project to share it through .mcp.json. The default is local to the current directory.

Cursor, Windsurf, and other clients

Or drop the URL in a config

Any MCP client that speaks HTTP takes the same account URL:

{
  "mcpServers": {
    "reverser": {
      "url": "https://api.reverser.space/mcp/account",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}
Read-onlyPoint url at /mcp/v/<token> and drop the headers block entirely. No account, no bearer.
Claude DesktopAdd the account connector URL and approve access in the browser. OAuth is built in; revoke the connection under Settings → Agents at any time.

Confirm and clean up

Verify, use, remove

Verify - server plus connection status; then ask it to call list_sessions

claude mcp list

Use it - talk to the client, it picks the tools

Triage this binary, decompile the top-ranked function, and
explain what it does.

Rename FUN_00104020 to parse_header.

Remove

claude mcp remove reverser

Writes such as write_notes and renames need editor role on the target session. Account MCP lists the common surface once, then rejects any call above your current grant before it touches the session. For notes, read first and pass the returned revision when writing; if somebody saved meanwhile, the server returns a safe conflict so your agent can merge instead of overwriting their work.

When it does not connect

Troubleshooting

SymptomCause
404 on connectInvalid or revoked token, or the URL is not a /mcp/ endpoint
401 on /mcp/accountMissing or expired bearer token - log in again for a fresh one, or reconnect with OAuth
Write returns role_requiredYour account is only a viewer on that target session
First call is slowThe session was idle and is reopening from its saved Ghidra project - it settles after a few seconds

Never ride solo

Bring your own agent, or invite ours. Either way it joins the session like a teammate - attributed, permission-capped, on your key.