OpenWAF Cloud tiene un servidor MCP remoto (Model Context Protocol) en https://mcp.openwaf.dev/mcp para que gestiones tus zonas desde un asistente de IA: Claude Code, Claude Desktop, claude.ai, Cursor o cualquier cliente MCP compatible. Pides un registro DNS, una regla del WAF o una purga de caché con tus palabras; el asistente te enseña el cambio y solo lo aplica cuando confirmas.
El servidor MCP es un cliente fino de la API de OpenWAF, como la CLI. Cada herramienta llama a las mismas rutas REST con la misma credencial, así que roles, ámbitos (organización, cliente, zona), validación, versiones, auditoría y códigos de error son exactamente los de la API. El servidor MCP no tiene lógica de negocio propia.
De un vistazo
| URL | https://mcp.openwaf.dev/mcp (también https://mcp.openwaf.dev/ y https://mcp.openwaf.dev/v1/mcp). La URL de siempre, https://dash.openwaf.dev/v1/mcp, y los dominios de marca blanca siguen funcionando, solo con tokens de API |
| Transporte | Streamable HTTP sin estado (sin Mcp-Session-Id), respuestas application/json, versiones del protocolo hasta 2026-07-28 |
| Autenticación | OAuth 2.1: el cliente abre el panel para que inicies sesión y des permiso. O Authorization: Bearer owf_…, un token de API como los de la CLI. No acepta la sesión del panel |
| Organización | La del token, o la que eliges en la pantalla de permiso; no hay acceso a otras |
Sin una credencial válida el servidor responde 401 con WWW-Authenticate: Bearer y los metadatos que un cliente necesita para descubrir OAuth.
Conexión rápida
Con OAuth basta la URL. El cliente se registra solo, abre dash.openwaf.dev y te pide elegir organización, rol y caducidad.
| Cliente | Cómo |
|---|---|
| Claude Code | claude mcp add --transport http openwaf https://mcp.openwaf.dev/mcp y después /mcp → openwaf → Authenticate |
| Claude Desktop y claude.ai | Ajustes → Conectores → Añadir conector personalizado → https://mcp.openwaf.dev/mcp → Conectar |
| Cursor | "url": "https://mcp.openwaf.dev/mcp" en ~/.cursor/mcp.json |
| Codex y otros clientes | Cualquier cliente con transporte Streamable HTTP; con un token de API en la cabecera Authorization si no hace OAuth |
Conectar un cliente recoge cada configuración, también la variante con token de API.
Qué puede hacer el asistente
- Leer: zonas, registros DNS, reglas de borde, certificados, versiones y diferencias, propagación a los nodos del borde, registros de correo, uso, Core Web Vitals, agentes de IA, la auditoría, TLS hacia el origen y el egress de IA.
- Escribir (rol
techo superior): zonas, registros DNS, ajustes de borde, reglas, reversiones, purgas de caché y certificados de origen; agentes y destinos de egress con roladmin.
Cada resultado trae un resumen corto en texto y los datos completos como JSON, con la misma forma que la respuesta REST. La página de herramientas las recoge todas.
Seguro por diseño
- Simular y luego confirmar. Cada escritura de configuración se simula primero y devuelve un diff; solo se aplica en una segunda llamada con
confirm=truey la versión que viste. Mira hacer cambios. - Nunca por encima de tu rol. Una credencial
readonlyni siquiera ve las herramientas de escritura entools/list, y un token limitado a un cliente o a una zona no ve nada más. - Auditado. Cada cambio guarda su motivo, su versión y
"channel": "mcp"en la auditoría. - Datos, no instrucciones. Los contenidos de los registros, los nombres, los motivos y las respuestas del DNS los escriben personas o vienen de fuera. Los resúmenes los citan entre comillas y el servidor avisa al asistente de que nunca siga instrucciones que aparezcan ahí.
Siguientes pasos
Los nombres y logos de productos son marcas de sus respectivos dueños. Claude es una marca de Anthropic, Codex de OpenAI y Cursor de Anysphere Inc.; solo se muestran para decir qué clientes funcionan con el servidor MCP de OpenWAF.