MCP RE Server
# 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
Scored across 22 tools
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 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.
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'.
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.