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

action/format/direction पैरामीटर के साथexecute_on_main_thread() रैपर के माध्यम से थ्रेड-सुरक्षित IDB संशोधनIDASSISTMCP_ उपसर्ग) के साथ Pydantic कॉन्फ़िगरेशनhcli plugin install idassistmcp
यह स्वचालित रूप से प्लगइन और इसकी Python निर्भरताओं को स्थापित करता है।
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पर्यावरण चर का भी उपयोग कर सकते हैं।
अपने Claude Desktop claude_desktop_config.json में जोड़ें:
{
"mcpServers": {
"idassistmcp": {
"url": "http://localhost:9080/mcp"
}
}
}
IDASSISTMCP_ उपसर्ग के साथ पर्यावरण चर के माध्यम से कॉन्फ़िगर करें:
| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
IDASSISTMCP_SERVER__HOST | localhost | सर्वर बाइंड पता |
IDASSISTMCP_SERVER__PORT | 9080 | सर्वर पोर्ट |
IDASSISTMCP_SERVER__TRANSPORT | streamablehttp | ट्रांसपोर्ट प्रकार (sse या streamablehttp) |
IDASSISTMCP_DEBUG | false | डीबग मोड सक्षम करें |
IDASSISTMCP_LOG_LEVEL | INFO | लॉग स्तर |
| उपकरण | विवरण |
|---|---|
list_binaries | वर्तमान में लोड की गई बाइनरी को सूचीबद्ध करें |
get_binary_info | विस्तृत बाइनरी मेटाडेटा (आर्किटेक्चर, हैश, सेगमेंट) |
| उपकरण | विवरण |
|---|---|
get_code | फंक्शन कोड प्राप्त करें — format: 'decompile' (स्यूडो-C) या 'disasm' (असेंबली) |
analyze_function | व्यापक विश्लेषण: मेटाडेटा, CFG, कॉलर/कैली, डीकंपाइलेशन |
get_basic_blocks | उत्तराधिकारियों/पूर्ववर्तियों के साथ CFG मूल ब्लॉक |
get_function_stack_layout | स्टैक फ्रेम लेआउट (स्थानीय, तर्क, सहेजे गए रजिस्टर) |
| उपकरण | क्रियाएँ | विवरण |
|---|---|---|
xrefs | direction: to/from/both, include_calls: bool | किसी पते के लिए Xrefs और वैकल्पिक कॉलर/कैली |
| उपकरण | क्रियाएँ | विवरण |
|---|---|---|
comments | action: get, set, list, remove | टिप्पणियाँ प्रबंधित करें (सामान्य, दोहराने योग्य, फंक्शन) |
| उपकरण | क्रियाएँ | विवरण |
|---|---|---|
variables | action: list, rename | स्थानीय चर सूचीबद्ध करें, या scope: auto, local, global के साथ स्थानीय/वैश्विक चर का नाम बदलें |
| उपकरण | क्रियाएँ / विवरण |
|---|---|
types | action: list, set, create_struct, create_enum — IDB प्रकार प्रबंधित करें |
get_classes | प्रकार पुस्तकालय से struct/class प्रकार सूचीबद्ध करें |
| उपकरण | विवरण |
|---|---|
get_functions | सभी फंक्शन फ़िल्टरिंग और पेजिनेशन के साथ |
search_functions_by_name | नाम पैटर्न और आकार फ़िल्टर द्वारा खोजें |
get_function_by_name | सटीक नाम खोज |
get_function_by_address | पता खोज |
get_function_statistics | समग्र सांख्यिकी (गणना, आकार, शीर्ष-10) |
| उपकरण | विवरण |
|---|---|
rename_symbol | किसी भी प्रतीक का नाम बदलें (फंक्शन या डेटा) |
batch_rename | एकाधिक प्रतीकों का बैच नाम बदलें |
| उपकरण | विवरण |
|---|---|
get_imports | मॉड्यूल द्वारा समूहीकृत आयात तालिका |
get_exports | निर्यात तालिका |
get_strings | पेजिनेशन के साथ स्ट्रिंग तालिका |
get_segments | अनुमतियों के साथ मेमोरी सेगमेंट |
get_entry_points | सभी बाइनरी प्रवेश बिंदु |
| उपकरण | विवरण |
|---|---|
read_memory | पते पर कच्चे बाइट्स पढ़ें |
get_data_at | पते पर टाइप किया गया डेटा प्राप्त करें |
search_bytes | बाइनरी बाइट पैटर्न खोज |
search_strings | पेजिनेशन के साथ स्ट्रिंग खोज |
create_data_var | पते पर डेटा चर परिभाषित करें (byte/word/dword/qword/float/ascii/C प्रकार) |
get_data_vars | परिभाषित डेटा चर सूचीबद्ध करें (गैर-कोड आइटम) |
| उपकरण | विवरण |
|---|---|
patch_bytes | IDB में कच्चे बाइट्स पैच करें |
assemble_code | किसी पते पर निर्देश टेक्स्ट असेंबल करें और वैकल्पिक रूप से इसे पैच करें |
export_program | पैच की गई बाइनरी या IDA डेटाबेस को डिस्क पर निर्यात करें |
| उपकरण | विवरण |
|---|---|
navigate_to | IDA कर्सर को पते पर ले जाएँ |
bookmarks | समेकित बुकमार्क प्रबंधन - क्रियाएँ: list, set, remove |
get_current_address | कर्सर स्थिति पर पता और संदर्भ प्राप्त करें |
get_current_function | कर्सर स्थिति पर फंक्शन जानकारी प्राप्त करें |
| उपकरण | विवरण |
|---|---|
start_task | Async पृष्ठभूमि कार्य प्रारंभ करें |
get_task_status | कार्य प्रगति जांचें |
cancel_task | चल रहे कार्य को रद्द करें |
list_tasks | सभी Async कार्य सूचीबद्ध करें |
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 फ़ाइल देखें।