Skip to main content
Glama

fathom

Rust port of REA (Reverse Engineer Anything): one provider-neutral MCP server for reverse engineering — native binaries, JavaScript/Electron applications, .NET assemblies, web captures, EVM bytecode, and process behavior — where every result is an evidence envelope that states what was observed, what was derived, what was not examined, and what the provider cannot establish.

The design is specified in SPEC.md: capability inventory mapped from upstream's public contracts, per-capability Rust strategy, evidence and error models, a deterministic fail-closed policy engine, and the staging plan. Design source: morluto/rea (MIT), credited in NOTICE; no upstream code is used.

Why a Rust port

Upstream REA is TypeScript/Node distributed through npm. This port exists to keep the capability on a Rust-first, pinned, auditable supply chain — the estate's standing direction (SPEC §1).

Related MCP server: REA

Shape

  • fathom-core — config, error contracts, evidence model, policy, tool registry, confinement, bounded processes.

  • fathom-mcp — MCP stdio + streamable HTTP transports.

  • fathom-a2a — signed A2A agent card (JCS + Ed25519).

  • fathom-native — Ghidra headless provider + binary layout (goblin).

  • fathom-js — JavaScript/Electron static analysis (oxc) + ASAR.

  • fathom-managed — .NET PE/CLI metadata (manual ECMA-335).

  • fathom-observe — process capture, HAR reading, EVM selectors.

  • fathom-cli — the fathom binary (serve, card, doctor, one-shot analysis).

Build

nix build          # or: nix develop, then cargo build --workspace
cargo test --workspace

License

This project is licensed under the Apache License, Version 2.0.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to run hardened, read-only radare2-based static binary triage tools, including disassembly, cross-reference following, string decoding, function renaming, and evidence-checked report generation without executing the sample.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to inspect and reverse engineer native binaries, JavaScript/Electron applications, .NET assemblies, websites, and runtime behavior, returning evidence-backed findings that can be explained, implemented, or tested.
    307,234 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables agents to reverse-engineer software across native binaries, managed code, Electron apps, websites, and live runtime behavior, returning findings linked to the evidence and limitations behind each conclusion. It also maintains a durable workspace where those behaviors can be inspected, questioned, compared against real execution, and exported as runnable handoffs.
    307,234 npm
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables agents to take software apart over MCP — native binaries, Go/Rust/.NET assemblies, WASM and EVM bytecode, Android and Flutter apps, firmware, databases, crashes and network captures — returning findings backed by code, references and explicit unknowns. Drives deep-analysis engines such as Hopper, Ghidra, IDA, JADX and Frida entirely locally, letting agents explain behavior or rebuild a feature in your own project.
    307,234 npm
    MIT