MCP Hub
Back to servers

OWASP ZAP MCP Server

MCP server for OWASP ZAP vulnerability scanning with Docker management

Registry
Updated
Mar 27, 2026

dotnet-zap-mcp

NuGet NuGet Downloads Release

MCP (Model Context Protocol) server for OWASP ZAP. Enables AI agents (Claude, GitHub Copilot, etc.) to drive ZAP vulnerability scanning via MCP.

Features

  • 14 MCP tools for controlling OWASP ZAP (scanning, alerts, spider, etc.)
  • Built-in Docker Compose management (start/stop ZAP with a single tool call)
  • Zero-config setup: auto-generates API keys and extracts Docker assets
  • Works with any MCP-compatible client (Claude Desktop, VS Code, etc.)

Installation

dotnet tool install -g dotnet-zap-mcp

Prerequisites

Configuration

Zero-config (recommended)

No configuration needed. The agent calls DockerComposeUp which automatically:

  1. Extracts Docker assets to ~/.zap-mcp/docker/
  2. Generates a random API key
  3. Starts the ZAP container on localhost:8090
  4. Waits for ZAP to become healthy

Claude Desktop / Claude Code

Add to your MCP configuration:

{
  "mcpServers": {
    "zap": {
      "command": "zap-mcp"
    }
  }
}

VS Code (Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "zap": {
      "command": "zap-mcp"
    }
  }
}

With existing ZAP instance

If you already have a ZAP instance running, pass connection details via environment variables:

{
  "mcpServers": {
    "zap": {
      "command": "zap-mcp",
      "env": {
        "ZAP_BASE_URL": "http://localhost:8090",
        "ZAP_API_KEY": "your-api-key"
      }
    }
  }
}

Available Tools

Docker Management

ToolDescription
DockerComposeUpStart the ZAP container and wait for healthy
DockerComposeDownStop and remove the ZAP container
DockerComposeStatusCheck container status
DockerComposeLogsGet recent container logs

ZAP Scanning

ToolDescription
GetVersionVerify ZAP connectivity
GetHostsList recorded hosts
GetSitesList recorded sites
GetUrlsList recorded URLs for a base URL
GetPassiveScanStatusCheck passive scan progress
GetAlertsSummaryAlert counts by risk level
GetAlertsDetailed alert list with pagination
StartSpiderStart a spider scan
GetSpiderStatusCheck spider progress
StartActiveScanStart an active vulnerability scan
GetActiveScanStatusCheck active scan progress
StopActiveScanStop a running active scan

Typical Workflow

  1. Agent calls DockerComposeUp to start ZAP
  2. Configure browser/Playwright to use ZAP as proxy (http://127.0.0.1:8090)
  3. Browse the target application through the proxy
  4. Agent calls GetPassiveScanStatus to wait for passive scan completion
  5. Agent calls StartActiveScan on key pages
  6. Agent calls GetAlerts to retrieve vulnerability findings
  7. Agent calls DockerComposeDown when done

License

MIT

Reviews

No reviews yet

Sign in to write a review