Skip to main content
Glama

fathom

Current release: 1.0.0 (2026-10-29). Deferred items are listed in COMPLIANCE.md; release history in CHANGELOG.md.

Clean-room reverse-engineering MCP, written in Rust: 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 clean-room Rust

Upstream REA is TypeScript/Node distributed through npm. Fathom 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-server — 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 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.
    481,841 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    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.
    481,841 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    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.
    481,841 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Serves 170 reverse-engineering tools over a local stdio MCP process, letting an agent drive disassembly, decompilation, and dynamic analysis through the engines already installed on the user's machine (Ghidra, Hopper, IDA, JEB, JADX, adb, mitmproxy, Chrome). Binaries never leave the host, and every finding comes back with an evidence contract covering evidence ids, capture tool, coverage, and explicit unknowns.
    MIT