cursor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cursor (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="images/brand.png" alt="MCP ZAP Server logo" width="180"> </p>
<h1 align="center">MCP ZAP Server</h1>
<p align="center"> Give AI agents a safe, self-hosted ZAP operator for guided web security scans, findings, reports, and production guardrails. </p>
<p align="center"> <img src="https://img.shields.io/github/stars/dtkmn/mcp-zap-server?style=social" alt="GitHub stars"> <img src="https://img.shields.io/github/forks/dtkmn/mcp-zap-server?style=social" alt="GitHub forks"> <img src="https://img.shields.io/github/v/tag/dtkmn/mcp-zap-server" alt="GitHub tag"> <img src="https://img.shields.io/github/license/dtkmn/mcp-zap-server" alt="GitHub license"> </p>
Note This project is not affiliated with or endorsed by the ZAP project. It is an independent implementation.
mcp-zap-server exposes ZAP through MCP over streamable HTTP so agentic tools can run operator-controlled security workflows without brittle glue scripts or unsafe scanner access.
Use it when you want:
Full documentation: danieltse.org/mcp-zap-server
An experimental headless Apple Silicon package bundles Java and ZAP for HTTP workflows. It is a maintainer-built local preview; public downloads are not available, and supplied previews are unsigned. The private ChatGPT connection guide explains Secure MCP Tunnel prerequisites and access to a local scanner.
Watch the demo: browser demo or YouTube
<a href="https://www.youtube.com/watch?v=9_9VqsL0lNw" target="_blank" rel="noopener noreferrer"> <img src="https://img.youtube.com/vi/9_9VqsL0lNw/hqdefault.jpg" alt="MCP ZAP Server demo video thumbnail" width="480"> </a>
Prerequisites:
docker compose) with --wait and --wait-timeout supportThis source selects image v0.17.1. Verify that the matching GitHub release and Linux AMD64/ARM64 images are published before starting it. Until then, use the published v0.16.0 release or build local source through the contributor setup. Read the 0.17.1 upgrade guide before changing an existing installation. Settings and selected versions are preserved; set IMAGE_TAG in .env deliberately when upgrading.
Prefer to ask Codex to handle setup? Manually install the optional MCP ZAP Connect plugin, then ask it to check prerequisites, start the Docker stack, configure your private MCP connection and verify status. The skill can help install missing prerequisites with your approval, then recheck and continue setup. Scanning is a separate request. The commands below remain available without the plugin.
For Cursor Desktop Free, follow the guided Cursor setup. Use a local Agent chat with available Cursor allowance to set up the scanner, check status, then request a demo crawl and report separately.
Claude Code local preview uses the same scanner and setup skill in a local Claude Code session.
For Claude Desktop Free, follow the download, setup and first-scan guide. The macOS MCPB preview adds agent-callable setup tools around the same Docker scripts and reuses existing installations. Choose a scanner release that includes the Desktop .mcpb, matching guide and checksum files. If those assets are not listed, use the local build instructions. This extension is separate from the Claude Code plugin.
git clone https://github.com/dtkmn/mcp-zap-server.git
cd mcp-zap-server
./bin/bootstrap-local.sh --startThis creates missing settings, preserves existing keys and workspace data, and starts a versioned release image. It reports ready after container health and authenticated MCP checks pass. The packaged client uses * for the curated guided tools; run scans only when requested. Existing settings retain their permissions. See quick-start permissions for the default and optional per-client restrictions.
Use Self-Serve First Run for version selection, configuration, stopping/restarting, startup timeouts, and recovery. For source builds, use the contributor setup.
Connect your MCP client:
http://localhost:7456/mcpMCP_API_KEY from .env in the X-API-Key headerThe stack runs the MCP server, ZAP, and demo targets. Install and configure your preferred MCP client separately.
After connecting, try this first prompt:
Use the guided ZAP tools to crawl http://juice-shop:3000. Wait for the crawl
and passive analysis to finish, show a findings summary, generate an HTML
report, and read it back through MCP. Do not run an active scan.Expect a completed crawl, a findings summary, and a report the client can read. Use the container URL http://juice-shop:3000 for this scan; the host preview http://localhost:3001 is for your browser. Finding counts vary; a connection or scan error is not a clean result.
The default stack binds published ports to loopback. Review Quick Start Security before changing access or scan-target settings. Agent install notes cover setup permissions and standalone OCI use.
This source includes 0.17.1 MCP Registry metadata in .mcp/server.json. Metadata in source does not publish a registry version or image. Check the MCP Registry and use metadata from the same published version as the image you deploy. The image includes the MCP server name expected by registry and catalog tooling. The published 0.16.0 version and its immutable digest remain documented in the 0.16.0 release guide.
Docker Compose remains the easiest installation path because the MCP server is designed to operate with a ZAP sidecar and explicit auth keys. The OCI package metadata is for advanced standalone installs where ZAP is already running and reachable from the MCP container.
zap_policy_dry_run and policy-mode configuration.In v0.13.0, Client Spider and browser authentication profiles support direct and queued browser crawling. See the Client Spider guide for setup, authenticated crawling, and reports. These features are not included in v0.12.0.
The 0.17.1 release and upgrade guide describes neutral recorded-findings responses, authoritative explicit target denies, permission-aware next actions, and the local client setup options. Publication of the tag, images, registry version and Desktop downloads must be verified separately in GitHub Releases. Use a version with verified published images until the matching distribution is available. The v0.17.0 GitHub release is incomplete: its Desktop assets are absent and its image-release workflow did not complete. See the upgrade guide for availability checks.
Version v0.16.0 is released. Linux AMD64 and ARM64 images are published on GHCR and Docker Hub, and MCP Registry 0.16.0 is active/latest. The release and upgrade guide records the image digest and installation boundaries.
Automation Framework plans now validate whole-plan durations and required engine/add-on capabilities, enforce filesystem containment for plans and artifacts, and validate report output directories and filenames. Plan status reports Successful as pending, no or unknown without treating a finish timestamp as proof of a completed scan. Scanner-aware CI comparisons require matching measured engine/add-on inventories, and target-scoped reports retain root alert evidence from the requested origin.
The local Docker quick start uses an explicitly versioned release image and authenticated readiness checks. The Apple Silicon package and private ChatGPT connection are optional preview paths; follow their guides for installation and network requirements.
See GitHub Releases for the latest published version and its publication date. Version-specific documentation describes that version's behavior; it does not announce image availability. Deploy only after the corresponding release workflow succeeds and the versioned image is available in your registry.
Version v0.15.0 introduces optional OpenAPI imports from client-supplied content and complete paged report retrieval. Target-scoped reports remove unrelated shared-session data, HTTP crawl depth is configured independently from child count, and health checks reapply mandatory outbound settings when ZAP starts late or its engine is replaced. Review the storage and configuration requirements before enabling content import or upgrading an existing deployment.
It also includes a CloudFormation EKS starter and a walkthrough for deploying the Helm chart with JWT authentication, persistent report storage and network policies.
Version `v0.14.0` hardens API-key configuration, JWT revocation and refresh, Automation Framework plans, OpenAPI target overrides, HTTP metrics, and Helm ingress policy. It also adopts Gateway Core and the Spring WebFlux adapter 0.11.0, including shared governance audits and active-tool validation. Read the upgrade notes before deploying: the legacy API-key property is removed, JWT backend failures fail closed, and accepted automation inputs and audit fields have changed. Use published release images when upgrading.
The default posture is intentionally conservative:
api-key mode is the base runtime default.none mode is for explicit local dev/test only.package manager; debug it through logs, metrics, and external diagnostic containers rather than installing tools into the application container.
profileId and targetUrl.For a first private AWS deployment without Kubernetes, use AWS EC2 with Docker Compose and its standalone example.
For Kubernetes, use the EKS infrastructure starter to create a dedicated evaluation cluster in an existing VPC, then deploy with the existing Helm chart. Follow the walkthrough for network configuration, JWT authentication, persistent storage and deployment checks.
Production and shared deployments should review:
flowchart LR
Client["Your MCP Client"] -->|"MCP over Streamable HTTP"| MCP["MCP ZAP Server"]
MCP -->|"ZAP API"| ZAP["ZAP"]
ZAP -->|"scan"| Target["Authorized target app"]
MCP -->|"reports / findings / history"| Evidence["Evidence + reports"]For multi-replica queueing, durable Postgres state, claim recovery, and ingress affinity, use the operations docs instead of this README:
The extension API exposes selected contracts for policy, protection, evidence and metadata integrations:
mcp-zap-extension-api packages selected policy, protection, evidence, andmetadata contracts without gateway runtime internals.
extension boundary.
shows the target standalone repository shape.
explains publication stages and compatibility gates.
shows how a separate project depends on the API artifact.
Extensions do not add runtime multi-engine support. Additional scanner engines require their own adapters and explicit capability boundaries.
Start here:
Scanning:
Operations:
mcp-zap-server is the Apache-2.0-licensed open-source core. It is intended to be useful on its own for self-hosted MCP and ZAP workflows.
Private or enterprise capabilities may be built as separate extensions around this core. Those extensions are not required to run the OSS project, and enterprise implementation code is not shipped in this repository.
The boundary is intentional:
If this project saves you time or becomes part of your security workflow, you can sponsor the maintainer to support ongoing maintenance.
Agentic Lab offers optional paid support for teams adopting the public core in production. Commercial support is separate from the Apache-2.0-licensed OSS distribution, and the public core should remain usable without private extensions or paid services.
Apache License 2.0. Copyright 2025-2026 Daniel Tse. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.