
Ersith/dsh-mcp-rea

輕量的 MCP 橋接:向 MCP 主機提供 21 個精選 REA 工具,其餘功能保留命令列後門。

Ersith/dsh-mcp-rea

輕量的 MCP 橋接:向 MCP 主機提供 21 個精選 REA 工具,其餘功能保留命令列後門。
安裝方式請查看原始來源。
把 REA(逆向工程 CLI)以 「精选工具面 + CLI 逃生舱」 暴露为 MCP stdio 服务器,供 DSH(DeepSeek Harness)等支持 MCP 的宿主使用。
包名
@local/mcp-rea是 DSH 本机 bundle 的命名约定;private: true,不发布到 npm,以仓库 / tgz 形式本机安装。
rea --mcpREA 原生 MCP 面:139 个工具 / 约 1.83 MB schema;而 @deepseek-ai/dsh-mcp-client 没有工具过滤字段(一次性全量注册,每个请求都进 prefill)。直连会把几十万字符塞进每一次请求。
本薄壳只暴露 21 个工具 / 约 6.7 KB schema(≈ 原生的 1/270),并保证能力不缩水:rea_cli 逃生舱可直达全部子命令,参数原样透传。
rea_doctor · rea_capabilitiesrea_analyze · rea_inspect · rea_analyze_js · rea_analyze_webrea_decompile · rea_functionrea_extract_artifact · rea_extract_firmwarerea_capture_web_shot · rea_observe_js_runtime · rea_discover_webmcp · rea_capture_electronrea_compare_versions · rea_compare_web · rea_evidence_export · rea_evidence_importrea_export_web_scripts · rea_import_reference_sourcerea_cli({command, args[]} 直通全部子命令;命令名白名单校验)装 REA(建议钉版本):npm i rea-agents@6.3.0(本壳不绑定版本,只依赖 CLI 契约)。
配环境变量(可写进宿主配置,不必改系统环境):
| 变量 | 作用 | 示例 |
|---|---|---|
| REA_ENTRY | rea-agents 的 scripts/rea.mjs 绝对路径(推荐) | C:\tools\rea\node_modules\rea-agents\scripts\rea.mjs |
| REA_GHIDRA_DIR | Ghidra 安装目录(要做原生二进制分析时) | C:\tools\ghidra_12.1.4_PUBLIC |
| REA_JAVA_HOME | JDK 21(Ghidra headless 用) | C:\Program Files\Java\jdk-21 |
不设 REA_ENTRY 时回退到 PATH 上的 rea(可执行名经 REA_CLI 覆盖)。
接到 DSH:把 cordis.patch.yml 里 args 改成 server.mjs 的绝对路径,再用 plugin_manager install_bundle 装为本机 bundle(或直接把该文件的内容并入 profile patch)。
自测:node selftest.mjs —— 8 项断言:握手 / 工具面体积 / 真跑 REA / 逃生舱参数透传(--token-limit 生效)/ 逃生舱覆盖 --format / 非法命令拒绝 / 未知方法 -32601。
| 变量 | 默认 | 说明 |
|---|---|---|
| REA_ENTRY | 空(回退 PATH 的 rea) | rea.mjs 绝对路径;推荐——钉版本、行为确定 |
| REA_CLI | rea | 回退模式下要调的可执行名 |
| REA_NODE | process.execPath | 跑 rea.mjs 的 node 可执行文件 |
| REA_WORKSPACE | 当前工作目录 | 子进程 cwd |
| REA_MAX_BYTES | 65536 | 单次输出上限(超出截断并注明字节数) |
| REA_TIMEOUT_MS | 120000 | 单次超时(超时强杀并注明) |
| REA_FORMAT | json | 默认输出格式;调用方显式给 --format 时尊重之 |
| REA_GHIDRA_DIR / REA_JAVA_HOME | 空 | 原生分析提供方;仅在目录存在时注入(不污染全局) |
target_role_unsupported)——要拆 DLL 请直接用 Ghidra headless。Hopper(macOS 专有)与 IDA(商业 + 上游 MCP 配置)在 Windows 不可用。REA_ENTRY(不经过 shell)。MIT(见 LICENSE)。REA 本体与 Ghidra 为各自项目的产物,遵循其各自许可。