Reverse-engineering MCP for your AI assistants — an MCP server plus a one-click multi-agent installer.
English · 简体中文
v1.0.1 — install the right package. The published CLI is
metis-reverse-cli(npmdist-taglatest→ 1.0.1). The older npm namemetis-reverseis still stuck at 0.0.1 and is not this release. Prefernpx metis-reverse-cli@latest setup. The engine repo also has a moving Git taglatest(currently =v1.0.1) foruvx/ source downloads.
1. Install & connect. You need Node.js 18+ and uv (the MCP engine is pulled with uvx from GitHub; there is no PyPI package yet).
Step-by-step beginner guide: docs/INSTALL.md.
npx metis-reverse-cli@latest setupOr install the CLI globally, then run the same wizard:
npm install -g metis-reverse-cli@latest
metis setup # same binary as `metis-reverse`setup finds coding agents on your machine, shows what it will write (MCP + Skill + Cursor rules), keeps a .bak of existing MCP configs, and asks before writing. When you see Setup complete! Please restart your selected agents to activate Metis Reverse., restart the agent. Check with:
metis doctor
# or: npx metis-reverse-cli@latest doctorRemove only Metis Reverse (other MCP servers stay):
metis uninstallDry-run / preview without writing:
metis preview
# same as: metis setup --dry-runWhich apps it can configure (~23)
setup shows a picker. Skip the menu with --client (repeatable) and --yes, e.g. metis setup --client cursor --client claude_code --yes.
| App | --client |
App | --client |
|---|---|---|---|
| Cursor | cursor |
Claude Code | claude_code |
| Claude Desktop | claude_desktop |
Codex | codex |
| Gemini CLI | gemini_cli |
Antigravity | antigravity |
| VS Code | vscode |
Windsurf | windsurf |
| Trae | trae |
OpenCode | opencode |
| WorkBuddy | workbuddy |
GitHub Copilot CLI | copilot_cli |
| Devin | devin |
Kimi Code | kimi |
| Qwen Code | qwen_code |
Grok Build | grok_build |
| Hermes | hermes |
Qoder | qoder |
| Factory Droid | droid |
OMP | omp |
| Pi | pi |
ZCode | zcode |
| DeepSeek Harness | dsh |
Cursor also gets ~/.cursor/skills/metis-reverse and ~/.cursor/rules/metis-reverse.mdc. Fully quit Claude Desktop before running setup for it.
Advanced: manual MCP config & source install
What setup writes (engine via GitHub + uvx — not npm, not PyPI), pinned to the moving latest tag (currently v1.0.1):
{
"mcpServers": {
"metis-reverse": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Wholiver/metis-reverse.git@latest",
"metis-reverse"
]
}
}
}Same idea on the CLI: uvx --from git+https://github.com/Wholiver/metis-reverse.git@latest metis-reverse.
Optional env (not written by default): GHIDRA_INSTALL_DIR, METIS_SIDECAR_DIR.
From a source checkout (Python 3.10+), clone the latest tag (or v1.0.1):
git clone --branch latest --depth 1 https://github.com/Wholiver/metis-reverse.git
cd metis-reverse
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"Or download the source archive: latest.zip.
Then point MCP command at that environment’s metis-reverse, or keep using the uvx --from git+…@latest form above.
2. Try it. Build the bundled demo, then ask your agent to inspect it with the re_* / js_* tools.
cd demo && makeInspect
demo/demo_target. Triage the binary, decompile the interesting functions, pull evidence for names and types, then verify any hypothesis before you trust it.
About 29 MCP tools in the v1.0.1 engine (handlers under re_* and js_*). Grouped by task below.
Session · triage · artifacts
| Tool | Role |
|---|---|
re_session_manager |
Open / manage analysis sessions |
re_inspect |
First-pass look at a target |
re_triage |
Cheap ranking of what matters |
re_tree_status |
Status of the analysis tree |
re_list_artifacts / re_inspect_artifact |
List and inspect artifacts |
re_capabilities |
What this environment can do |
re_register_child_artifact |
Attach a child artifact |
Binary structure · decompile · schemas
| Tool | Role |
|---|---|
re_inspect_binary_structure |
Layout / sections / structure |
re_read_file_range |
Read a byte range |
re_translate_address |
Address translation |
re_query_function |
Function metadata |
re_decompile_function |
Decompile one function |
re_bridge_map |
Bridge / IPC-style maps |
re_extract_schemas |
Extract schemas / shapes |
JavaScript / Electron-style targets
| Tool | Role |
|---|---|
js_list_modules / js_get_module |
Modules |
js_list_closures |
Closures |
js_search |
Search |
js_functions / js_strings |
Functions and strings |
Hunt · emulate · verify · evidence
| Tool | Role |
|---|---|
re_hunt_crypto_and_hashes |
Crypto / hash hunting |
re_emulate_slice |
Emulate a slice |
re_run_probe_script |
Run a probe |
re_verify_hypothesis |
Test a hypothesis |
re_refine_model |
Refine the working model |
re_diff_and_transfer |
Diff and transfer findings |
re_query_evidence / re_add_finding |
Evidence and findings |
| Command | What it does |
|---|---|
metis setup |
Write MCP + Skill (+ Cursor rules); aliases: init, install |
metis doctor |
Detect clients and whether MCP / Skill are configured; aliases: check, status |
metis uninstall |
Remove only metis-reverse keys / skill / rules; alias: remove |
metis preview |
Dry-run setup (setup --dry-run) |
Bins from the npm package: metis and metis-reverse (same entrypoint).
Running tests (from source)
pytest tests/unit/
pytest tests/e2e/
pytest --cov=metis_reverse tests/Optional backends (Ghidra, compilers, …) are not required for every suite. Expect some skips on a blank machine.
Metis QQ group: 801193315
This project supports the LINUX DO community.
Built with (and optional external tools when you install them yourself):
Show projects
- uv — install &
uvxrunner - @clack/prompts / picocolors — CLI UX
- PyYAML — engine config
- Optional when present: Ghidra, clang / gcc, and other sidecars
Full notices live in THIRD_PARTY_NOTICES.md when that file is in the tree. Contributors: CONTRIBUTORS.md.
Released under the MIT License. Engine + docs: github.com/Wholiver/metis-reverse. CLI on npm: metis-reverse-cli.












