
anhed0nic/ida-headless-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Headless IDA Pro binary analysis via Model Context Protocol
개요
Headless IDA Pro binary analysis via Model Context Protocol. Go orchestrates multi-session concurrency while Python workers handle IDA operations. - Multi-session concurrency via process isolation - 52 MCP tools for binary analysis - Il2CppDumper and Blutter metadata import support Server exposes both transports on port 17300 (configurable via config.json, env, or --port): - Streamable HTTP (recommended): http://localhost:17300/ - SSE compatibility endpoint: http://localhost:17300/sse Edit ~/Library/Application Support/Claude/claude_desktop_config.json: Copy .claude/settings.json to ~/.claude/settings.json to grant access to all 51 IDA MCP tools. Use tools/list via MCP to see all available tools. Environment variables (overridden by CLI flags):
README
원문 README의 일부입니다. 원문 보기.
IDA Headless MCP Server
Headless IDA Pro binary analysis via Model Context Protocol. Go orchestrates multi-session concurrency while Python workers handle IDA operations.
Architecture
┌─────────────────┐
│ MCP Client │ Claude Desktop, Claude Code, CLI
│ (HTTP/SSE) │
└────────┬────────┘
│ http://localhost:17300/
▼
┌─────────────────┐
│ Go Server │ Session registry, worker manager, watchdog
│ (MCP Tools) │
└────────┬────────┘
│ Connect RPC over Unix socket
▼
┌─────────────────┐
│ Python Worker │ IDA + idalib (one per session)
│ (per session) │
└─────────────────┘
Key features:
- Multi-session concurrency via process isolation
- 52 MCP tools for binary analysis
- Il2CppDumper and Blutter metadata import support
Prerequisites
-
IDA Pro 9.0+ or IDA Essential 9.2+
-
idalib - Install and activate:
./scripts/setup_idalib.sh -
Go 1.21+ with protoc tools:
make install-tools -
Python 3.10+ with Connect:
pip3 install connect-python -
Optional: Il2CppDumper for Unity game analysis
-
Optional: Blutter for Flutter/Dart app analysis
Installation
git clone
cd ida-headless-mcp
./scripts/setup_idalib.sh
make install-tools
make build
Usage
Start Server
./bin/ida-mcp-server
Server exposes both transports on port 17300 (configurable via config.json, env, or --port):
- Streamable HTTP (recommended):
http://localhost:17300/ - SSE compatibility endpoint:
http://localhost:17300/sse
Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ida-headless": {
"url": "http://127.0.0.1:17300/",
"type": "http"
}
}
}
Restart Claude Desktop after editing.
Configure Claude Code
Copy .claude/settings.json to ~/.claude/settings.json to grant access to all 51 IDA MCP tools.
Basic Workflow
1. open_binary(path="/path/to/binary.so")
→ {"session_id": "abc123", "has_decompiler": true}
2. run_auto_analysis(session_id="abc123")
→ {"completed": true}
3. get_entry_point(session_id="abc123")
→ {"address": 4198400}
4. get_decompiled_func(session_id="abc123", address=4198400)
→ {pseudocode...}
5. get_functions(session_id="abc123")
→ {"functions": [...], "count": 1523}
6. close_binary(session_id="abc123")
→ {"success": true}
Use tools/list via MCP to see all available tools.
Configuration
Command-line flags:
./bin/ida-mcp-server \
--port 17300 \
--max-sessions 10 \
--session-timeout 4h \
--worker python/worker/server.py \
--debug
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →설정
{
"mcpServers": {
"ida-headless": {
"url": "http://127.0.0.1:17300/",
"type": "http"
}
}
}