MCP-ZAP 服务器是一个基于 Spring Boot 的应用程序,它将 OWASP ZAP 暴露为 MCP(模型上下文协议)服务器。借助该服务器,任何与 MCP 兼容的 AI 代理(如 Claude Desktop、Cursor)都能协调 ZAP 操作,包括爬虫、主动扫描、导入 OpenAPI 规范并生成报告。
⚠️ 重要提示
此项目目前处于开发阶段,尚未准备好用于生产环境。其目的是为了教育用途,并演示模型上下文协议(MCP)与 OWASP ZAP 的能力。
flowchart LR
subgraph "Docker Compose"
ZAP["OWASP ZAP (容器)"]
MCP["MCP 服务器 (Spring Boot)"]
Client["MCP 客户端 (Open Web-UI)"]
end
OtherClient["MCP 客户端 (Claude, Cursor)"] --> |HTTP/SSE + Bearer| MCP
Client -->|HTTP/SSE + Bearer| MCP
MCP -->|ZAP REST API| ZAP
ZAP -->|扫描、警报、报告| MCP
docker-compose.yml
文件的项目目录。docker-compose up -d
docker-compose logs
zap
${LOCAL_ZAP_WORKPLACE_FOLDER}
到容器路径 /zap/wrk
。open-webui
mcpo
9000
。mcp-zap
${MCP_ZAP_OPENAPI}
指向 OpenAPI 文件路径。${MCP_ZAP_API_KEY}
配置 API 密钥。# 在项目目录下运行以下命令启动服务:
docker-compose up -d
# 访问界面:
# Open Web-UI:http://localhost:3000
# 配置 OpenAPI 文件路径(必填)
MCP_ZAP_OPENAPI=/path/to/openapi.json
# 可选,设置 API 密钥
MCP_ZAP_API_KEY=your_api_key_here
openapi.json
{
"openapi": "3.0.0",
"info": {
"title": "示例 API",
"version": "1.0"
},
"servers": [
{
"url": "http://localhost:8080"
}
]
}
# 在项目目录下运行以下命令启动服务:
docker-compose up -d
# 确认服务运行状态:
docker-compose ps