Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

MCP ZAP Server

by dtkmnversion 0.17.1i★ –iRuns on your computer
Registry nameio.github.dtkmn/mcp-zap-server

Install

Overview

Description from the maker (original English)

Safe, self-hosted ZAP operator for guided AI security scans and reports.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: Streamable HTTP
  • Category: Cybersecurity
  • You need to fill in: ZAP_API_KEY, MCP_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ZAP_API_URL, ZAP_API_PORT, ZAP_API_KEY, MCP_API_KEY, MCP_SERVER_TOOLS_SURFACE, MCP_SECURITY_MODE, MCP_SECURITY_ENABLED, MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "zap": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ZAP_API_URL",
        "-e",
        "ZAP_API_PORT",
        "-e",
        "ZAP_API_KEY",
        "-e",
        "MCP_API_KEY",
        "-e",
        "MCP_SERVER_TOOLS_SURFACE",
        "-e",
        "MCP_SECURITY_MODE",
        "-e",
        "MCP_SECURITY_ENABLED",
        "-e",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY",
        "ghcr.io/dtkmn/mcp-zap-server:v0.17.1"
      ],
      "env": {
        "ZAP_API_URL": "your-value",
        "ZAP_API_PORT": "your-value",
        "ZAP_API_KEY": "your-value",
        "MCP_API_KEY": "your-value",
        "MCP_SERVER_TOOLS_SURFACE": "your-value",
        "MCP_SECURITY_MODE": "your-value",
        "MCP_SECURITY_ENABLED": "your-value",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add zap --env ZAP_API_URL=your-value --env ZAP_API_PORT=your-value --env ZAP_API_KEY=your-value --env MCP_API_KEY=your-value --env MCP_SERVER_TOOLS_SURFACE=your-value --env MCP_SECURITY_MODE=your-value --env MCP_SECURITY_ENABLED=your-value --env MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY=your-value -- docker run -i --rm -e ZAP_API_URL -e ZAP_API_PORT -e ZAP_API_KEY -e MCP_API_KEY -e MCP_SERVER_TOOLS_SURFACE -e MCP_SECURITY_MODE -e MCP_SECURITY_ENABLED -e MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY ghcr.io/dtkmn/mcp-zap-server:v0.17.1

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "zap": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ZAP_API_URL",
        "-e",
        "ZAP_API_PORT",
        "-e",
        "ZAP_API_KEY",
        "-e",
        "MCP_API_KEY",
        "-e",
        "MCP_SERVER_TOOLS_SURFACE",
        "-e",
        "MCP_SECURITY_MODE",
        "-e",
        "MCP_SECURITY_ENABLED",
        "-e",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY",
        "ghcr.io/dtkmn/mcp-zap-server:v0.17.1"
      ],
      "env": {
        "ZAP_API_URL": "your-value",
        "ZAP_API_PORT": "your-value",
        "ZAP_API_KEY": "your-value",
        "MCP_API_KEY": "your-value",
        "MCP_SERVER_TOOLS_SURFACE": "your-value",
        "MCP_SECURITY_MODE": "your-value",
        "MCP_SECURITY_ENABLED": "your-value",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "zap": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ZAP_API_URL",
        "-e",
        "ZAP_API_PORT",
        "-e",
        "ZAP_API_KEY",
        "-e",
        "MCP_API_KEY",
        "-e",
        "MCP_SERVER_TOOLS_SURFACE",
        "-e",
        "MCP_SECURITY_MODE",
        "-e",
        "MCP_SECURITY_ENABLED",
        "-e",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY",
        "ghcr.io/dtkmn/mcp-zap-server:v0.17.1"
      ],
      "env": {
        "ZAP_API_URL": "your-value",
        "ZAP_API_PORT": "your-value",
        "ZAP_API_KEY": "your-value",
        "MCP_API_KEY": "your-value",
        "MCP_SERVER_TOOLS_SURFACE": "your-value",
        "MCP_SECURITY_MODE": "your-value",
        "MCP_SECURITY_ENABLED": "your-value",
        "MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ZAP_API_URL env
    Hostname or URL of a separately running ZAP daemon reachable from this container.
  • ZAP_API_PORT env
    ZAP API port.
  • ZAP_API_KEY secret required env
    API key configured on the ZAP daemon.
  • MCP_API_KEY secret required env
    API key clients must send as X-API-Key.
  • MCP_SERVER_TOOLS_SURFACE env
    Tool surface to expose. Use guided for the safer default workflow, including report readback. Use expert only when clients need raw ZAP tools outside the guided surface.
  • MCP_SECURITY_MODE env
  • MCP_SECURITY_ENABLED env
  • MCP_SECURITY_ALLOW_PLACEHOLDER_API_KEY env

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account dtkmn, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Cybersecurityi

  • More stars than 0% of the other 1004 servers in this category
  • Published to the registry more recently than 70% of the other 1004 servers in this category
  • Basic checks equal to or better than 100% of the other 1004 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is MCP ZAP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ZAP_API_KEY, MCP_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.17.1) reached the registry 17 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: Unicode Security MCP, Osv MCP, Epss MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Unicode Security MCP

Local checks for Unicode confusables, mixed scripts, invisible controls, and suspicious identifiers.

by mrfentmenVery new↓ 50/wkUpdated today

Runs on your computer

Osv MCP

MCP server for OSV open source vulnerability data and package security checks.

by mrfentmenVery new↓ 64/wkUpdated today

Runs on your computer

Epss MCP

Exploit Prediction Scoring System scores: how likely a CVE will be exploited in the next 30 days.

by mrfentmenVery new↓ 152/wkUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

MCP ZAP Server

Give AI agents a safe, self-hosted ZAP operator for guided web security scans, findings, reports, and production guardrails.

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:

  • safe agentic scanning with guided defaults for spider, active scan, passive scan, API imports, findings, and reports
  • operator control through API-key or JWT auth, tool scopes, runtime policy bundles, rate limits, and audit events
  • self-hosted deployment with Docker Compose for local adoption and Helm for Kubernetes
  • one guided tool catalog with queue-managed scan starts, findings baselines, reports and explicit operator recovery

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

Quick Start

Prerequisites:

  • Docker 20.10+
  • Docker Compose v2 or newer (docker compose) with --wait and --wait-timeout support
  • your own MCP client with Streamable HTTP and custom-header support

This 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 --start

This 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:

  • MCP endpoint for host-side clients: http://localhost:7456/mcp
  • Authentication: send MCP_API_KEY from .env in the X-API-Key header
  • MCP client setup and authentication

The 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.

Discovery Metadata

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.

What You Get

  • Guided scans: intent-first tools for spider, active scan, passive scan, API imports, findings, reports, and scan history.
  • Guided tool catalog: policy inspection, authentication setup and queued scan operations with status and stop controls.
  • Authentication: API key mode by default, optional JWT mode with refresh and revocation support.
  • Runtime policy bundles: configured dry-run and enforcement modes for guided tool calls.
  • Scan queue and history: queued active, traditional spider, AJAX Spider, and Client Spider jobs with claim-based recovery, durable Postgres state, and evidence export.
  • Extension contracts: experimental policy, protection, evidence metadata, and extension metadata APIs with sample extension packaging.
  • Operational guardrails: request body limits, rate limits, workspace quotas, tool-scope authorization, structured logs, metrics, and audit events.
  • Deployment paths: local Docker Compose, published JVM container images, and Helm charts for Kubernetes.

See the Client Spider guide for browser setup, authenticated guided crawling and reports.

Version 0.17.1

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 0.16.0

See the 0.16.0 release and upgrade guide for that release's behavior and requirements.

Version 0.15.0

See the 0.15.0 release and upgrade guide for that release's behavior and requirements.

Version 0.14.0

See the 0.14.0 release and upgrade guide for that release's behavior and requirements.

The release notes archive and changelog cover earlier versions. For changes to older MCP integrations, use Upgrading to Guided Tools. Verify the matching image and distribution in GitHub Releases before deployment.

Security Defaults

The default posture is intentionally conservative:

  • api-key mode is the base runtime default.
  • none mode is for explicit local dev/test only.
  • Docker Compose binds published ports to loopback by default.
  • The Java 25 JVM image uses a digest-pinned distroless runtime with no shell or package manager; debug it through logs, metrics, and external diagnostic containers rather than installing tools into the application container.
  • URL validation blocks localhost, private networks, and link-local targets by default.
  • Target authentication is optional and profiles default to an empty list. When enabled, guided auth binds an exact server-side credential reference and login settings to one approved origin; callers provide only profileId and targetUrl.
  • Public auth exchange endpoints are rate-limited.
  • MCP request bodies have a hard early size cap.

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:

Only the beginning is shown; read the rest in the repo

Ask PopNx