mcpField
I
idamesh

idamesh

本地服务
github.com/JordanRO2安全81 周前更新

关于 idamesh

idamesh 是面向使用 IDA Pro 的逆向工程师和安全分析人员的 MCP 服务,提供反汇编、反编译、二进制分析和编辑工具,并可协调多个数据库会话并行工作。

主要功能

  1. 01反汇编与 Hex-Rays 反编译
  2. 02二进制搜索和结构化查询
  3. 03安全排查与数据流分析
  4. 04重命名、注释和修补二进制
  5. 05并行数据库会话与编辑合并

适用场景

  1. 01检查函数、类型和调用图
  2. 02排查二进制中的漏洞或加密算法
  3. 03让多个 Agent 并行分析同一二进制
  4. 04应用并合并注释或补丁

MCP 相关

idamesh 将 IDA Pro 功能作为 MCP 工具和只读 `ida://…` 资源提供。它支持 stdio worker 和 Streamable HTTP 端点,也可通过 supervisor 管理多个数据库会话。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jordanro2-idamesh": {
"command": "uvx",
"args": [
"idamesh"
],
"env": {
"IDADIR": "<IDADIR>"
}
}
}
}
启动命令uvx idamesh
需要配置的环境变量
IDADIRPath to the licensed IDA Pro installation, used to locate idalib/idapro. Required if IDA's Python API is not already importable on PYTHONPATH.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiidamesh1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

idamesh

一个面向 IDA Pro 的 Model Context Protocol(MCP)服务。它将 IDA 的反汇编器和 Hex-Rays 反编译器作为工具和资源提供给 MCP 客户端(Claude 等),并通过一个监管器在单个端点后接入多个数据库,让多个 Agent 可以并行工作。

功能

  • 读取 — 反编译(Hex-Rays)、反汇编、交叉引用、调用图、类型和结构体检查、内存读取,以及字符串/字节/文本搜索。
  • 查询 — 针对函数、指令、交叉引用、类型和导入项的结构化筛选。
  • 分析 — 概览/分类、加密和危险 API 检测、漏洞启发式分析、栈字符串重建,以及数据流/污点追踪。
  • 修改 — 重命名、注释、修改类型、定义代码和数据、编辑栈帧、修补字节/汇编、书签,以及导出/导入注释。
  • 并行处理 — 通过私有副本打开每个数据库,让多个 Agent 同时处理同一个二进制文件,并将修改合并回一个数据库。

只读 IDB 状态也会映射为 ida://… MCP 资源。

要求

  • Python 3.9+
  • 已授权的 IDA Pro 安装,并提供 idapro / idalib Python API。将 IDADIR 环境变量指向你的 IDA 安装目录。

安装

pip install idamesh

也可以从克隆的仓库进行开发安装:

pip install -e .[dev]     # editable install + pytest, to run the test suite

这会提供 idamesh 命令,包含三个子命令:worker、supervisor 和 install。

用法

无头工作器 — 在 stdio 上处理一个数据库(由客户端启动):

idamesh worker /path/to/target.exe

监管器 — 通过一个 HTTP 端点接入多个数据库:

idamesh supervisor                       # http://127.0.0.1:8745/mcp

使用 idb_open / idb_list / idb_close 工具在其后打开和关闭数据库;使用可选的 database 键将任意工具路由到某个会话(仅打开了一个数据库时可省略)。两次打开同一个二进制文件会生成两个相互独立的会话;idb_merge 会协调并合并它们的修改。

GUI 插件 — 通过当前打开的 IDA 数据库提供 MCP 服务:

idamesh install     # deploy the plugin into IDA's user directory, then restart IDA

运行 idamesh supervisor(或设置 IDAMESH_AUTOLAUNCH_SUPERVISOR=1 让插件启动监管器),然后在 IDA 中打开一个二进制文件 — 监管器会接管此实时会话并将请求路由到该会话。

工作器(--transport http)和监管器都通过单一 /mcp 端点使用 MCP Streamable HTTP,绑定到回环地址,并进行 Origin 验证。

从 Claude Code 连接

claude mcp add --scope user --transport http idamesh http://127.0.0.1:8745/mcp

也可以直接启动单个 stdio 工作器:

claude mcp add --scope user -e IDADIR=/path/to/IDA-Pro \
  idamesh -- idamesh worker /path/to/target.exe

测试

pip install -e .[dev]
python -m pytest -q

如果 IDA 不可用(未设置 IDADIR),实时 idalib 端到端测试会正常跳过,因此即使未安装 IDA,测试套件也能通过。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。