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
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.
| URL | Auth | Access |
|---|---|---|
| /mcp/v/<token> | None - the share token is the capability | Read-only, no account |
| /mcp/s/<session-id> | Authorization: Bearer <token> | Your role on the session, re-checked per call |
app.reverser.space/v/<token>. Mint one from the Share dialog in the app. It is always read-only.GET /api/sessions. The write tools appear only when your account can edit that session.Claude Code
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
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>" }
}
}
}
url at /mcp/v/<token> and drop the headers block entirely. No account, no bearer.Confirm and clean up
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
| Symptom | Cause |
|---|---|
| 404 on connect | Invalid 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 tools | A share-link server is always read-only, or your account is only a viewer on that session |
| First call is slow | The session was idle and is reopening from its saved Ghidra project - it settles after a few seconds |
Bring your own agent, or invite ours. Either way it joins the session like a teammate - attributed, permission-capped, on your key.