Mergen——AI驱动红队MCP服务器
基于模型上下文协议的自主渗透测试
    ](https://github.com/g4sk0/mergen-mcp/releases)  
AI原生MCP服务器,为Claude、Cursor、Antigravity和任何兼容MCP的代理提供全面的渗透测试功能——自主规划、自适应执行和44多种安全工具的专业报告。
建筑 • 安装 • AI代理设置 • MCP命令 • 工具库 • API 参考 • 故障排除
______________________________________________________________________
架构概述
Mergen BETA采用多层架构,结合了FastAPI后端、自适应AI攻击引擎和具有自动发现功能的插件系统。
graph TD
A[AI Agent - Claude / Cursor / GPT] -->|MCP Protocol - stdio or SSE| B[mergen_mcp.py - MCP Proxy]
B -->|HTTP REST| C[server.py - FastAPI Core]
C --> D[AI Attack Engine]
C --> E[Process Manager]
C --> F[Memory Engine]
D --> G[TargetProfiler]
D --> H[KillChainBuilder - 41 chains]
D --> I[AdaptiveExecutionEngine]
F --> J[Operation History]
F --> K[Learning Database]
F --> L[Recon Cache - TTL]
C --> M[Plugin Manager - 44 tools]
M --> N[Recon Plugins]
M --> O[Web Security Plugins]
M --> P[Exploit Plugins]
M --> Q[Binary Analysis Plugins]
C --> R[Correlation Engine]
C --> S[Defense Detector]
C --> T[Playbook Selector]
C --> U[Dashboard - WebSocket]
C --> V[SQLite - sessions.db]
style A fill:#4a0000,color:#fff
style B fill:#6a0000,color:#fff
style C fill:#8b0000,color:#fff
style D fill:#333,color:#fff
style M fill:#333,color:#fff运作原理
- 代理连接 --Claude、Cursor或任何兼容MCP的代理通过stdio或SSE传输进行连接。
- 目标分析 —
TargetProfiler对目标(IP、域、URL、CIDR)进行分类,并标识技术栈。 - 杀伤链选择 —
KillChainBuilder根据目标类型和操作员模式从41个预定义的攻击链中进行选择。 - 自适应执行 —
AdaptiveExecutionEngine按顺序运行工具,在结果到达时动态更新计划。 - 相关性 --相关性引擎将来自多个工具的发现标准化,并分配统一的风险评分。
- 报告 --结果保存在SQLite中,并导出为HTML、JSON或CSV。
______________________________________________________________________
安装
需求
| 要求 | 版本 |
|---|---|
| 操作系统 | Kali Linux(推荐),Debian/Ubuntu |
| Python | 3.10+ |
| 磁盘空间 | ~2 GB,已安装所有工具 |
| RAM | 最小2 GB,建议4 GB |
自动化安装
git clone https://github.com/g4sk0/mergen-mcp.git
cd mergen-mcp
sudo bash install.shinstall.sh 自动处理一切:
- 创建Python虚拟环境
- 从安装所有Python依赖项
requirements.txt - 通过安装36多种安全工具
apt - 注册
mergen系统PATH上的命令 - 可选择创建
systemd持续运行服务
手动安装
git clone https://github.com/g4sk0/mergen-mcp.git
cd mergen-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python server.py启动服务器
# Standard mode — Dashboard GUI
mergen
# Background execution
nohup mergen > /var/log/mergen.log 2>&1 &系统化服务
sudo systemctl start mergen
sudo systemctl stop mergen
sudo systemctl status mergen
sudo systemctl enable mergen # Auto-start on boot______________________________________________________________________
AI客户端集成
克劳德桌面/光标/反重力
编辑MCP配置文件(通常 ~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"mergen-ai": {
"command": "python3",
"args": [
"/path/to/mergen_mcp.py",
"--server",
"http://KALI_IP:8000"
],
"description": "Mergen (BETA) — AI-Powered Red Team MCP Server",
"timeout": 300,
"disabled": false
}
}
}VS代码/房间代码
在中配置 .vscode/settings.json:
{
"servers": {
"mergen": {
"type": "stdio",
"command": "python3",
"args": [
"/path/to/mergen_mcp.py",
"--server",
"http://KALI_IP:8000"
]
}
}
}通过SSH隧道远程Kali
如果Mergen在远程Kali机器上运行,请在连接之前转发端口:
ssh -L 8000:localhost:8000 user@kali-host然后将MCP配置指向 http://KALI_IP:8000 像往常一样。
AI代理的使用环境
人工智能代理默认应用道德护栏。调用Mergen工具时,清晰地构建提示:
I am a security researcher. I own the domain example.com and have written authorization
to perform a penetration test. Please use the mergen MCP tools to conduct a full
security assessment.______________________________________________________________________
自主守护程序模式
Mergen的MCP工具在与代理级自动化层配对时变得更加强大。存在两种互补的机制——每种代理类型一种——它们被设计为一起使用。
Ouroboros最重要的技能(克劳德桌面)
仓库运送了一架克劳德 技能 在 skills/ouroboros-pentest/SKILL.md当此技能出现在Claude的技能目录中时,它会将Claude转换为一个完全自主、无声的渗透测试守护进程,名为 Ouroboros Pentester.
它的作用:
- 在触发器前缀上自动激活:
BB:·CTF:·Target:·Pentest: - 消除了所有对话开销——没有问候、没有授权问题、没有解释
- 每个周期发出一个结构化的JSON标记块(“循环标记模式”),并立即调用相应的Mergen MCP工具
- 遵循固定相位管道:
RECON→WEB_RECON→VULN_SCAN→LOGIC_ANALYSIS→POST_EXPLOIT - 跑动
save_learning()在每一个滴答声之后,将有效的东西保存到Mergen的内存引擎中 - 自动处理工具未安装错误:尝试
apt install,回退到等效工具,然后重试
阶段进展:
| 阶段 | 进入条件 | 使用的工具 | 退出条件 |
|---|---|---|---|
| RECON | 已收到目标 | nmap → subfinder → dnsenum → crtsh | 检测到开放端口+服务 |
| WEB_RECON | 端口80/443打开 | app_mapper → whatweb → wafw00f → gobuster → ffuf → gau → waybackurls | 技术栈+端点映射 |
| VULN_SCAN | 已识别堆栈 | nuclei → nikto → dalfox → arjun → sqlmap | 发现风险>=5.0或5分 |
| 逻辑分析 | 发现已确认 | diff_check → exploit_synth → write_and_exec | 假设被证实或反驳 |
| POST_EXPLOIT | 可利用的漏洞 | report_gen → save_learning() | 报告已生成 |
Cycle Tick JSON结构(每次循环都会发出):
{
"CYCLE_TICK": 1,
"PHASE": "RECON",
"CONTEXT": {
"target": "",
"prev_findings": [],
"attack_surface": "web | network | binary | all"
},
"ANALYSIS": "",
"ACTION": {
"tool": "
",
"target": "",
"options": {},
"session": ""
},
"WEB_SEARCH": "",
"HYPOTHESIS_0DAY": "",
"DB_SAVE": {
"tech": "",
"open_ports": [],
"hypothesis": ""
},
"STATUS": "RUNNING | BLOCKED | PHASE_COMPLETE | TARGET_PWNED | EXHAUSTED"
}安装技能 通过放置 skills/ 在Claude配置的技能路径下的目录下,然后重新加载Claude。无需进一步配置。
用途:
BB: target.comClaude立即开始CYCLE_TICK 1,没有确认,没有提示,按顺序调用Mergen MCP工具,直到 STATUS: TARGET_PWNED 或 STATUS: EXHAUSTED.
______________________________________________________________________
奥罗波罗规则(反重力)
当通过以下方式使用Mergen时 反重力 (谷歌DeepMind的代理编码助手),相同的Ouroboros Pentester守护进程被用作 用户规则 通过 antigravity_rule.md 文件。内容与Claude技能相同——相同的角色、相同的JSON滴答模式、相同的阶段管道、相同的工具绑定、相同的拦截器协议。唯一的区别是它是如何加载的:作为Antigravity设置中的用户规则,而不是Claude技能目录中的技能文件。
如何安装:
添加以下内容 antigravity_rule.md 作为Antigravity设置面板中的用户规则。不需要其他配置。
激活后的行为:
- 触发器:
BB:·CTF:·Target:·Pentest: - 激活 Ouroboros Pentester persona——无声、自主、JSON优先
- 发出一个Cycle Tick JSON块,并立即调用相应的Mergen MCP工具,无需确认或问候
- 遵循全相管道:
RECON→WEB_RECON→VULN_SCAN→LOGIC_ANALYSIS→POST_EXPLOIT - 呼叫
save_learning()每一次滴答声之后;通过自动处理丢失的工具apt install以及倒退 - 一直运行到
STATUS: TARGET_PWNED,STATUS: EXHAUSTED,或明确ABORT
它如何与Mergen交互:
一旦规则激活,一个触发器就会使Antigravity自动驱动Mergen的整个工具链——侦察、网络枚举、漏洞扫描、漏洞利用、PoC执行和报告生成——而无需任何进一步的用户输入。
______________________________________________________________________
推荐的组合设置
为了获得最大的自主权,请同时运行两个层:
| Agent | 自动化层 | 效果 |
|---|---|---|
| Claude Desktop | Ouroboros Pentest Skill | 具有结构化JSON循环滴答声的静默守护进程循环 |
| 反重力 | Ouroboros循环规则 | 具有自主任务进程的连续链执行 |
| 两者 | 合并MCP服务器 | 44个工具、内存引擎、相关性、报告后端 |
典型工作流程:
- 在Kali机器上启动Mergen服务器
- 通过以下方式连接您的AI客户端(Claude或Antigravity)
mcp_config.json - 发送单个触发器:
BB: target.com或Target: 10.10.10.5 - 代理自主运行完整的杀死链——侦察、网络枚举、漏洞扫描、利用、报告生成
- 从仪表板或通过以下方式检索会话报告
GET /api/sessions/{session}/report
这两个自动化层是独立但互补的。技能控制 代理如何思考和构建其输出;规则控制 代理是否在任务之间停止。它们共同消除了整个参与过程中的所有手动提示。
______________________________________________________________________
MCP工具参考
以下所有工具都通过MCP协议直接暴露给AI代理。
自主攻击
| 工具 | 说明 |
|---|---|
adaptive_attack(target, mode) | 完全自主:侦察→ 剖析→ 策略选择→ 执行→ 报告 |
plan_attack(target, mode, objective) | 在不执行的情况下生成分步攻击计划 |
execute_plan(target, mode, max_steps) | 执行之前生成的或即时生成的计划 |
elite_hunt(target, mode, report_format) | 6层流水线:41条杀戮链,人工智能剧本选择,双重报告 |
smart_recon(target) | 自动侦察工作流程(端口、服务、HTTP指纹) |
vuln_analysis(target) | 通过Nuclei、Nikto和SearchSploit进行漏洞分析 |
模式值: ctf · bugbounty · pentest · stealth · internal · default
单个工具执行
# Run any of the 44 registered plugins
run_tool("nmap", "TARGET_IP", options='{"mode": "stealth"}')
run_tool("nuclei", "http://target.com")
run_tool("sqlmap", "http://target.com/login?id=1")
run_tool("gobuster", "http://target.com", options='{"wordlist": "/usr/share/wordlists/dirb/common.txt"}')利用援助
exploit_assist(target="TARGET_IP", service="vsftpd", version="2.3.4")查询SearchSploit,并返回检测到的服务版本的可运行漏洞利用命令。
智力和记忆力
get_attack_context(target="target.com", objective="find_vulnerabilities")
get_memory(tech_stack="Laravel,PHP")
save_learning(vuln_type="SQLi", success=True, tech_stack="MySQL", payload="' OR 1=1--")
get_session_report(session="engagement-01")作业和流程管理
get_job_output(job_id="abc123") # Poll background job until status='done'
kill_job_mcp(job_id="abc123") # Terminate a running job
run_command("cat /etc/passwd") # Execute raw shell command
write_and_exec(
filename="exploit.py",
content="import socket\n...",
command="python3 exploit.py"
)______________________________________________________________________
安全工具兵工厂
44个插件按类别组织。每个工具都接受 mode 参数: ctf · bugbounty · pentest · stealth · internal · default.
Reconnaissance and Mapping (12 Tools)
| 工具 | 说明 |
|---|---|
nmap | 高级端口扫描,具有隐形、攻击性和vuln脚本模式 |
rustscan | 用作Nmap前级的超快端口扫描仪 |
masscan | 互联网规模端口扫描 |
subfinder | 被动子域发现 |
amass | 全面域侦察(主动+被动) |
fierce | DNS区域转移和子域暴力破解 |
httpx | HTTP/HTTPS服务检测和指纹识别 |
whatweb | Web技术识别(CMS、框架、版本) |
wafw00f | WAF检测和指纹识别 |
dnsenum | DNS枚举 |
crtsh | 通过证书透明度日志发现子域 |
app_mapper | 应用表面测绘和分析 |
Web Application Security (10 Tools)
| 工具 | 说明 |
|---|---|
gobuster | 目录、文件和子域暴力破解 |
ffuf | 快速网络模糊器——目录、参数、vhost |
dirsearch | Web路径发现 |
feroxbuster | 递归内容发现 |
nuclei | 基于模板的漏洞扫描程序(10000+个模板) |
nikto | Web服务器配置审核 |
wpscan | WordPress安全扫描程序 |
katana | 支持JavaScript的网络爬虫 |
dalfox | XSS检测与利用 |
arjun | HTTP参数发现 |
Passive Intelligence (3 Tools)
| 工具 | 说明 |
|---|---|
gau | 从Archive.org和其他来源收集URL |
waybackurls | 从Wayback Machine发现历史URL |
trufflehog | Git存储库中的秘密和凭据检测 |
Exploitation (6 Tools)
| 工具 | 说明 |
|---|---|
sqlmap | SQL注入自动检测与利用 |
hydra | 网络服务暴力破解(50+协议) |
netexec | SMB/WRM/SSH网络利用框架 |
responder | LLMNR/NBT-NS/mDNS中毒和哈希捕获 |
searchsploit | 利用数据库搜索 |
metasploit | Metasploit框架集成 |
exploit_synth | 人工智能辅助开发综合 |
Password Cracking (2 Tools)
| 工具 | 说明 |
|---|---|
john | 开膛手约翰——使用自定义规则破解密码哈希 |
hashcat | GPU加速哈希破解(300多种哈希类型) |
Enumeration (2 Tools)
| 工具 | 说明 |
|---|---|
enum4linux | SMB/Samba用户、组和共享枚举 |
smbmap | SMB共享访问映射 |
Binary Analysis and Reverse Engineering (6 Tools)
| 工具 | 说明 |
|---|---|
binwalk | 固件和二进制文件分析和提取 |
strings | 从二进制文件中提取可打印字符串 |
checksec | 二进制安全属性检查器 |
ghidra | NSA软件逆向工程套件(无头模式) |
radare2 | 高级二元分析框架 |
pwntools | CTF开发库 |
Reporting and Analysis (3 Tools)
| 工具 | 说明 |
|---|---|
report_gen | HTML/JSON/CSV报告生成器 |
diff_check | 变更检测和比较 |
coverage_matrix | MITRE ATT&CK覆盖范围图 |
______________________________________________________________________
插件开发
任何 .py 文件放置在 plugins/ 服务器启动时会自动发现目录,无需注册。
from plugins.base import BasePlugin, ToolResult
class MyToolPlugin(BasePlugin):
name = "mytool"
description = "Custom tool description"
category = "recon" # recon, web, exploit, binary, passive, enum, cracking
def is_available(self) -> bool:
import shutil
return shutil.which("mytool") is not None
async def run(self, target: str, options: dict) -> ToolResult:
mode = options.get("mode", "default")
cmd = ["mytool", "-t", target]
result = await self.execute(cmd)
findings = self.parse_output(result.stdout)
return ToolResult(
tool=self.name,
target=target,
success=result.returncode == 0,
findings=findings,
risk_score=self.calculate_risk(findings),
raw_output=result.stdout,
)______________________________________________________________________
仪表板图形用户界面
访问web仪表板:
http://:8000/dashboard| 选项卡 | 说明 |
|---|---|
| 操作 | 实时终端输出的实时作业跟踪。立即终止任何工作。 |
| 插件 | 所有44个插件,它们的类别和安装状态 |
| 会话 | 完整的扫描历史和结果。每个会话下载HTML报告。 |
| 系统 | 通过WebSocket实时使用CPU和RAM |
______________________________________________________________________
API 参考
核心终点
| 方法 | 端点 | 描述 |
|---|---|---|
GET | /api/plugins | 列出所有具有可用性状态的插件 |
POST | /api/tools/execute | 同步运行工具 |
POST | /api/tools/execute_async | 在后台运行工具,返回 job_id |
GET | /api/jobs | 列出所有活动和已完成的作业 |
GET | /api/jobs/{job_id} | 获取作业详细信息和输出 |
DELETE | /api/jobs/{job_id} | 终止正在运行的作业 |
POST | /api/command | 执行原始shell命令 |
POST | /api/write_and_exec | 将文件写入磁盘并执行 |
会议和报告
| 方法 | 端点 | 描述 |
|---|---|---|
GET | /api/sessions | 列出所有会话 |
GET | /api/sessions/{session} | 获取会话的所有发现 |
GET | /api/sessions/{session}/report | 下载HTML报告 |
GET | /api/sessions/{session}/report/json | 下载JSON报告 |
GET | /api/sessions/{session}/report/csv | 下载CSV报告 |
记忆与智力
| 方法 | 端点 | 描述 |
|---|---|---|
GET | /api/memory | 完整操作历史 |
POST | /api/memory/learn | 记录一项成功的技术 |
GET | /api/memory/learnings | 检索所有记录的学习内容 |
GET | /api/memory/playbook/{tech} | 获取某项技术的攻击策略 |
GET | /api/system | 实时系统指标(CPU、RAM) |
______________________________________________________________________
攻击模式配置文件
| 模式 | 噪音水平 | 速度 | 聚焦 |
|---|---|---|---|
ctf | 高 | 快 | 漏洞利用、二进制、web漏洞利用 |
bugbounty | 低 | 中等 | 被动侦察,子域,API,IDOR |
pentest | 中等 | 中等 | 全面覆盖,内部和外部 |
stealth | 非常低 | 缓慢 | 规避,占地面积最小 |
internal | 高 | 快 | Active Directory、SMB、横向移动 |
default | 中等 | 中等 | 通用 |
______________________________________________________________________
项目结构
mergen/
├── server.py # Core server — FastAPI + MCP integration
├── mergen_mcp.py # MCP proxy client for AI agents
├── install.sh # Automated installer
├── requirements.txt # Python dependencies
├── mcp_config.example.json # AI client configuration template
│
├── server/
│ ├── attack_planner.py # TargetProfiler, KillChainBuilder, AdaptiveExecutionEngine
│ ├── process_manager.py # Background job manager
│ ├── memory.py # Operation memory and learning engine
│ ├── correlation_engine.py # Multi-tool finding correlation
│ ├── defense_detect.py # WAF/IDS/CDN detection
│ ├── playbook_selector.py # AI-driven playbook selection
│ ├── playbooks.py # Attack playbook database
│ ├── mode_profiles.py # Mode profile definitions
│ ├── reporter.py # HTML/JSON/CSV report generator
│ ├── web_intel.py # Web intelligence and priority hints
│ └── coverage_matrix.py # MITRE ATT&CK mapping
│
├── plugins/ # 44 tool plugins (auto-discovered)
│ ├── base.py # BasePlugin and ToolResult classes
│ ├── __init__.py # Plugin discovery engine
│ └── *.py # Individual tool plugins
│
├── dashboard/
│ └── index.html # Single-page app (WebSocket-enabled)
│
└── data/
└── sessions.db # SQLite — findings, operations, learnings______________________________________________________________________
技术栈
| 组件 | 技术 | 目的 |
|---|---|---|
| 语言 | Python 3.10+ | 核心运行时 |
| Web框架 | FastAPI 0.111+ | REST API和WebSocket服务器 |
| ASGI服务器 | Uvicorn 0.29+ | 生产级异步服务器 |
| MCP运行时 | MCP SDK 1.0+ | 模型上下文协议集成 |
| 数据库 | SQLite+aiosqlite | 发现、操作、学习 |
| 异步HTTP | aiohttp 3.9+ | 出站HTTP请求 |
| 实时 | websockets 12.0+ | 实时仪表板更新 |
| 系统指标 | psutil 5.9+ | CPU和内存监控 |
| 异步I/O | anyio 4.3+ | 异步抽象层 |
______________________________________________________________________
故障排除
插件未出现在仪表板中?
# Check plugins/ directory contains .py files
ls /opt/mergen/plugins/*.py
# Restart the server to trigger auto-discovery
sudo systemctl restart mergen工具未找到错误?
# Install the missing tool
sudo apt install
# Or re-run the full installer
sudo bash /opt/mergen/install.shAI代理无法连接?
# Verify the server is reachable
curl http://:8000/api/plugins
# Check your mcp_config.json path is correct
cat ~/.config/claude/claude_desktop_config.json
# If using a remote Kali host, ensure the SSH tunnel is active
ssh -L 8000:localhost:8000 user@kali-host数据库错误?
rm /opt/mergen/data/sessions.db
sudo systemctl restart mergen______________________________________________________________________
法律和道德使用
此工具专为授权安全测试而设计。
允许使用:
- 书面授权的渗透测试
- 在规定范围内的漏洞赏金计划
- CTF竞赛和实验室环境
- 自有或授权系统的安全研究
- 红队在组织批准下进行演习
禁止使用:
- 未经明确书面许可的测试系统
- 任何未经授权的访问或数据泄露
- 任何形式的恶意或非法活动
作者对未经授权或非法使用本软件不承担任何责任。
______________________________________________________________________
贡献
欢迎来自安全和人工智能社区的贡献。
# Fork and clone
git clone https://github.com/g4sk0/mergen-mcp.git
cd mergen-mcp
# Set up development environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run the development server
python server.py优先贡献领域:
- 新工具插件集成
- 攻击策略添加
- 性能和缓存改进
- 文档和使用示例
- 测试覆盖率
______________________________________________________________________
许可证
MIT许可证——见 许可证 了解详情。
______________________________________________________________________
合并 --土耳其语,意思 *明智* 或 *熟练的*.
