Back to MCP directory
publicPublicdnsLocal runtime

emba-mcp

EMBA-MCP是一个将EMBA固件安全分析工具结果通过MCP协议暴露给LLM(如Claude、ChatGPT)的服务器,支持结构化查询、关联分析和攻击路径解释。

article

README

🚀 EMBA-MCP

EMBA-MCP 是用于 EMBA 固件分析的模型上下文协议(MCP)服务器。它通过 MCP 以结构化工具的形式公开 EMBA 固件分析结果,允许大语言模型(如 Claude、ChatGPT 等)以编程方式查询、推理和关联固件安全发现。它能够解析、规范化并对 EMBA 输出进行推理。

✨ 主要特性

  • 📦 解析 EMBA 结果(内核、服务、凭证、加密、软件物料清单、二进制文件、PHP 等)
  • 🔍 具备文件系统感知的分析(SUID、机密信息、弱加密、服务)
  • 🚨 高风险关联引擎(多信号发现)
  • 🧭 攻击路径解释引擎
  • 🧠 MCP 原生工具(可接入 Claude / MCP 客户端)
  • 🔁 可处理现有的 EMBA 输出(无需重新扫描)

📦 安装指南

系统要求

  • 系统:Linux(推荐:Ubuntu / Kali)
  • Python:3.10 及以上版本
  • 工具:EMBA 工具

安装步骤

git clone https://github.com/0xbuz3R/EMBA-MCP.git
cd EMBA-MCP

# 设置虚拟环境(推荐)
python -m venv venv
# 在 Windows 上:
.\venv\Scripts\activate
# 在 macOS 上:
source venv/bin/activate

# 安装依赖
pip install -e .

请确保 EMBA 已安装在本地机器上:https://github.com/e-m-b-a/emba

Claude 桌面版 MCP 配置(必需)

要在 Claude 桌面版中使用 EMBA-MCP,必须在 Claude 的配置文件中注册 MCP 服务器。此步骤是必需的,也是最常见的配置问题。

  1. 定位 claude_config_desktop.json Claude 桌面版将 MCP 配置存储在以下位置:
    • Linux~/.config/claude/claude_config_desktop.json 如果文件不存在,请手动创建。
  2. 添加 EMBA-MCP 服务器配置mcpServers 部分添加以下 JSON。 ⚠️ 请勿盲目复制路径,需将其替换为系统上有效的路径。
{
  "mcpServers": {
    "emba": {
      "command": "<PATH_TO_PYTHON>",
      "args": ["-m", "emba_mcp.mcp_server"],
      "env": {
        "EMBA_HOME": "<PATH_TO_EMBA_DIRECTORY>"
      }
    }
  }
}
  1. 如何正确填写路径
    • PATH_TO_PYTHON:这必须是安装 EMBA-MCP 的 Python 解释器。 示例:
which python
which python3

典型值: - /usr/bin/python3 - /home/user/.venv/bin/python - /home/user/.local/bin/python - PATH_TO_EMBA_DIRECTORY:这必须是 EMBA 的根目录,即存在 emba 可执行文件的目录。 示例:

ls <EMBA_HOME>/emba

示例值:/home/user/tools/emba 4. 重启 Claude 桌面版 保存文件后: 1. 完全关闭 Claude 桌面版 2. 重新打开 Claude 现在将自动加载 EMBA MCP 服务器。 5. 验证 MCP 是否加载 在 Claude 中尝试: - 列出 EMBA 扫描 - 对固件运行 EMBA 扫描 如果配置正确,Claude 将无 MCP 错误地响应。

📽️ 演示

demo

🤝 贡献与反馈

我仍在努力整合其他一些数据项,将在下一版本中更新。

同时,请试用并提供改进建议!您可以在 https://github.com/0xbuz3R/EMBA-MCP/issues/1 留下您的建议。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client