idamesh
MCP server for IDA Pro: decompiler, disassembler, and analysis tools for MCP clients.
What can you do with idamesh?
- Read — decompile (Hex-Rays), disassemble, cross-references, call graphs, type
- Query — structured filters over functions, instructions, xrefs, types, imports.
- Analyze — survey / triage, crypto and dangerous-API detection, vulnerability
- Mutate — rename, comment, retype, define code and data, edit stack frames,
- Parallelize — open each database over a private copy so multiple agents can
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
idameshclaude mcp add idamesh -e 'IDADIR=<IDADIR>' -- uvx idamesh==1.0.0 worker
{
"mcpServers": {
"idamesh": {
"command": "uvx",
"args": [
"idamesh==1.0.0",
"worker"
],
"env": {
"IDADIR": "<IDADIR>"
}
}
}
}
Environment variables
IDADIRPath to the licensed IDA Pro installation, used to locate idalib/idapro. Required if IDA's Python API is not already importable on PYTHONPATH.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
idamesh
A Model Context Protocol (MCP) server for IDA Pro. It exposes IDA's disassembler and the Hex-Rays decompiler to MCP clients (Claude and others) as tools and resources, with a supervisor that fronts multiple databases behind one endpoint so several agents can work in parallel.
What it does
- Read — decompile (Hex-Rays), disassemble, cross-references, call graphs, type and struct inspection, memory reads, and string / byte / text search.
- Query — structured filters over functions, instructions, xrefs, types, imports.
- Analyze — survey / triage, crypto and dangerous-API detection, vulnerability heuristics, stack-string reconstruction, and dataflow / taint tracing.
- Mutate — rename, comment, retype, define code and data, edit stack frames, patch bytes / assembly, bookmarks, and annotation export / import.
- Parallelize — open each database over a private copy so multiple agents can work the same binary at once, and merge their edits back into one database.
Read-only IDB state is also projected as ida://… MCP resources.
Requirements
- Python 3.9+
- A licensed IDA Pro install providing the
idapro/idalibPython API. Point theIDADIRenvironment variable at your IDA installation directory.
Install
pip install idamesh
Or from a clone, for development:
pip install -e .[dev] # editable install + pytest, to run the test suite
This provides the idamesh command with three subcommands: worker, supervisor,
and install.
Usage
Headless worker — one database on stdio (the client launches it):
idamesh worker /path/to/target.exe
Supervisor — one HTTP endpoint fronting many databases:
idamesh supervisor # http://127.0.0.1:8745/mcp
Open and close databases behind it with the idb_open / idb_list / idb_close
tools; route any tool to a session with an optional database key (omit it when a
single database is open). Opening the same binary twice yields two independent
sessions; idb_merge reconciles their edits.
GUI plugin — serve MCP over your live, open IDA database:
idamesh install # deploy the plugin into IDA's user directory, then restart IDA
Run idamesh supervisor (or set IDAMESH_AUTOLAUNCH_SUPERVISOR=1 to have the
plugin start one), then open a binary in IDA — the supervisor adopts the live
session and routes to it.
Both the worker (--transport http) and the supervisor speak MCP Streamable
HTTP at a single /mcp endpoint, loopback-bound with Origin validation.
Connect from Claude Code
claude mcp add --scope user --transport http idamesh http://127.0.0.1:8745/mcp
Or launch a single stdio worker directly:
claude mcp add --scope user -e IDADIR=/path/to/IDA-Pro \
idamesh -- idamesh worker /path/to/target.exe
Tests
pip install -e .[dev]
python -m pytest -q
The live idalib end-to-end tests skip cleanly when IDA is unavailable (no
IDADIR), so the suite is green without an IDA install.
License
MIT.
Frequently asked questions
What is idamesh?
MCP server for IDA Pro: decompiler, disassembler, and analysis tools for MCP clients.
How do I install idamesh?
It runs on your machine. In Claude Code: claude mcp add idamesh -e 'IDADIR=<IDADIR>' -- uvx idamesh==1.0.0 worker. For other clients, paste the JSON configuration from this page into their MCP settings.
Does idamesh need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is idamesh open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains idamesh?
It is published by JordanRO2. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.