EMBA-MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/0xbuz3R/EMBA-MCP.git
cd EMBA-MCP
pip install -e .
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "EMBA_HOME=${EMBA_HOME}" emba-mcp -- node "<FULL_PATH_TO_EMBA_MCP>/dist/index.js"

Replace <FULL_PATH_TO_EMBA_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:EMBA_HOME
README.md

MCP server for EMBA firmware analysis

🧠 EMBA-MCP

Model Context Protocol (MCP) server for EMBA firmware analysis. EMBA-MCP exposes EMBA firmware analysis results as structured tools via MCP, allowing LLMs (Claude, ChatGPT, etc.) to query, reason, and correlate firmware security findings programmatically. It parses, normalizes, and reasons over EMBA output.

✨ Features

πŸ“¦ Parse EMBA results (kernel, services, credentials, crypto, SBOM, binaries, PHP, etc.)

πŸ” Filesystem-aware analysis (SUID, secrets, weak crypto, services)

🚨 High-risk correlation engine (multi-signal findings)

🧭 Attack-path explanation engine

🧠 MCP-native tools (plug into Claude / MCP clients)

πŸ” Works with existing EMBA output (no re-scan required)

πŸ“‹ Requirements System Linux (recommended: Ubuntu / Kali) Python 3.10+ EMBA Tool

πŸ› οΈ Installation

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

Set Up a Virtual Environment (Recommended)
Bash
python -m venv venv
# On Windows:
.\venv\Scripts\activate
# On macOS:
source venv/bin/activate

3. Install Dependencies
Bash
pip install -e .

Make sure EMBA is installed in your local machine: https://github.com/e-m-b-a/emba

🧩 Claude Desktop MCP Configuration (Required)

To use EMBA-MCP inside Claude Desktop, you must register the MCP server in Claude’s config file. This step is mandatory and is the most common setup issue.

πŸ“ 1. Locate claude_config_desktop.json

Claude Desktop stores the MCP configuration in the following location:

Linux

~/.config/claude/claude_config_desktop.json

If the file does not exist, create it manually.

πŸ“ 2. Add EMBA-MCP Server Configuration

Add the following JSON under the mcpServers section.

⚠️ Do NOT copy paths blindly β€” replace them with paths valid on your system.

{
  "mcpServers": {
    "emba": {
      "command": "",
      "args": ["-m", "emba_mcp.mcp_server"],
      "env": {
        "EMBA_HOME": ""
      }
    }
  }
}

πŸ“Œ 3. How to Fill the Paths Correctly

πŸ”Ή PATH_TO_PYTHON

This must be the Python interpreter where EMBA-MCP is installed. Examples:

which python
which python3

Typical values:

/usr/bin/python3 /home/user/.venv/bin/python /home/user/.local/bin/python

πŸ”Ή PATH_TO_EMBA_DIRECTORY

This must be the root directory of EMBA, where the emba executable exists.

Example:

ls /emba

Example value:

/home/user/tools/emba

πŸ“ 4. Restart Claude Desktop

After saving the file:

  1. Fully close Claude Desktop
  2. Reopen it

Claude will now auto-load the EMBA MCP server

βœ… 5. Verify MCP Is Loaded

Inside Claude, try:

List EMBA scans or Run EMBA scan on firmware

If configured correctly, Claude will respond without MCP errors.

πŸ“½οΈ Demo

demo

🀝 Contributing & Feedback

I am still working on a few other data items to integrate; I'll update in the next release.

Meanwhile, please give it a try and provide feedback on how to improve! You can leave your suggestions in our https://github.com/0xbuz3R/EMBA-MCP/issues/1

Tools (2)

list_emba_scansLists available EMBA firmware analysis scans.
run_emba_scanRuns an EMBA scan on a specified firmware file.

Environment Variables

EMBA_HOMErequiredThe root directory of the EMBA installation.

Configuration

claude_desktop_config.json
{"mcpServers": {"emba": {"command": "<PATH_TO_PYTHON>", "args": ["-m", "emba_mcp.mcp_server"], "env": {"EMBA_HOME": "<PATH_TO_EMBA_DIRECTORY>"}}}}

Try it

β†’List all available EMBA firmware scans.
β†’Run an EMBA scan on the firmware file located at /path/to/firmware.bin.
β†’Analyze the results of the latest EMBA scan for potential security vulnerabilities.
β†’Explain the attack paths identified in the recent firmware analysis.

Frequently Asked Questions

What are the key features of EMBA-MCP?

Parses and normalizes EMBA firmware analysis results. Provides filesystem-aware analysis including SUID and secret detection. Includes a high-risk correlation engine for multi-signal findings. Features an attack-path explanation engine. Works with existing EMBA output without requiring re-scans.

What can I use EMBA-MCP for?

Automating the security review of firmware images using LLM reasoning.. Correlating firmware findings like SBOMs and credentials to identify attack vectors.. Programmatically querying firmware analysis results to generate security reports.. Explaining complex firmware security findings to non-expert stakeholders..

How do I install EMBA-MCP?

Install EMBA-MCP by running: git clone https://github.com/0xbuz3R/EMBA-MCP.git && cd EMBA-MCP && pip install -e .

What MCP clients work with EMBA-MCP?

EMBA-MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep EMBA-MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare