mac端为claude code配置ida mcp

(1)在终端进入ida的路径

bash 复制代码
cd /Applications/IDA\ Professional\ 9.0.app/Contents/MacOS 

(2)为ida设置python

bash 复制代码
./idapyswitch --force-path /opt/homebrew/Cellar/python@3.11/3.11.12/Frameworks/Python.framework/Versions/3.11/Python 

(3)在终端执行安装ida mcp

arduino 复制代码
pip3.11 install --upgrade git+https://github.com/mrexodia/ida-pro-mcp 

验证:

bash 复制代码
ida-pro-mcp --help 

(4)安装Ida插件

css 复制代码
 ida-pro-mcp --install 

(5)配置ida mcp的信息

css 复制代码
% ida-pro-mcp --config
[HTTP MCP CONFIGURATION]
{
  "mcpServers": {
    "ida-pro-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:13337/mcp"
    }
  }
}

[STDIO MCP CONFIGURATION]
{
  "mcpServers": {
    "ida-pro-mcp": {
      "command": "/opt/homebrew/opt/python@3.11/bin/python3.11",
      "args": [
        "/opt/homebrew/lib/python3.11/site-packages/ida_pro_mcp/server.py",
        "--ida-rpc",
        "http://127.0.0.1:13337"
      ]
    }
  }
}

(6)IDA中启动MCP

插件只是加载了,但默认不会自动启动 RPC。

你需要在 IDA 里手动启动一次 MCP 插件,端口才会监听。

请在 IDA 执行:

rust 复制代码
 菜单:Edit -> Plugins -> MCP 

或者快捷键:Ctrl-Alt-M(mac 上 Alt 通常是 Option)

(7)重启Claude Code后,查看可用的MCP列表

输入命令:

arduino 复制代码
List available MCP tools

输出:

arduino 复制代码
❯ List available MCP tools                                                                 
                                                                                           
⏺ 以下是当前会话中可用的 IDA Pro MCP 工具列表:                                            
                                                                                           
  查找与导航工具                                                                           
  ┌──────────────────────────────────┬────────────────────────────────┐                    
  │              工具名              │              功能              │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__lookup_funcs   │ 按地址或名称查找函数           │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__list_funcs     │ 列出函数(支持过滤和分页)     │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__list_globals   │ 列出全局变量(支持过滤和分页) │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__imports        │ 列出导入函数                   │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__basic_blocks   │ 获取函数的基本块用于控制流图   │                    
  ├──────────────────────────────────┼────────────────────────────────┤                    
  │ mcp__ida-pro-mcp__search_structs │ 搜索结构体                     │                    
  └──────────────────────────────────┴────────────────────────────────┘                    
  反编译与汇编工具                                                                         
  ┌────────────────────────────────┬────────────────────────┐                              
  │             工具名             │          功能          │                              
  ├────────────────────────────────┼────────────────────────┤                              
  │ mcp__ida-pro-mcp__decompile    │ 将函数反编译为伪代码   │                              
  ├────────────────────────────────┼────────────────────────┤                              
  │ mcp__ida-pro-mcp__disasm       │ 将函数反汇编为汇编指令 │                              
  ├────────────────────────────────┼────────────────────────┤                              
  │ mcp__ida-pro-mcp__declare_type │ 声明类型               │                              
  ├────────────────────────────────┼────────────────────────┤                              
  │ mcp__ida-pro-mcp__infer_types  │ 推断类型               │                              
  └────────────────────────────────┴────────────────────────┘                              
  交叉引用与调用图                                                                         
  ┌──────────────────────────────────┬────────────────────────────┐                        
  │              工具名              │            功能            │                        
  ├──────────────────────────────────┼────────────────────────────┤                        
  │ mcp__ida-pro-mcp__xrefs_to       │ 获取到指定地址的交叉引用   │                        
  ├──────────────────────────────────┼────────────────────────────┤                        
  │ mcp__ida-pro-mcp__xrefs_to_field │ 获取到结构体字段的交叉引用 │                        
  ├──────────────────────────────────┼────────────────────────────┤                        
  │ mcp__ida-pro-mcp__callees        │ 获取指定函数调用的函数     │                        
  ├──────────────────────────────────┼────────────────────────────┤                        
  │ mcp__ida-pro-mcp__callgraph      │ 从根函数构建调用图         │                        
  └──────────────────────────────────┴────────────────────────────┘                        
  搜索工具                                                                                 
  ┌──────────────────────────────┬────────────────────────────┐                            
  │            工具名            │            功能            │                            
  ├──────────────────────────────┼────────────────────────────┤                            
  │ mcp__ida-pro-mcp__find       │ 搜索字节数据               │                            
  ├──────────────────────────────┼────────────────────────────┤                            
  │ mcp__ida-pro-mcp__find_regex │ 使用正则表达式搜索字符串   │                            
  ├──────────────────────────────┼────────────────────────────┤                            
  │ mcp__ida-pro-mcp__find_bytes │ 搜索字节模式(支持通配符) │                            
  └──────────────────────────────┴────────────────────────────┘                            
  内存读取与数据获取                                                                       
  ┌────────────────────────────────────┬────────────────────────────┐                      
  │               工具名               │            功能            │                      
  ├────────────────────────────────────┼────────────────────────────┤                      
  │ mcp__ida-pro-mcp__get_bytes        │ 从内存地址读取字节         │                      
  ├────────────────────────────────────┼────────────────────────────┤                      
  │ mcp__ida-pro-mcp__get_int          │ 从内存地址读取整数值       │                      
  ├────────────────────────────────────┼────────────────────────────┤                      
  │ mcp__ida-pro-mcp__get_string       │ 从内存地址读取字符串       │                      
  ├────────────────────────────────────┼────────────────────────────┤                      
  │ mcp__ida-pro-mcp__get_global_value │ 按地址或名称读取全局变量值 │                      
  ├────────────────────────────────────┼────────────────────────────┤                      
  │ mcp__ida-pro-mcp__read_struct      │ 读取结构体类型并解析内存值 │                      
  └────────────────────────────────────┴────────────────────────────┘                      
  修改与编辑工具                                                                           
  ┌────────────────────────────────┬────────────────────────────────────────────┐          
  │             工具名             │                    功能                    │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__patch        │ 用十六进制数据在内存地址打补丁             │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__patch_asm    │ 用汇编指令在地址打补丁                     │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__put_int      │ 将整数值写入内存地址                       │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__set_type     │ 应用类型(函数/全局/局部/栈变量)          │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__set_comments │ 在地址设置注释                             │          
  ├────────────────────────────────┼────────────────────────────────────────────┤          
  │ mcp__ida-pro-mcp__rename       │ 统一重命名函数、全局变量、局部变量和栈变量 │          
  └────────────────────────────────┴────────────────────────────────────────────┘          
  函数与代码定义                                                                           
  ┌───────────────────────────────┬──────────────────────────────┐                         
  │            工具名             │             功能             │                         
  ├───────────────────────────────┼──────────────────────────────┤                         
  │ mcp__ida-pro-mcp__define_func │ 在地址定义函数               │                         
  ├───────────────────────────────┼──────────────────────────────┤                         
  │ mcp__ida-pro-mcp__define_code │ 将字节转换为地址处的代码指令 │                         
  ├───────────────────────────────┼──────────────────────────────┤                         
  │ mcp__ida-pro-mcp__undefine    │ 取消定义项目,转换回原始字节 │                         
  └───────────────────────────────┴──────────────────────────────┘                         
  栈变量工具                                                                               
  ┌─────────────────────────────────┬────────────┐                                         
  │             工具名              │    功能    │                                         
  ├─────────────────────────────────┼────────────┤                                         
  │ mcp__ida-pro-mcp__stack_frame   │ 获取栈变量 │                                         
  ├─────────────────────────────────┼────────────┤                                         
  │ mcp__ida-pro-mcp__declare_stack │ 创建栈变量 │                                         
  ├─────────────────────────────────┼────────────┤                                         
  │ mcp__ida-pro-mcp__delete_stack  │ 删除栈变量 │                                         
  └─────────────────────────────────┴────────────┘                                         
  导出工具                                                                                 
  ┌────────────────────────────────┬────────────────────────┐                              
  │             工具名             │          功能          │                              
  ├────────────────────────────────┼────────────────────────┤                              
  │ mcp__ida-pro-mcp__export_funcs │ 以各种格式导出函数数据 │                              
  └────────────────────────────────┴────────────────────────┘                              
  Python 执行                                                                              
  ┌───────────────────────────┬─────────────────────────────────────────────────────┐      
  │          工具名           │                        功能                         │      
  ├───────────────────────────┼─────────────────────────────────────────────────────┤      
  │ mcp__ida-pro-mcp__py_eval │ 在 IDA 上下文中执行 Python 代码(访问所有 IDA API) │      
  └───────────────────────────┴─────────────────────────────────────────────────────┘      
  数字转换                                                                                 
  工具名: mcp__ida-pro-mcp__int_convert                                                    
  功能: 将数字转换为不同格式(十六进制、十进制、二进制、ASCII)                            
  ---                                                                                      
  总计: 34 个 MCP 工具可用
相关推荐
之歆10 小时前
Claude 详细使用文档
claude
Vibe_Bloom11 小时前
最新!Claude Code 之父的 12 个配置分享
ai编程·claude
雪域迷影16 小时前
MacOS下源码安装SDL3并运行hello.c示例程序
c语言·开发语言·macos·sdl3
java1234_小锋18 小时前
Cursor+Claude AI编程 - Cursor下载安装
ai编程·claude·cursor
阿捏利19 小时前
详解Mach-O(五)Mach-O LC_SYMTAB
macos·ios·c/c++·mach-o
2601_9491465320 小时前
Swift语音通知接口集成手册:iOS/macOS开发者如何调用语音API
macos·ios·swift
爱喝水的木子21 小时前
新mac入手装的一些好用的提高效率的软件
macos
懒狗不更新1 天前
mac m2安装 aria2 以及对应图形化界面 AriaNg 文件损坏
macos
冬奇Lab1 天前
Git Worktree + Claude Code:多终端并发开发完全实战
ai编程·claude
anjushi2 天前
Claude Agent Teams使用方法
claude