scan-local-target

scan-local-target is a skill for Claude Code from dtkmn/mcp-zap-server. It costs 61 tokens per session (1,719 once invoked), scanned A, original, Apache-2.0.

A readiness check for a local OWASP ZAP scanner, a tool that crawls websites and looks for security problems. It prepares for requested scans through a chosen client and local Docker setup.

In plain words
What is it for?
Use it before local web crawls or passive security scans, and to check scanner status after Docker or scanner changes.
Why use it?
It checks that the selected scanner and target are ready before starting, while keeping recovery actions under the user's approval.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions Claude Code; mentions Codex.

Part of the mcp-zap-connect plugin — 2 skills shipped together

Good fit Use it before local web crawls or passive security scans, and to check scanner status after Docker or scanner changes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dtkmn/mcp-zap-server/scan-local-target
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add dtkmn/mcp-zap-server --skill scan-local-target
Clone the repo
git clone --depth 1 https://github.com/dtkmn/mcp-zap-server

Made for: Claude Code.

Or install mcp-zap-connect, the plugin that ships this one along with the rest of its 2 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for scan-local-target

README.md
[![agentmods](https://agentmods.dev/badge/skills/dtkmn/mcp-zap-server/scan-local-target/github.svg)](https://agentmods.dev/skills/dtkmn/mcp-zap-server/scan-local-target)
Your own site
<a href="https://agentmods.dev/skills/dtkmn/mcp-zap-server/scan-local-target"><img src="https://agentmods.dev/badge/skills/dtkmn/mcp-zap-server/scan-local-target/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for scan-local-target

Your own site · 80×15
<a href="https://agentmods.dev/skills/dtkmn/mcp-zap-server/scan-local-target"><img src="https://agentmods.dev/badge/skills/dtkmn/mcp-zap-server/scan-local-target.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,719 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00061 $0.01719
Opus 5.5 $0.00024 $0.00688
Sonnet 5.5 $0.00012 $0.00344
Haiku 4.5 $0.00006 $0.00172

Measured 2d ago against content hash a58dd23fe05c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

scan-local-target scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/mcp-zap-connect/skills/scan-local-target/SKILL.md · 134 lines

How it starts

The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Check readiness and run the requested local workflow

Use this skill before every new local MCP ZAP crawl or scan workflow, including the bundled demo. Work on the scanner's machine through the client the user requested. A successful installation or earlier scan is not proof of current readiness. This is an agent workflow; it does not intercept calls sent directly to a separately configured MCP server.

For a pure status-only request, call zap_passive_scan_status once through the requested client's selected scanner connection and stop. Do not add setup, preflight commands, recovery or another client's status call to that request.

Identify the installation and request

  • Retain the exact authorized target, crawl strategy, requested operations and restrictions. Ask for a target or intended workflow when missing. An HTTP crawl and passive analysis do not authorize an active attack.
  • Identify the existing scanner checkout, its private .env, and the requested client's scanner alias and endpoint. Reuse the selected installation; do not search for another working scanner as a fallback. If several installations or aliases conflict, stop and ask which one to use.
  • Read docs/getting-started/SELF_SERVE_FIRST_RUN.md in that checkout. This skill supports its standard local Docker Compose installation. For a native package, remote engine or customized deployment, explain the difference and follow that deployment's documented readiness procedure. Do not apply Docker recovery to a different installation type.
  • Preserve every client's settings, disabled states, tool restrictions and approvals. A scan request does not authorize configuration edits, key replacement, image updates, Docker context changes or starting containers. Do not print credentials, source .env as shell code or include secrets in command arguments.

Read-only preflight

  1. From the selected scanner checkout, run ./bin/scanner-readiness.sh with a bounded command deadline. Docker requests have a 15-second timeout each; an overall command timeout also blocks the workflow. This check must precede any new crawl or scan tool call. It checks the current local Docker endpoint, Compose ownership, settings, container state and authenticated readiness using the doctor with its tool-call probe disabled. It does not create settings, pull images, start containers or scan a target. If the helper is unavailable, stop and explain that this checkout needs the readiness-capable release; do not download or replace it silently.
  2. Continue only after the helper returns READY. A nonzero exit, timeout or missing result blocks the workflow. Explain the reported category and next step without exposing private logs or key values. Follow the recovery rules below instead of trying a scan to see whether it works.
  3. Prove the current client's connection by calling zap_passive_scan_status once with {} through its selected scanner alias. A doctor response, tool list, terminal HTTP request, or status from another client is not this proof. Check that the native call returns successfully; completion or backlog values describe existing passive work and are not permission to start more.
  4. If tools are absent, authentication fails or the client connection is stale, stop before any crawl or scan. Offer reconnection of this server, preserving settings and approvals. Codex may need a new session or app restart. In Cursor, use the selected server's Reload control under Customize → MCPs when available. In Claude Code inspect /mcp and use its reconnect action when offered, otherwise request a new local session. Do not restart the user's app automatically. After the identified connection fix, recheck preflight and make one new native status call; do not retry in a loop.

Read the full file on GitHub · 134 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 134 lines · 61 tokens per session scan A a58dd23fe05c

Subscribe to this mod's changes

scan-local-target is a skill published in the GitHub repository dtkmn/mcp-zap-server (67 stars, last pushed yesterday), licensed Apache-2.0. It adds 61 tokens to every session and 1,719 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-22.

Related

Other skills, from other repositories

java-spring-ai

Use when the user asks to add AI features, integrate Spring AI or LangChain4J, build a chatbot, implement RAG (retrieval-augmented generation), use vector stores, stream LLM responses, or call AI tools/functions in a Spring Boot project.

ducpm2303/claude-java-plugins · 59 tokens

portainer-mcp-hygiene

How to drive the Portainer MCP server's tools correctly — both reading and mutating. Reading: project responses with select (JMESPath), where the heavy fields live (snapshots, status blocks, managed fields), how to handle non-JSON Docker/K8s proxy endpoints (container and pod logs, stats, exec), and how to interpret…

portainer/portainer-mcp · 315 tokens

container-native-deployment

Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images, JVM containers, AOT hints, probes, security, and verification.

rrezartprebreza/spring-boot-skills · 46 tokens

aws-cloudformation-ecs

Provides AWS CloudFormation patterns for ECS clusters, task definitions, services, container definitions, auto scaling, blue/green deployments, CodeDeploy integration, ALB integration, service discovery, monitoring, logging, template structure, parameters, outputs, and cross-stack references. Use when creating ECS…

giuseppe-trisciuoglio/developer-kit · 101 tokens

aws-cloudformation-task-ecs-deploy-gh

Provides patterns to deploy ECS tasks and services with GitHub Actions CI/CD. Use when building Docker images, pushing to ECR, updating ECS task definitions, deploying ECS services, integrating with CloudFormation stacks, configuring AWS OIDC authentication for GitHub Actions, and implementing production-ready…

giuseppe-trisciuoglio/developer-kit · 106 tokens

spring-boot-expert

Expert-level Spring Boot, Spring Framework, REST APIs, and microservices development. Use when the user mentions Java, Spring framework, REST APIs, or microservices, or when the task involves Spring Boot Fundamentals.

personamanagmentlayer/pcl · 48 tokens