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

76 MCP Tools including:

Category Tools
Analysis decompile, disasm, xrefs_to, callees, basic_blocks, insn_query, xref_query, func_profile
Composite analyze_function, analyze_batch, analyze_component, survey_binary
Memory get_bytes, get_string, get_int, patch
Types declare_type, set_type, infer_types, enum_upsert, type_query, type_inspect
Modify set_comments, append_comments, rename, patch_asm, define_func, define_code, undefine
Search find_bytes, find_insns, find_regex
Debug dbg_* (20+ debugger tools, enable with ?ext=dbg)
Python py_eval, py_exec_file
Multi-Instance list_instances, select_instance

11 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.2.0.tar.gz (116.2 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.2.0-py3-none-any.whl (133.3 kB view details)

Uploaded Python 3

File details

Details for the file ida_pro_mcp_xjoker-1.2.0.tar.gz.

File metadata

  • Download URL: ida_pro_mcp_xjoker-1.2.0.tar.gz
  • Upload date:
  • Size: 116.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.2.0.tar.gz
Algorithm Hash digest
SHA256 c03eba8a0595746cfc0c1339a37ccd1211c04e555f6bba56177e49a2963e3f92
MD5 af3afa542c174c8f8dd2740317763ba6
BLAKE2b-256 0c1702d8d087e60d3a8492a2023f1a8a5f10900b87e2d506fa1d1ebc462cc0d0

See more details on using hashes here.

File details

Details for the file ida_pro_mcp_xjoker-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ida_pro_mcp_xjoker-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 133.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a0652519c90631dce435db5c8497d7104060731a5f231e9a45df47ffacb38d8
MD5 4648a5bc96f3ceef458e2cae4d36d23a
BLAKE2b-256 1cbd2101d04302fb1b2e6ebfba5b9c0d98c41e26310afcb68bd80f68b164017f

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