IDAssistMCP
स्वतंत्र MCP (Model Context Protocol) सर्वर प्लगइन IDA Pro 9.x के लिए जो IDA की विश्लेषण क्षमताओं को Claude Desktop जैसे LLM क्लाइंट्स के लिए उजागर करता है।

विशेषताएँ
- 41 MCP उपकरण जो बाइनरी विश्लेषण, डीकंपाइलेशन, क्रॉस-रेफरेंस, प्रतीक प्रबंधन, प्रकार प्रणाली, नेविगेशन, पैचिंग, निर्यात और अधिक को कवर करते हैं
- 6 समेकित उपकरण टिप्पणियों, चर, प्रकार, xrefs, बुकमार्क और कोड के लिए
action/format/direction पैरामीटर के साथ
- 8 MCP संसाधन ब्राउज़ करने योग्य बाइनरी मेटाडेटा (ट्राइएज, फंक्शन, इम्पोर्ट, एक्सपोर्ट, स्ट्रिंग्स, जानकारी, सेगमेंट, सेक्शन) के लिए
- 7 निर्देशित प्रॉम्प्ट सामान्य रिवर्स इंजीनियरिंग वर्कफ़्लो (फंक्शन विश्लेषण, कमजोरी पहचान, दस्तावेज़ीकरण, डेटा प्रवाह अनुरेखण, फंक्शन तुलना, संरचना पुनर्प्राप्ति, नेटवर्क प्रोटोकॉल विश्लेषण) के लिए
- SSE और Streamable HTTP ट्रांसपोर्ट हाइपरकॉर्न ASGI सर्वर के माध्यम से
execute_on_main_thread() रैपर के माध्यम से थ्रेड-सुरक्षित IDB संशोधन
- डीकंपाइलेशन जैसे महंगे ऑपरेशनों के लिए LRU विश्लेषण कैश
- लंबे समय तक चलने वाले ऑपरेशनों के लिए Async कार्य प्रबंधक
- पर्यावरण चर समर्थन (
IDASSISTMCP_ उपसर्ग) के साथ Pydantic कॉन्फ़िगरेशन
स्थापना
आवश्यक शर्तें
- Python 3.10+ के साथ IDA Pro 9.x
- Hex-Rays डीकंपाइलर (वैकल्पिक, डीकंपाइलेशन उपकरणों के लिए)
विकल्प 1: IDA प्लगइन प्रबंधक (अनुशंसित)
hcli plugin install idassistmcp
यह स्वचालित रूप से प्लगइन और इसकी Python निर्भरताओं को स्थापित करता है।
विकल्प 2: मैन्युअल स्थापना (रिलीज़ टारबॉल से)
GitHub Releases से नवीनतम रिलीज़ ज़िप डाउनलोड करें और इसे अपने IDA प्लगइन निर्देशिका में निकालें:
Linux / macOS:
unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/
Windows:
Extract the zip into %APPDATA%\Hex-Rays\IDA Pro\plugins\. (कोई अनुवाद नहीं)
फिर IDA के बंडल Python (अपने सिस्टम Python का नहीं) का उपयोग करके निर्भरताएँ स्थापित करें:
Linux / macOS:
<IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssistMCP/requirements.txt
Windows:
"<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssistMCP\requirements.txt"
<IDA_INSTALL_DIR> को अपने IDA Pro स्थापना पथ से बदलें।
सुझाव: आप कस्टम प्लगइन निर्देशिका निर्दिष्ट करने के लिए IDAUSR पर्यावरण चर का भी उपयोग कर सकते हैं।
उपयोग
सर्वर प्रारंभ करना
- IDA Pro में एक बाइनरी खोलें
- Ctrl+Shift+M दबाएँ या Edit > Plugins > IDAssistMCP पर जाएँ
- MCP सर्वर URL IDA की आउटपुट विंडो में मुद्रित होगा
- सर्वर को रोकने के लिए फिर से Ctrl+Shift+M दबाएँ
Claude Desktop कॉन्फ़िगरेशन
अपने Claude Desktop claude_desktop_config.json में जोड़ें:
{
"mcpServers": {
"idassistmcp": {
"url": "http://localhost:9080/mcp"
}
}
}
पर्यावरण चर
IDASSISTMCP_ उपसर्ग के साथ पर्यावरण चर के माध्यम से कॉन्फ़िगर करें:
उपकरण संदर्भ
बाइनरी प्रबंधन (2)
| उपकरण | विवरण |
|---|
list_binaries | वर्तमान में लोड की गई बाइनरी को सूचीबद्ध करें |
get_binary_info | विस्तृत बाइनरी मेटाडेटा (आर्किटेक्चर, हैश, सेगमेंट) |
कोड विश्लेषण (4)
क्रॉस-रेफरेंस (1 समेकित)
| उपकरण | क्रियाएँ | विवरण |
|---|
xrefs | direction: to/from/both, include_calls: bool | किसी पते के लिए Xrefs और वैकल्पिक कॉलर/कैली |
टिप्पणियाँ (1 समेकित)
| उपकरण | क्रियाएँ | विवरण |
|---|
comments | action: get, set, list, remove | टिप्पणियाँ प्रबंधित करें (सामान्य, दोहराने योग्य, फंक्शन) |
चर (1 समेकित)
| उपकरण | क्रियाएँ | विवरण |
|---|
variables | action: list, rename | स्थानीय चर सूचीबद्ध करें, या scope: auto, local, global के साथ स्थानीय/वैश्विक चर का नाम बदलें |
प्रकार (2 — 1 समेकित + 1 स्वतंत्र)
| उपकरण | क्रियाएँ / विवरण |
|---|
types | action: list, set, create_struct, create_enum — IDB प्रकार प्रबंधित करें |
get_classes | प्रकार पुस्तकालय से struct/class प्रकार सूचीबद्ध करें |
फंक्शन खोज (5)
प्रतीक प्रबंधन (2)
| उपकरण | विवरण |
|---|
rename_symbol | किसी भी प्रतीक का नाम बदलें (फंक्शन या डेटा) |
batch_rename | एकाधिक प्रतीकों का बैच नाम बदलें |
बाइनरी जानकारी (5)
डेटा विश्लेषण (6)
पैचिंग (3)
| उपकरण | विवरण |
|---|
patch_bytes | IDB में कच्चे बाइट्स पैच करें |
assemble_code | किसी पते पर निर्देश टेक्स्ट असेंबल करें और वैकल्पिक रूप से इसे पैच करें |
export_program | पैच की गई बाइनरी या IDA डेटाबेस को डिस्क पर निर्यात करें |
नेविगेशन (4)
कार्य प्रबंधन (4)
| उपकरण | विवरण |
|---|
start_task | Async पृष्ठभूमि कार्य प्रारंभ करें |
get_task_status | कार्य प्रगति जांचें |
|
परियोजना संरचना
IDAssistMCP/
├── idassistmcp_plugin.py # IDA plugin_t entry point
├── requirements.txt
├── README.md
└── src/
└── idassist_mcp/
├── __init__.py
├── server.py # FastMCP server + transport
├── context.py # Single-binary IDA context
├── tools.py # 41 MCP tools (IDA API)
├── resources.py # 8 MCP resources
├── prompts.py # 7 guided workflow prompts
├── config.py # Pydantic settings
├── cache.py # LRU analysis cache
├── tasks.py # Async task manager
├── logging.py # IDA logging wrapper
├── utils.py # IDA-specific utilities
└── ui/
└── tool_registry.py # Tool catalog for UI
लाइसेंस
विवरण के लिए LICENSE फ़ाइल देखें।