Mcp Zap Server

Mcp Zap Server

🚀 MCP-ZAP 服务器

MCP-ZAP 服务器是一个基于 Spring Boot 的应用程序,它将 OWASP ZAP 暴露为 MCP(模型上下文协议)服务器。借助该服务器,任何与 MCP 兼容的 AI 代理(如 Claude Desktop、Cursor)都能协调 ZAP 操作,包括爬虫、主动扫描、导入 OpenAPI 规范并生成报告。

⚠️ 重要提示

此项目目前处于开发阶段,尚未准备好用于生产环境。其目的是为了教育用途,并演示模型上下文协议(MCP)与 OWASP ZAP 的能力。

✨ 主要特性

  • MCP 服务器:将 ZAP 操作作为 MCP 工具暴露。
  • OpenAPI 集成:导入远程或上传的 OpenAPI 规范到 ZAP 并启动主动扫描。
  • 报告生成:生成 HTML/JSON 报告并程序化地获取内容。
  • Docker 化:通过 docker-compose 运行 ZAP 和 MCP 服务器容器。
  • 安全:配置 API 密钥用于 ZAP(ZAP_API_KEY)和 MCP 服务器(MCP_API_KEY)。

🔧 技术细节

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
  • 安装 Docker Compose

运行服务

  1. 打开终端。
  2. 切换到包含 docker-compose.yml 文件的项目目录。
  3. 运行以下命令以分 detached 模式启动容器:
docker-compose up -d
  1. 要查看特定服务的日志,运行:
docker-compose logs 

服务概述

zap

  • 镜像:zaproxy/zap-stable
  • 目的:在端口 8090 运行 OWASP ZAP daemon。
  • 配置
    • 禁用 API 密钥。
    • 接受来自所有地址的请求。
    • 映射主机目录 ${LOCAL_ZAP_WORKPLACE_FOLDER} 到容器路径 /zap/wrk

open-webui

  • 镜像:ghcr.io/open-webui/open-webui
  • 目的:提供管理 ZAP 和 MCP 服务器的网络界面。
  • 配置
    • 暴露端口 3000。
    • 使用命名卷持久化后端数据。

mcpo

  • 镜像:ghcr.io/open-webui/mcpo:main
  • 目的:将任何 MCP 工具作为 OpenAPI 兼容的 HTTP 服务器暴露。仅用于 Open Web-UI。
  • 配置
    • 映射端口 9000

mcp-zap

  • 镜像:ghcr.io/mcpgpt/mcp-zap:latest
  • 目的:运行 MCP-ZAP 项目。
  • 配置
    • 设置环境变量 ${MCP_ZAP_OPENAPI} 指向 OpenAPI 文件路径。
    • 设置环境变量 ${MCP_ZAP_API_KEY} 配置 API 密钥。

💻 使用示例

基础用法

Docker Compose 启动

# 在项目目录下运行以下命令启动服务:
docker-compose up -d

# 访问界面:
# Open Web-UI:http://localhost:3000

环境变量配置

MCP-ZAP 服务器
# 配置 OpenAPI 文件路径(必填)
MCP_ZAP_OPENAPI=/path/to/openapi.json

# 可选,设置 API 密钥
MCP_ZAP_API_KEY=your_api_key_here

高级用法

使用案例

1. 创建一个简单的 OpenAPI 规范文件 openapi.json
{
"openapi": "3.0.0",
"info": {
"title": "示例 API",
"version": "1.0"
},
"servers": [
{
"url": "http://localhost:8080"
}
]
}
2. 启动 MCP-ZAP 服务器
# 在项目目录下运行以下命令启动服务:
docker-compose up -d

# 确认服务运行状态:
docker-compose ps

📚 详细文档

术语表

  • MCP:模型上下文协议(Model Context Protocol)
  • ZAP:OWASP ZAP(Zugzwang 的主动安全工具)
  • OpenAPI:开放应用程序接口规范
  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-29 20:45

相似服务问题