mcp-zap-server
mcp-zap-server expone ZAP a través de MCP sobre HTTP streamable, permitiendo que agentes de IA ejecuten flujos de trabajo de seguridad web bajo control del operador sin scripts frágiles ni acceso inseguro al escáner.
Ficha actualizada 25 sept 2026, 13:00 · upstream 25 sept 2026, 12:34 · release v0.12.0
Qué es mcp-zap-server
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este proyecto proporciona un operador seguro y auto-alojado para ZAP (Zed Attack Proxy) diseñado específicamente para guiar a agentes de IA en tareas de seguridad web. Expone la funcionalidad de ZAP a través del Modelo Context Protocolo (MCP) sobre HTTP streamable, lo que permite a las herramientas de agentes ejecutar flujos de trabajo de seguridad controlados por el operador sin depender de scripts adhesivos frágiles o acceso inseguro al escáner.
La arquitectura se basa en un servidor implementado con Next.js, Node.js y Go, que gestiona la interfaz MCP y la autenticación, mientras ejecuta ZAP (Java 25) como motor de escaneo. Utiliza PostgreSQL para el estado durable de las colas de escaneo y el historial. El despliegue más sencillo es mediante Docker Compose, aunque también soporta Helm para Kubernetes. Incluye scripts de bootstrap local que preparan claves API, generan entornos y verifican la salud del stack.
La seguridad por defecto es conservadora: el servidor se une a 127.0.0.1 por defecto, usa autenticación por API key, bloquea URLs locales/privadas y limita tamaños de cuerpo de solicitud. Soporta autenticación JWT opcional con renovación y revocación, así como perfiles de autenticación para objetivos externos (form-login). Es una implementación independiente no afiliada al proyecto oficial ZAP.
- Agentes de IA autónomos que realizan auditorías de seguridad web guiadas y seguras en entornos controlados mediante MCP.
- Integración con herramientas MCP como Cursor o Codex para generar informes HTML de vulnerabilidades directamente desde el contexto del agente.
- Escaneo de APIs y aplicaciones web con políticas de seguridad predefinidas, límites de tasa y guardrails operativos para evitar abusos.
- Auditoría continua en entornos locales o Kubernetes usando Helm con estado persistente en PostgreSQL y recuperación durable de colas.
- Expone ZAP a través del estándar MCP, facilitando la integración con agentes de IA modernos sin adaptadores propietarios ni scripts frágiles.
- Implementa guardrails operativos por defecto: bind loopback (127.0.0.1), validación estricta de URLs y límites de tamaño de cuerpo de solicitud.
- Soporta autenticación robusta mediante API keys o JWT con soporte para renovación, revocación y perfiles de autenticación para objetivos externos.
- Proporciona estado durable en PostgreSQL con recuperación de reclamaciones (claim-based recovery) para colas de escaneo y historial.
- La imagen Java 25 es distroless, lo que impide ejecutar comandos shell dentro del contenedor para debugging directo; se debe usar logs o contenedores externos.
- Funciones avanzadas como Client Spider y autenticación de formularios no están disponibles en la versión v0.12.0 (unreleased).
- No está afiliado ni respaldado por el proyecto oficial ZAP; es una implementación independiente con posibles divergencias futuras.
- La validación de URL bloquea localhost y redes privadas por defecto, lo que puede requerir configuración adicional para entornos de prueba internos.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para entornos locales, usar Docker Compose con los scripts bootstrap-local.sh y dev.sh. En producción, configurar MCP_ZAP_BIND_ADDRESS=0.0.0.0 solo tras revisar controles de red y usar autenticación JWT o API keys estrictas. Verificar las migraciones de PostgreSQL antes de actualizar versiones. No exponer credenciales de objetivos en prompts MCP; usar perfiles de autenticación del lado del servidor. La imagen Java 25 es distroless sin shell ni package manager.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
