reverser.space

Connect an MCP server
to a session

reverser.space speaks the Model Context Protocol, so you point Claude Code, Cursor, or any MCP client at a session by URL and your own agent is inside it - working the binary with the same tools our own agents use, on your model and your bill. No plugin, no SDK, nothing to install on either side. Read-only needs no account.

One URL per session

Two endpoints

Each server binds one session, so add one per binary you want to work. The URL is the whole configuration - which one you use decides what the agent can do.

URLAuthAccess
/mcp/v/<token>None - the share token is the capabilityRead-only, no account
/mcp/s/<session-id>Authorization: Bearer <token>Your role on the session, re-checked per call
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 idFor read-write, sign in and read it from GET /api/sessions. The write tools appear only when your account can edit that session.
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

Read-only against a share link needs no account. Try it now against the public demo session:

Read-only - share link, no account

claude mcp add reverser --transport http \
  https://app.reverser.space/mcp/v/bc1c0d369bc60cd9aab962d2ee17a99fa5208b2b6385999a

Read-write - sign in, then connect to a session you can edit

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

claude mcp add reverser --transport http \
  https://app.reverser.space/mcp/s/<session-id> \
  --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 URL. Add a server to its config JSON - headers only for the read-write endpoint:

{
  "mcpServers": {
    "reverser": {
      "url": "https://app.reverser.space/mcp/s/<session-id>",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}
Read-onlyPoint url at /mcp/v/<token> and drop the headers block entirely. No account, no bearer.
Claude DesktopNot yet - it wants OAuth for remote servers, which is still on the roadmap. Header-setting clients like Claude Code and Cursor work today.

Confirm and clean up

Verify, use, remove

Verify - server plus connection status; then /mcp inside a session lists its tools

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 a rename need editor role on the session. A viewer, or a read-only share-link server, simply will not list the write tools - so there is nothing to get wrong.

When it does not connect

Troubleshooting

SymptomCause
404 on connectInvalid or revoked token, or the URL is not a /mcp/ endpoint
401 on /mcp/s/Missing or expired bearer token - log in again for a fresh one
Connects but no write toolsA share-link server is always read-only, or your account is only a viewer on that 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.