MCP, API y CLI
Gestiona tus dominios desde tu asistente de IA.
Inicia sesión con OAuth desde Claude, Codex, Cursor o cualquier cliente MCP y pídeselo con tus palabras. Cada escritura se simula antes y vuelve como un diff; solo se aplica cuando confirmas, se rechaza si el dominio cambió entretanto y queda en el registro de auditoría.
Gestiona tus dominios desde tu asistente de IA, y aprueba cada cambio
Conecta Claude, Codex, Cursor o cualquier cliente MCP y pídeselo con tus palabras. 44 herramientas consultan y cambian dominios, DNS, reglas del WAF y de bots de IA, caché, certificados de origen y ajustes de las webs por la misma API que el panel, con el rol que concedes al iniciar sesión con OAuth o con los permisos de un token de la API.
Apunta www.example.com a 192.0.2.10
openwaf · create_record simulación
Simulation only: nothing was applied. The domain is at version 14; applying creates version 15: 1 change:
+ www.example.com A 192.0.2.10
Esto añade un registro A, www → 192.0.2.10, como versión 15 de example.com. ¿Lo aplico?
Sí, aplícalo.
openwaf · create_record confirm · expected_version 14
Applied: the domain is now at version 15.
Primero, una simulación
Cada cambio se ejecuta en seco y vuelve como un diff con la versión que va a crear.
Se aplica cuando confirmas
El asistente te enseña el plan y te pregunta antes. Aplicarlo exige una confirmación expresa.
Rechazado si el dominio cambió
Si alguien cambió el dominio desde la simulación, no se aplica nada y el asistente vuelve a simular.
Versionado, con vuelta atrás
Cada cambio es una versión nueva con su motivo. Cualquier versión anterior está a un paso.
Auditado como «vía MCP»
El registro de auditoría guarda el token, el motivo y que el cambio llegó por MCP.
Tokens con límites
Un token de solo lectura solo ve las herramientas de lectura. Limita un token a un cliente o a un dominio.
Añádelo a Claude Code con una línea
claude mcp add --transport http openwaf https://mcp.openwaf.dev/mcpDespués ejecuta /mcp en Claude Code, elige openwaf y Authenticate: el navegador abre el panel para iniciar sesión y dar permiso. ¿Prefieres un token de la API? Añade --header "Authorization: Bearer $OPENWAF_TOKEN". Añade ?profile=lite a la URL y la lista de herramientas que carga tu asistente se reduce un 89 %. Claude Desktop, Cursor, Codex y otros clientes: consulta Conecta tu cliente.
MCP
Servidor MCP para asistentes de IA
Gestiona OpenWAF desde Claude, Codex, Cursor o cualquier cliente MCP. El servidor es una capa fina sobre la API: los mismos roles y ámbitos, la misma validación, las mismas versiones y la misma auditoría. Inicia sesión con OAuth o usa un token de la API.
Conecta tu cliente
Claude Code
Una orden. Después ejecuta
/mcp, eligeopenwafy Authenticate;claude mcp listdebe mostrarlo conectado.claude mcp add --transport http openwaf \ https://mcp.openwaf.dev/mcpClaude Desktop y claude.ai
Añade un conector personalizado con la URL y pulsa Conectar: se abre el panel para iniciar sesión y dar permiso. Sin
mcp-remotey sin Node.js.Ajustes → Conectores → Añadir conector personalizado https://mcp.openwaf.dev/mcpCursor
En
~/.cursor/mcp.json, o en el.cursor/mcp.jsondel proyecto, sin subirlo al repositorio. Sinheaders, Cursor inicia sesión con OAuth.{ "mcpServers": { "openwaf": { "url": "https://mcp.openwaf.dev/mcp" } } }Codex y otros clientes
Vale cualquier cliente con Streamable HTTP y la URL: con OAuth si lo admite o con una cabecera
Authorization: Bearer. En Codex, en~/.codex/config.toml:[mcp_servers.openwaf] url = "https://mcp.openwaf.dev/mcp" bearer_token_env_var = "OPENWAF_TOKEN"
Con OAuth eliges en la pantalla de permiso la organización, el rol (solo lectura, técnico o administrador, nunca por encima del tuyo) y la caducidad (7, 30 o 90 días); la conexión aparece en Tokens de API como «MCP · <cliente>» y se revoca ahí. Con un token de la API, crea uno solo para el asistente: readonly para consultar, tech para hacer cambios, y limitado a un cliente o a un dominio si quieres. Va en la configuración del cliente, nunca en la conversación.
Herramientas
Lectura · 21 herramientas
Todos los roles. Un token de solo lectura solo ve estas.
list_zonesDominios visibles con su estado, modo DNS, cliente y versiónget_zoneUn dominio, su versión actual, el estado de la delegación y los ajustes de bordelist_recordsRegistros DNS con sus idslist_rulesReglas de borde: IP, país, excepciones del WAF y límiteslist_certificatesCertificados y estado TLS de cada webzone_historyVersiones de la configuración, también de un dominio borradozone_diffDiferencias entre dos versioneszone_propagationLa versión aplicada por cada nodo del bordezone_hostsSi cada nombre con proxy apunta al bordeaudit_logEl registro de auditoría (admin, o tech limitado a un cliente)zone_usageTráfico diario: peticiones, bloqueadas, bytes y consultas DNSlist_clientsLos clientes de tu agencia y su número de dominioseffective_configLa configuración que recibe un nombre en el borde, tal y como la reciben los nodosorigin_tls_statusModo TLS hacia el origen, nombre verificado y estado del certificado de cada nombrelist_origin_certsCertificados de origen emitidos por la Origin CA de OpenWAFemail_checkMX, SPF, DKIM y DMARC tal y como los ve el DNS públicoai_agents_reportCómo usan un dominio los bots y agentes de IA, por categoría, bot y rutaai_agents_catalogEl catálogo de bots de IA verificados: operador, categoría y forma de verificarlosrum_reportCore Web Vitals reales: p75 de LCP, INP, CLS, FCP y TTFBegress_statusEl egress de IA de la organización: destinos, huellas de credenciales y agentesegress_eventsLlamadas de tus agentes que rechazó la pasarela de egress
Escritura · 23 herramientas
Rol tech o superior. Las destructivas lo dicen en su descripción.
add_zoneAlta de un dominiocreate_recordCrea un registro DNSupdate_recordCambia campos de un registrodelete_recordBorra un registro (destructiva)apply_records_batchAltas, cambios y bajas de registros en una sola versiónupdate_settingsAjustes de borde: modo y nivel del WAF, límite, origen, HSTS, puerta de acceso, redirecciones…add_ruleAñade una regla de borderemove_ruleQuita una regla (destructiva)revert_zoneRestaura una versión anterior como versión nueva (destructiva)check_zoneComprueba ya la delegación; no cambia la configuracióndelete_zoneBorra el dominio (destructiva)purge_cachePurga la caché del borde por URL, prefijo, nombre o Cache-Tag, o enteracreate_origin_certEmite un certificado de origen de la Origin CA de OpenWAFrevoke_origin_certRevoca un certificado de origen (destructiva)ai_agents_settingsConsulta o cambia la política de agentes de IA de un dominio o de un nombreagent_readiness_scanAnaliza lo preparada que está una web para agentes de IA: robots, sitemap, llms.txt y másegress_create_agentCrea un agente de egress; su token sustituto se ve una sola vez (admin)egress_update_agentCambia los destinos, la inspección o el estado de un agente (admin)egress_rotate_tokenToken nuevo para un agente; el anterior deja de valer (admin, destructiva)egress_delete_agentBorra un agente de egress (admin, destructiva)egress_add_targetAñade un destino propio https:// (admin)egress_remove_targetBorra un destino propio y su credencial (admin, destructiva)egress_remove_credentialBorra la clave del proveedor de un destino; ponerla nunca es posible por MCP (admin, destructiva)
Cómo se hace un cambio
- 1
Simular
Cada escritura lleva el dominio, un motivo y
confirm. Conconfirmdesactivado, el valor por defecto, se ejecuta en seco: no se aplica nada y devuelve el plan con su diff, la versión actual y la que crearía. - 2
Confirmar
El asistente te enseña el plan. Solo cuando das el visto bueno vuelve a llamar con
confirm: truey laexpected_versionde la simulación. - 3
Rechazar si cambió
Si el dominio cambió entretanto, no se aplica nada:
version_conflict(HTTP 412). El asistente tiene que volver a simular y enseñarte el plan nuevo. - 4
Registrar
El cambio aplicado es una versión nueva con su motivo, auditada con el token como autor y el canal MCP.
revert_zonerecupera cualquier versión anterior en un paso.
Cada token puede tener como mucho 4 llamadas MCP en curso a la vez.
Lo que devuelven las herramientas son datos, no instrucciones: el servidor avisa al asistente de que no siga instrucciones que aparezcan en contenidos de registros, notas o entradas de auditoría.
Perfil ligero y modo código: añade ?profile=lite a la URL y tools/list se reduce a las herramientas de descubrimiento (search_tools, describe_tool), execute y un juego para el día a día, de 12 519 a 1325 tokens; cualquier herramienta se puede seguir llamando por su nombre. execute ejecuta un script de JavaScript en el servidor, en un entorno aislado (QuickJS en WebAssembly), con acceso de solo lectura como el token: consultas y simulaciones de escrituras, nunca aplica nada. SDK tipados: /v1/sdk/openwaf.ts y /v1/sdk/openwaf.py.
API y línea de órdenesEscribe un cambio una vez y aplícalo en todos los dominios.
El servidor MCP, la API y la línea de órdenes pasan por las mismas comprobaciones.

- MCP
44 herramientas desde tu asistente de IA, con una simulación antes de cada escritura: consulta el servidor MCP.
- API
120 rutas documentadas (OpenAPI 3.1), con ejecución en seco, comprobación de versión y motivo en cada escritura, y tokens que caducan y se pueden revocar.
- SDK y CLI
SDK tipados para TypeScript y Python generados desde la API, y
openwaf-cloud ctlpara operaciones automatizadas y repetibles.
Preguntas frecuentes
Preguntas sobre MCP
¿Necesito un token de la API?
Con OAuth, no: al cliente le basta la URL. Abre el panel para iniciar sesión y tú eliges la organización, el rol y la caducidad. Los tokens de la API siguen funcionando para los clientes sin OAuth.
¿Puede verlo todo el asistente?
Solo lo que permite su rol: una conexión de solo lectura ni siquiera ve las herramientas de escritura, y un token de la API se puede limitar a un cliente o a un dominio.
Pon a trabajar a tu asistente de IA con seguridad.
El servidor MCP es gratis durante el acceso anticipado. Copia el prompt de configuración de tu asistente, inicia sesión y pídele la lista de tus dominios.


