Skip to main content
Glama
README.md
# MCP RE Server

MCP server for Reverse Engineering & Binary Analysis with backend development tools.

## Features

### Reverse Engineering Tools
| Tool | Description |
|------|-------------|
| `ghidra_analyze` | Analyze binary with Ghidra (headless mode) |
| `ghidra_decompile` | Decompile binary functions with Ghidra |
| `yara_scan` | Scan files with YARA rules for malware indicators |
| `analyze_binary` | Static analysis - extract strings, checksec, binary info |
| `radare2_analyze` | Analyze with Radare2 (functions, imports, strings) |
| `pestudio_analyze` | Analyze PE (Windows) files |
| `dynamic_analysis` | Behavioral analysis on suspicious files |
| `network_analysis` | Analyze pcap files for IOCs |
| `memory_forensics` | Memory dump analysis with Volatility commands |
| `gdb_debug` | Debug binaries with GDB |

### Backend Development Tools
| Tool | Description |
|------|-------------|
| `analyze_project` | Analyze project structure, language, framework |
| `review_security` | Scan for hardcoded secrets, SQL injection, XSS |
| `analyze_api` | List all API endpoints |
| `validate_api_structure` | Check REST best practices |
| `get_architecture_advice` | Architectural recommendations |
| `scaffold_project` | Generate project with Docker & tests |
| `add_docker` | Add Docker configuration |
| `add_tests` | Add unit & integration tests |
| `execute_command`, `read_file`, `write_file`, `list_directory` | File operations |

## Quick Start

```bash
npm install
npm run server
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `GHIDRA_PATH` | Ghidra installation path | `/opt/ghidra` |
| `YARA_RULES_PATH` | Custom YARA rules directory | `./rules` |

## Usage Examples

```
- "Analyze binary /path/to/binary with Ghidra"
- "Scan malware.exe with YARA rules"
- "Run dynamic analysis on suspicious file"
- "Analyze network capture traffic.pcap"
- "Decompile main function from binary"
- "Check security of my binary (checksec)"
- "Analyze memory dump memory.dmp"
- "Debug binary with GDB at main"
- "Analyze PE file with PE Studio"
```

## Claude Desktop Config

```json
{
  "mcpServers": {
    "mcp-re": {
      "command": "npm",
      "args": ["run", "server"],
      "workdir": "/path/to/mcp"
    }
  }
}
```

## Requirements

### RE Tools (optional)
- Ghidra - Binary analysis & decompilation
- YARA - Malware scanning
- Radare2 - Binary analysis
- checksec - Binary security checks
- strings - String extraction
- Volatility - Memory forensics
- tshark - Network analysis
- GDB - Debugging

Install on Kali/RE Linux:
```bash
sudo apt install yara radare2 checksec binutils volatility tshark gdb
```

TDQS

C2.6/5.0

Scored across 22 tools

Disambiguation4/5

Most tools target distinct resource+action pairs, but there is some overlap among binary analysis tools (analyze_binary, ghidra_analyze, radare2_analyze, pestudio_analyze) and between analyze_project and get_architecture_advice. Descriptions help differentiate them, so ambiguity is limited.

Naming Consistency2/5

Naming conventions are inconsistent: verb_noun (analyze_project, execute_command), tool_prefix_action (ghidra_analyze, yara_scan), and noun_phrase (network_analysis, memory_forensics) are mixed. While tool_prefix is consistent within the RE tools, overall there is no single predictable pattern.

Tool Count3/5

With 22 tools, the server is on the heavy side, and the mix of project development tools (scaffold_project, add_docker) with reverse engineering tools makes the scope feel broad. The count is within the 16-25 range but feels over-scoped for a supposed 'RE Server'.

Completeness4/5

The reverse engineering domain is well-covered: static analysis, dynamic analysis, memory forensics, network analysis, YARA scanning, and debugging. Minor gaps exist (e.g., no dedicated disassembly tool), but Ghidra/Radare2 handle that. The extra non-RE tools don't detract from RE completeness.

Maintenance

ActivityInactive
ResponsivenessNo issues