Skip to main content

Vibe reversing with IDA Pro (enhanced fork)

Project description

IDA Pro MCP (Enhanced Fork)

中文文档 | English

PyPI Python

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.html with 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

  1. Open a binary in IDA Pro
  2. MCP server starts automatically on http://127.0.0.1:13337
  3. 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"
  1. Open web config at http://127.0.0.1:13337/config.html to customize settings

Requirements

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

License

MIT - Same as original project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ida_pro_mcp_xjoker-1.0.2.tar.gz (97.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ida_pro_mcp_xjoker-1.0.2-py3-none-any.whl (112.6 kB view details)

Uploaded Python 3

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

Hashes for ida_pro_mcp_xjoker-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d4e0e5241c4abff83c3fc004170afe53660a408703e3a38f250f68682609a622
MD5 a4e2fefe8fcceae6e3a87f5d90bfa6c7
BLAKE2b-256 a741f2313b6ad391e5f3d846b1a7d0c2e86f8d4ee7f5fa127bbf6e1fe268cdf1

See more details on using hashes here.

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

Hashes for ida_pro_mcp_xjoker-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a89013d29fa0540d4a5bf287cc1b1bbf54260ebb2fb436ca503d73cb7062d2a
MD5 663d8bb21aa56302c73bd6a593a5bc89
BLAKE2b-256 26679cee7a5eab25c54dd26ed4669c98a9c0a382ecb21dcabb8d6ebbac3d0449

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page