Vibe reversing with IDA Pro (enhanced fork)
Project description
IDA Pro MCP (Enhanced Fork)
中文文档 | English
An enhanced fork of mrexodia/ida-pro-mcp - MCP Server for LLM-assisted reverse engineering in IDA Pro.
What's Different from Original
| Feature | Original | This Fork |
|---|---|---|
| Multi-instance Support | ❌ Port conflict crashes | ✅ Auto port increment (13337→13346) |
| Web Configuration | ❌ None | ✅ Bilingual UI at /config.html |
| API Key Auth | ❌ None | ✅ Bearer token + env var support |
| Server Startup | Manual hotkey | ✅ Auto-start on IDA launch |
| Hotkey Conflicts | Occupies Ctrl+Alt+M | ✅ No hotkey, menu-only |
| Config Persistence | None | ✅ Saved per IDB database |
Key Enhancements
- Port Conflict Auto-Retry: Multiple IDA instances automatically use different ports
- Web Config UI:
http://localhost:13337/config.htmlwith English/中文 interface - API Key Authentication: Secure remote access with Bearer token
- Bug Fixes: Thread safety, regex handling, type parsing errors fixed
Installation
pip install ida-pro-mcp-xjoker
ida-pro-mcp --install
Restart IDA Pro completely after installation.
Quick Start
- Open a binary in IDA Pro
- MCP server starts automatically on
http://127.0.0.1:13337 - Configure your MCP client:
# Claude Code
claude mcp add ida-pro-mcp http://127.0.0.1:13337/mcp
# With API Key authentication
claude mcp add --transport http ida-pro-mcp http://127.0.0.1:13337/mcp \
--header "Authorization: Bearer your-api-key"
- Open web config at
http://127.0.0.1:13337/config.htmlto customize settings
Requirements
- Python 3.11+
- IDA Pro 8.3+ (9.0 recommended), IDA Free not supported
- Any MCP-compatible client
API Overview
71 MCP Tools including:
| Category | Tools |
|---|---|
| Analysis | decompile, disasm, xrefs_to, callees, callers, basic_blocks |
| Memory | get_bytes, get_string, get_int, patch |
| Types | declare_type, set_type, infer_types, read_struct |
| Modify | set_comments, rename, patch_asm |
| Search | find_bytes, find_insns, find_regex |
| Debug | dbg_* (20+ debugger tools, enable with ?ext=dbg) |
| Python | py_eval - execute Python in IDA context |
24 MCP Resources for read-only access:
ida://idb/metadata,ida://cursor,ida://structs,ida://xrefs/from/{addr}, etc.
Headless Mode
# SSE transport
ida-pro-mcp --transport http://127.0.0.1:8744/sse
# With idalib (no GUI)
idalib-mcp --host 127.0.0.1 --port 8745 /path/to/binary
Links
- Original Project by mrexodia
- Changelog
- Issues
License
MIT - Same as original project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ida_pro_mcp_xjoker-1.0.2.tar.gz.
File metadata
- Download URL: ida_pro_mcp_xjoker-1.0.2.tar.gz
- Upload date:
- Size: 97.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e0e5241c4abff83c3fc004170afe53660a408703e3a38f250f68682609a622
|
|
| MD5 |
a4e2fefe8fcceae6e3a87f5d90bfa6c7
|
|
| BLAKE2b-256 |
a741f2313b6ad391e5f3d846b1a7d0c2e86f8d4ee7f5fa127bbf6e1fe268cdf1
|
File details
Details for the file ida_pro_mcp_xjoker-1.0.2-py3-none-any.whl.
File metadata
- Download URL: ida_pro_mcp_xjoker-1.0.2-py3-none-any.whl
- Upload date:
- Size: 112.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a89013d29fa0540d4a5bf287cc1b1bbf54260ebb2fb436ca503d73cb7062d2a
|
|
| MD5 |
663d8bb21aa56302c73bd6a593a5bc89
|
|
| BLAKE2b-256 |
26679cee7a5eab25c54dd26ed4669c98a9c0a382ecb21dcabb8d6ebbac3d0449
|