Saltar al contenido

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.

Leer la documentación de MCP
OPENWAFMCP

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.

Ejemplo: alta de un registro DNS desde Claude Code. El cambio se simula, se aprueba y después se aplica.
  • 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/mcp

Despué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, elige openwaf y Authenticate; claude mcp list debe mostrarlo conectado.

    claude mcp add --transport http openwaf \
      https://mcp.openwaf.dev/mcp
  • Claude 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-remote y sin Node.js.

    Ajustes → Conectores → Añadir conector personalizado
    https://mcp.openwaf.dev/mcp
  • Cursor

    En ~/.cursor/mcp.json, o en el .cursor/mcp.json del proyecto, sin subirlo al repositorio. Sin headers, 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ón
  • get_zoneUn dominio, su versión actual, el estado de la delegación y los ajustes de borde
  • list_recordsRegistros DNS con sus ids
  • list_rulesReglas de borde: IP, país, excepciones del WAF y límites
  • list_certificatesCertificados y estado TLS de cada web
  • zone_historyVersiones de la configuración, también de un dominio borrado
  • zone_diffDiferencias entre dos versiones
  • zone_propagationLa versión aplicada por cada nodo del borde
  • zone_hostsSi cada nombre con proxy apunta al borde
  • audit_logEl registro de auditoría (admin, o tech limitado a un cliente)
  • zone_usageTráfico diario: peticiones, bloqueadas, bytes y consultas DNS
  • list_clientsLos clientes de tu agencia y su número de dominios
  • effective_configLa configuración que recibe un nombre en el borde, tal y como la reciben los nodos
  • origin_tls_statusModo TLS hacia el origen, nombre verificado y estado del certificado de cada nombre
  • list_origin_certsCertificados de origen emitidos por la Origin CA de OpenWAF
  • email_checkMX, SPF, DKIM y DMARC tal y como los ve el DNS público
  • ai_agents_reportCómo usan un dominio los bots y agentes de IA, por categoría, bot y ruta
  • ai_agents_catalogEl catálogo de bots de IA verificados: operador, categoría y forma de verificarlos
  • rum_reportCore Web Vitals reales: p75 de LCP, INP, CLS, FCP y TTFB
  • egress_statusEl egress de IA de la organización: destinos, huellas de credenciales y agentes
  • egress_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 dominio
  • create_recordCrea un registro DNS
  • update_recordCambia campos de un registro
  • delete_recordBorra un registro (destructiva)
  • apply_records_batchAltas, cambios y bajas de registros en una sola versión
  • update_settingsAjustes de borde: modo y nivel del WAF, límite, origen, HSTS, puerta de acceso, redirecciones…
  • add_ruleAñade una regla de borde
  • remove_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ón
  • delete_zoneBorra el dominio (destructiva)
  • purge_cachePurga la caché del borde por URL, prefijo, nombre o Cache-Tag, o entera
  • create_origin_certEmite un certificado de origen de la Origin CA de OpenWAF
  • revoke_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 nombre
  • agent_readiness_scanAnaliza lo preparada que está una web para agentes de IA: robots, sitemap, llms.txt y más
  • egress_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. 1

    Simular

    Cada escritura lleva el dominio, un motivo y confirm. Con confirm desactivado, 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. 2

    Confirmar

    El asistente te enseña el plan. Solo cuando das el visto bueno vuelve a llamar con confirm: true y la expected_version de la simulación.

  3. 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. 4

    Registrar

    El cambio aplicado es una versión nueva con su motivo, auditada con el token como autor y el canal MCP. revert_zone recupera 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 ctl para 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.