IDA Pro के लिए स्वतंत्र MCP सर्वर प्लगइन।
[!IMPORTANT] नियोजित संग्रहण: IDAssistMCP को संग्रहित करने की योजना है क्योंकि IDA Pro एक बंडल किया गया नेटिव MCP सर्वर पेश कर रहा है। नेटिव समर्थन एक अलग MCP एकीकरण को बनाए रखने की आवश्यकता को समाप्त करता है और इसे IDA Pro के साथ संरेखित रखता है। कृपया अपने इंस्टॉल किए गए संस्करण में उपलब्ध होने पर IDA Pro के नेटिव MCP सर्वर का उपयोग करें। यह रिपॉजिटरी संदर्भ के लिए उपलब्ध रहेगी।
IDA Pro 9.x के लिए स्टैंडअलोन MCP (Model Context Protocol) सर्वर प्लगइन जो IDA की विश्लेषण क्षमताओं को Claude Desktop जैसे LLM क्लाइंट्स के लिए उजागर करता है।

action/format/direction पैरामीटर हैंexecute_on_main_thread() रैपर के माध्यम सेIDASSISTMCP_ प्रीफ़िक्स)hcli plugin install idassistmcp
यह स्वचालित रूप से प्लगइन और इसकी Python निर्भरताएँ इंस्टॉल करता है।
GitHub Releases से नवीनतम रिलीज़ ज़िप डाउनलोड करें और इसे अपनी IDA प्लगइन्स डायरेक्टरी में एक्सट्रैक्ट करें:
Linux / macOS:
unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/
Windows:
ज़िप को %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एनवायरनमेंट वेरिएबल का भी उपयोग कर सकते हैं।
अपने Claude Desktop claude_desktop_config.json में जोड़ें:
{
"mcpServers": {
"idassistmcp": {
"url": "http://localhost:9080/mcp"
}
}
}
IDASSISTMCP_ प्रीफ़िक्स के साथ एनवायरनमेंट वेरिएबल्स के माध्यम से कॉन्फ़िगर करें:
| Variable | Default | Description |
|---|---|---|
IDASSISTMCP_SERVER__HOST | localhost | सर्वर बाइंड एड्रेस |
IDASSISTMCP_SERVER__PORT | 9080 | सर्वर पोर्ट |
IDASSISTMCP_SERVER__TRANSPORT | streamablehttp | ट्रांसपोर्ट प्रकार (sse या streamablehttp) |
IDASSISTMCP_DEBUG | false | डीबग मोड सक्षम करें |
IDASSISTMCP_LOG_LEVEL | INFO | लॉग स्तर |
| Tool | Description |
|---|---|
list_binaries | वर्तमान में लोड की गई बाइनरी की सूची बनाएँ |
get_binary_info | विस्तृत बाइनरी मेटाडेटा (arch, hashes, segments) |
| Tool | Description |
|---|---|
get_code | फंक्शन कोड प्राप्त करें — format: 'decompile' (pseudo-C) या 'disasm' (assembly) |
analyze_function | व्यापक विश्लेषण: मेटाडेटा, CFG, callers/callees, डीकंपाइलेशन |
get_basic_blocks | successors/predecessors के साथ CFG बेसिक ब्लॉक्स |
get_function_stack_layout | स्टैक फ्रेम लेआउट (locals, args, saved regs) |
| Tool | Actions | Description |
|---|---|---|
xrefs | direction: to/from/both, include_calls: bool | किसी एड्रेस के लिए Xrefs और वैकल्पिक callers/callees |
| Tool | Actions | Description |
|---|---|---|
comments | action: get, set, list, remove | कमेंट्स प्रबंधित करें (regular, repeatable, function) |
| Tool | Actions | Description |
|---|---|---|
variables | action: list, rename | locals की सूची बनाएँ, या scope: auto, local, global के साथ local/global वेरिएबल्स का नाम बदलें |
| Tool | Actions / Description |
|---|---|
types | action: list, set, create_struct, create_enum — IDB टाइप्स प्रबंधित करें |
get_classes | टाइप लाइब्रेरी से struct/class टाइप्स की सूची बनाएँ |
| Tool | Description |
|---|---|
get_functions | फ़िल्टरिंग और पेजिनेशन के साथ सभी फंक्शन्स |
search_functions_by_name | नाम पैटर्न और आकार फ़िल्टर द्वारा खोजें |
get_function_by_name | सटीक नाम लुकअप |
get_function_by_address | एड्रेस लुकअप |
get_function_statistics | समग्र आँकड़े (counts, sizes, top-10) |
| Tool | Description |
|---|---|
rename_symbol | किसी भी सिंबल का नाम बदलें (function या data) |
batch_rename | कई सिंबल्स का बैच नाम बदलें |
| Tool | Description |
|---|---|
get_imports | मॉड्यूल द्वारा समूहीकृत इम्पोर्ट टेबल |
get_exports | एक्सपोर्ट टेबल |
get_strings | पेजिनेशन के साथ स्ट्रिंग टेबल |
get_segments | अनुमतियों के साथ मेमोरी सेगमेंट्स |
get_entry_points | सभी बाइनरी एंट्री पॉइंट्स |
| Tool | Description |
|---|---|
read_memory | एड्रेस पर रॉ बाइट्स पढ़ें |
get_data_at | एड्रेस पर टाइप्ड डेटा प्राप्त करें |
search_bytes | बाइनरी बाइट पैटर्न खोज |
search_strings | पेजिनेशन के साथ स्ट्रिंग खोज |
create_data_var | एड्रेस पर डेटा वेरिएबल परिभाषित करें (byte/word/dword/qword/float/ascii/C type) |
get_data_vars | परिभाषित डेटा वेरिएबल्स की सूची बनाएँ (non-code items) |
| Tool | Description |
|---|---|
patch_bytes | IDB में रॉ बाइट्स पैच करें |
assemble_code | एड्रेस पर इंस्ट्रक्शन टेक्स्ट असेंबल करें और वैकल्पिक रूप से इसे पैच करें |
export_program | पैच की गई बाइनरी या IDA डेटाबेस को डिस्क पर एक्सपोर्ट करें |
| Tool | Description |
|---|---|
navigate_to | IDA कर्सर को एड्रेस पर ले जाएँ |
bookmarks | समेकित बुकमार्क प्रबंधन - actions: list, set, remove |
get_current_address | कर्सर स्थिति पर एड्रेस और संदर्भ प्राप्त करें |
get_current_function | कर्सर स्थिति पर फंक्शन जानकारी प्राप्त करें |
| Tool | Description |
|---|---|
start_task | async बैकग्राउंड टास्क शुरू करें |
get_task_status | टास्क प्रगति जाँचें |
cancel_task | चल रहा टास्क रद्द करें |
list_tasks | सभी async टास्क की सूची बनाएँ |