rsprudencio
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"binja": {
"args": [
"--directory",
"/\u003cpath to mcp-server-binja\u003e/src",
"run",
"mcp-server-binja"
],
"command": "uv"
}
}
}
服务介绍
Binary Ninja MCP 服务器
一个用于 Binary Ninja 交互和自动化的 Model Context Protocol 服务器。该服务器提供了通过大型语言模型与 Binary Ninja 交互的工具。
概述
Binary Ninja MCP 服务器是一个插件和服务器实现,允许大型语言模型通过 Model Context Protocol (MCP) 与 Binary Ninja 进行交互。它提供了以下功能:
- 获取函数的汇编代码
- 获取函数的反编译代码(HLIL)
- 重命名函数和变量
- 添加注释
安装
使用 uv(推荐)
使用 uv 时不需要特定的安装步骤。我们将使用 uvx 直接运行 binja_mcp。
使用 PIP
或者,您可以通过 pip 安装 binja-mcp:
bash
pip install binja-mcp
安装完成后,您可以使用以下命令作为脚本运行:
bash
python -m binja_mcp
Binary Ninja 插件安装
克隆此仓库或将克隆的仓库链接到 Binary Ninja 的插件目录中:
- Linux:
~/.binaryninja/plugins/ - macOS:
~/Library/Application Support/Binary Ninja/plugins/ - Windows:
%APPDATA%Binary Ninjaplugins
配置
与 Claude Desktop/Cursor 一起使用
将以下内容添加到您的 claude_desktop_config.json 或 Cursor MCP 服务器配置中:
json
"mcpServers": {
"binja": {
"command": "uvx",
"args": [
"-n",
"mcp-server-binja"
]
}
}
json
"mcpServers": {
"binja": {
"command": "python",
"args": [
"-m",
"mcp_server_binja"
]
}
}
使用方法
- 打开 Binary Ninja 并加载二进制文件
- 从工具菜单或使用键盘快捷键启动 MCP 服务器
- 使用 Claude Desktop、Cursor 或任何您喜欢的 MCP 客户端与二进制文件进行交互
可用命令
通过 MCP 接口可以使用以下命令:
binja_get_function_assembly: 获取指定函数的汇编代码binja_get_function_decompiled: 获取指定函数的反编译代码binja_get_global_variable: 获取全局变量的信息binja_get_current_function_assembly: 获取当前函数的汇编代码binja_get_current_function_decompiled: 获取当前函数的反编译代码
开发
如果您正在进行本地开发,有两种方法可以测试您的更改:
-
运行 MCP 检查器来测试您的更改:
bash
npx @modelcontextprotocol/inspector uvx binja_mcp -
使用 Claude 桌面应用程序进行测试,在您的
claude_desktop_config.json中添加以下内容:
json
{
"mcpServers": {
"binja": {
"command": "uv",
"args": [
"--directory",
"//src",
"run",
"mcp-server-binja"
]
}
}
}
许可证
该项目采用 MIT 许可证发布 - 详情请参阅 LICENSE 文件。