Token导航 LogoToken导航

MCP Server · 开发工具

Ghidra MCP Zig

A Ghidra plugin that provides a bridge between Ghidra and a Zig-based MCP server for enhanced program analysis capabilities.

未说明官方级别未说明来源级核验工具 8
逆向工程开发工具命令行工具

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
streamerd
提供方
streamerd

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

7

仓库热度

收录来源

2 个

MCP.so

选型结论

Ghidra MCP Zig 属于开发工具类 MCP Server,公开资料标注 8 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Ghidra MCP Zig插件

一个Ghidra插件,在Ghidra和基于Zig的MCP服务器之间提供桥梁,以增强程序分析能力。

特性

  • 基于JNI的Ghidra与Zig通信
  • 函数反编译和重命名
  • 数据符号管理
  • 进出口清单
  • MCP服务器集成
  • 全面的测试套件
  • 使用Zig的现代构建系统
  • 高效的内存管理
  • 类型安全JNI网桥实施
  • Go客户端库,便于集成

先决条件

  • 之字形 (0.13.0或更高版本)
  • 希德拉 (11.3.1或更高版本)
  • Java开发工具包(JDK)17或更高版本
  • 去 (版本1.22.4或更高版本)
  • Gradle (8.13或更高版本)
  • 制造

项目结构

ghidra-mcp-zig/
├── src/
│   ├── plugin/
│   │   ├── jni/
│   │   │   └── bridge.zig    # JNI interface implementation
│   │   ├── analysis.zig      # Program analysis logic
│   │   └── plugin.zig        # Plugin initialization
│   └── server/
│       └── main.zig          # MCP server implementation
├── java/                     # Ghidra plugin Java code
│   ├── build.gradle         # Gradle build configuration
│   ├── gradlew             # Gradle wrapper script
│   └── src/                # Java source files
├── pkg/
│   └── mcp/
│       └── client/         # Go MCP client library
│           ├── client.go   # Client implementation
│           └── client_test.go # Client tests
├── build.zig               # Build configuration
├── build.zig.zon          # Dependencies configuration
├── go.mod                 # Go module definition
└── Makefile              # Build automation

依赖项

  • zig jni (v0.0.9)-Zig的JNI绑定

建筑

  1. 克隆存储库:
   git clone https://github.com/yourusername/ghidra-mcp-zig.git
   cd ghidra-mcp-zig
  1. 创建一个 .env 包含以下变量的文件:
   GHIDRA_PATH=/path/to/ghidra_11.3.1_PUBLIC/Ghidra/Features/Base/lib/Base.jar
   JAVA_HOME=/path/to/your/jdk
  1. 构建项目:
   # Build everything
   make all

   # Or build specific components
   make build-server    # Build the MCP server
   make build-plugin   # Build the Ghidra plugin
  1. 运行服务器:
   make run-server

构建目标

目标描述示例用法
all构建所有组件make all
build-server构建MCP服务器make build-server
build-plugin构建Ghidra插件make build-plugin
clean清理所有工件make clean
clean-server清理服务器工件make clean-server
clean-plugin清理插件工件make clean-plugin

跑步目标

目标描述示例用法
run-server启动MCP服务器make run-server
run-plugin启动Ghidra插件make run-plugin

测试目标

目标描述示例用法
test运行所有测试make test
test-server运行服务器测试make test-server
test-plugin运行插件测试make test-plugin

有关可用目标的完整列表,请运行:

make help

安装

  1. 构建插件:
   make build-plugin
  1. 将构建的插件复制到Ghidra插件目录:
   cp zig-out/lib/libghidra-mcp-zig.dylib /path/to/ghidra/Extensions/Ghidra/ghidra-mcp-zig/
  1. 重新启动 Hydro

用法

  1. 启动Ghidra并打开程序进行分析
  2. MCP插件将在Ghidra插件管理器中提供
  3. 通过Ghidra界面使用插件的功能

可用的MCP命令

命令描述参数
decompile分解函数address: u64
rename_function重命名函数address: u64, new_name: string
rename_data重命名数据对象address: u64, new_name: string
list_functions列出所有函数无
list_data列出所有数据对象无
list_imports列出所有导入无
list_exports列出所有导出无

错误处理

该实现包括对特定错误类型的全面错误处理:

错误类型描述
ConnectionError连接相关错误
MessageError消息处理错误
ResponseError响应解析错误
InvalidAddress内存地址无效
InvalidFunction函数引用无效
InvalidData数据引用无效
DecompilationFailed函数反编译失败
RenameFailed重命名操作失败
OutOfMemory内存分配失败
InvalidProgram程序状态无效
JNIErrorJNI网桥错误

发展

添加新功能

  1. 在中更新JNI接口 src/plugin/jni/bridge.zig
  2. 在中实现相应的功能 src/plugin/analysis.zig
  3. 更新中的服务器实现 src/server/main.zig 如有需要
  4. 重建和测试

调试

  • 使用 make clean 删除构建工件
  • 检查Ghidra日志中与插件相关的消息
  • 使用运行时,服务器日志将在控制台中可用 make run-server

JNI网桥实施

JNI桥在Zig和Java之间提供了一个类型安全的接口:

  • 具有适当分配/释放的内存管理
  • JNI参考管理 DeleteLocalRef
  • 使用空检查进行错误处理
  • Zig和Java类型之间的类型转换
  • 数组创建和元素设置
  • 对象创建和字段设置
主要特点
  1. 内存安全

- 自动清理JNI引用 - 使用UTF-8转换进行正确的字符串处理 - 安全内存分配和释放

  1. 类型安全

- 所有JNI操作的强打字 - 编译时类型检查 - 安全类型转换

  1. 错误处理

- 全面的错误类型 - 所有JNI操作的空检查 - 正确清理错误

  1. 对象管理

- 安全对象创建和销毁 - 带类型检查的现场访问 - 带边界检查的数组处理

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

developer-toolsghidrapluginzigprogram-analysis本地部署逆向工程程序分析

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Ghidra MCP Zig

MCP.so · 本页

8未说明未标注2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Ghidra MCP Zig 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Ghidra MCP Zig 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Ghidra MCP Zig 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Ghidra MCP Zig 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Ghidra MCP Zig 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP