idamesh
An MCP server that exposes IDA Pro's disassembler and Hex-Rays decompiler as tools and resources, enabling parallel binary analysis with multiple agents through a supervisor.
README
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.
<!-- mcp-name: io.github.JordanRO2/idamesh -->
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.