remote MCP server · no API key

Decompile .NET & JVM binaries through MCP

backtrip-web puts the backtrip decompiler's capability surface — type inventories, ildasm/javap-style disassembly, JSON metadata, and obfuscation radar — behind one stateless MCP endpoint your agents can call. Point a client, upload a binary, read bytecode.

mcp config
{
  "mcpServers": {
    "backtrip": {
      "url": "https://backtrip.org/api/mcp"
    }
  }
}

Works with any MCP client that speaks Streamable HTTP — Claude Code, Cursor, opencode, and friends.

remote mcp

One endpoint, five tools

Streamable HTTP at /api/mcp. Stateless, rate-limited to 60 req/min per IP, inputs up to 3 MB — format auto-detected from magic bytes.

list_types

Inventory a binary: fully-qualified .NET type names or Java class names (every class in a jar).

file_base64

decompile

Java source from .class/.jar: reconstructed control flow, string concat, try/catch, enums, generics. (C#: coming soon.)

file_base64, type_filter?

disassemble

ildasm-style CIL for .NET, javap-style bytecode for JVM — with an optional type filter.

file_base64, type_filter?

metadata_json

.NET type/method/field surface as a structured JSON model. .NET only.

file_base64

detect_obfuscation

Non-printable names, giant switches, string-encryption patterns — with severities. .NET only.

file_base64, format?

tools/call
// tools/call: disassemble a JVM class file
{
  "name": "disassemble",
  "arguments": {
    "file_base64": "<base64 of HelloWorld.class>"
  }
}

Deterministic by design

No LLM, no scraping, no heuristics drift — the same bytes always produce the same report. The engine is golden-tested byte-for-byte against the backtrip Rust CLI.

playground

Disassemble something

This calls the same /api/mcp endpoint your MCP client would use — nothing is mocked. Drop a .dll, .exe, .class, or .jar, or start from a sample.

Drop a binary here

or click to browse · .dll .exe .class .jar · max 3 MB

output
// pick a file and run a tool
// output appears here

capabilities

What the endpoint gives your agents

Every tool is deterministic, dependency-free, and backed by the same parsing engine as the backtrip CLI.

Two back ends, one engine

A single MCP endpoint understands .NET assemblies (.dll/.exe), JVM class files, and jar archives — input format is detected from magic bytes, not file extensions.

ildasm-style IL

CIL bytecode rendered as readable ildasm-flavored text: IL_XXXX labels, resolved string literals from the #US heap, type/method/field tokens, and declared locals.

javap-style disassembly

JVM bytecode rendered javap-flavored: per-method code listings, resolved constant-pool operands, exception tables, and access flags — for loose .class files and whole jars.

Type inventory

List every type in an assembly or every class in a jar: fully-qualified ECMA-335 names with nested types as Parent/Child, dotted Java binary names, zero setup.

Metadata as JSON

Export a .NET assembly's type/method/field surface as structured JSON — a machine-readable scan for agents, without decompiling a single method body.

Obfuscation radar

Scan .NET inputs for non-printable names, 100+-character identifiers, giant switch statements (control-flow flattening), and single-decrypt-method string encryption.

Stateless & serverless

Streamable HTTP at /api/mcp with no API key, no session, no LLM. Deterministic byte-level parsing that runs in milliseconds on a serverless function.

Faithful port, golden-tested

The TypeScript engine is a port of the backtrip Rust decompiler, verified byte-for-byte against the original CLI on real .NET and Java fixtures.

quick start

Connect in one line

Any MCP client that supports Streamable HTTP can talk to backtrip-web. No keys, no installs.

Claude Code

shell
# Claude Code
claude mcp add --transport http backtrip https://backtrip.org/api/mcp

Cursor

.cursor/mcp.json
# Cursor (.cursor/mcp.json)
{
  "mcpServers": {
    "backtrip": {
      "url": "https://backtrip.org/api/mcp"
    }
  }
}

Self-host

shell
# Self-host the upstream CLI + local MCP instead
cargo install backtrip
bun install && vercel dev    # http://localhost:3000/api/mcp

faq

Questions, answered

backtrip is a decompiler written in Rust that turns .NET assemblies into C# and JVM class files into Java, with IL/javap-style disassembly, JSON metadata export, obfuscation detection, and structural verification. backtrip-web is its hosted sibling: the same capability surface exposed as tools over the Model Context Protocol.