إضافة خادم MCP مستقلة لـ IDA Pro.
[!IMPORTANT] أرشفة مخططة: من المخطط أرشفة IDAssistMCP حيث تقدم IDA Pro خادم MCP أصلي مدمج. تُلغي الدعم الأصلي الحاجة إلى صيانة تكامل MCP منفصل وتبقيه متوافقًا مع IDA Pro نفسه. يُرجى استخدام خادم MCP الأصلي من IDA Pro بمجرد توفره في النسخة المثبتة لديك. سيبقى هذا المستودع متاحًا للمراجعة.
إضافة خادم MCP (بروتوكول سياق النموذج) مستقلة لـ IDA Pro 9.x تُتيح قدرات تحليل IDA لعملاء LLM مثل Claude Desktop.

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\.
ثم ثبّت التبعيات باستخدام Python المرفق مع IDA (وليس 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_config.json الخاص بـ Claude Desktop:
{
"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 | بيانات وصفية مفصلة للملف الثنائي (المعمارية، التجزئات، المقاطع) |
| Tool | Description |
|---|---|
get_code | الحصول على كود الدالة — format: 'decompile' (شبه-C) أو 'disasm' (لغة التجميع) |
analyze_function | تحليل شامل: البيانات الوصفية، CFG، المستدعيات/المستدعاة، التفكيك |
get_basic_blocks | الكتل الأساسية لـ CFG مع اللواحق/السوابق |
get_function_stack_layout | تخطيط إطار المكدس (المتغيرات المحلية، الوسائط، السجلات المحفوظة) |
| Tool | Actions | Description |
|---|---|---|
xrefs | direction: to/from/both، include_calls: bool | المراجع المتقاطعة والمستدعيات/المستدعاة الاختيارية لعنوان |
| Tool | Actions | Description |
|---|---|---|
comments | action: get, set, list, remove | إدارة التعليقات (عادية، قابلة للتكرار، دالة) |
| Tool | Actions | Description |
|---|---|---|
variables | action: list, rename | سرد المتغيرات المحلية، أو إعادة تسمية المتغيرات المحلية/العامة مع scope: auto، local، global |
| Tool | Actions / Description |
|---|---|
types | action: list, set, create_struct, create_enum — إدارة أنواع IDB |
get_classes | سرد أنواع البنى/الأصناف من مكتبة الأنواع |
| Tool | Description |
|---|---|
get_functions | جميع الدوال مع التصفية والترقيم |
search_functions_by_name | البحث حسب نمط الاسم ومرشحات الحجم |
get_function_by_name | البحث بالاسم الدقيق |
get_function_by_address | البحث بالعنوان |
get_function_statistics | إحصائيات مجمّعة (الأعداد، الأحجام، أفضل 10) |
| Tool | Description |
|---|---|
rename_symbol | إعادة تسمية أي رمز (دالة أو بيانات) |
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 | سرد متغيرات البيانات المعرّفة (العناصر غير البرمجية) |
| Tool | Description |
|---|---|
patch_bytes | تعديل البايتات الخام في IDB |
assemble_code | تجميع نص التعليمات عند عنوان وتعديله اختياريًا |
export_program | تصدير الملف الثنائي المعدّل أو قاعدة بيانات IDA إلى القرص |
| Tool | Description |
|---|---|
navigate_to | نقل مؤشر IDA إلى عنوان |
bookmarks | إدارة الإشارات المرجعية الموحّدة - الإجراءات: list، set، remove |
get_current_address | الحصول على العنوان والسياق عند موضع المؤشر |
get_current_function | الحصول على معلومات الدالة عند موضع المؤشر |
| Tool | Description |
|---|---|
start_task | بدء مهمة خلفية غير متزامنة |
get_task_status | التحقق من تقدم المهمة |
cancel_task | إلغاء مهمة قيد التشغيل |
list_tasks | سرد جميع المهام غير المتزامنة |