Skip to main content
Glama

mcp-cloudflare

GitHub release License: AGPL-3.0 CalVer Node.js TypeScript mcp-cloudflare MCP server

Servidor MCP ligero para Cloudflare para gestionar DNS, zonas, túneles, WAF, Zero Trust y seguridad a través de la API v4 de Cloudflare.

Sin SSH. Sin ejecución de shell. Solo API. 3 dependencias en tiempo de ejecución.

Tabla de contenidos

Características

75 herramientas en 11 dominios:

  • DNS — Gestión de registros (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS), operaciones por lotes

  • Zonas — Listado de zonas, configuración, configuración SSL/TLS, gestión de caché

  • Túneles — Creación de Cloudflare Tunnel, configuración y gestión de entrada (ingress)

  • WAF — Gestión de conjuntos de reglas, reglas de firewall personalizadas, limitación de tasa (rate limiting)

  • Zero Trust — CRUD de aplicaciones de acceso (crear/eliminar), políticas (crear/eliminar), proveedores de identidad (crear/eliminar), estado de Gateway

  • Seguridad — Análisis de eventos de seguridad, reglas de acceso IP, configuración DDoS, perspectivas del Centro de Seguridad

  • Workers KV — Gestión de espacios de nombres, lectura/escritura/eliminación de pares clave-valor, listado de claves

  • Workers — Despliegue de scripts, gestión de rutas

  • Secretos de Worker — Gestión de secretos (solo nombres, los valores nunca se exponen)

  • Análisis de Worker — Métricas de invocación, tiempo de CPU, tasas de error a través de GraphQL

  • Almacenamiento R2 — Gestión de buckets, listado de objetos y metadatos, dominios personalizados, sugerencias de ubicación

Inicio rápido

npm install
cp .env.example .env   # Edit with your Cloudflare API token
npm run build
node dist/index.js     # stdio transport for MCP

Integración con Claude Code

Añadir a .mcp.json en la raíz de su proyecto:

{
  "mcpServers": {
    "cloudflare": {
      "command": "node",
      "args": ["/path/to/mcp-cloudflare/dist/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your-api-token-here",
        "CLOUDFLARE_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Configuración

Variable

Requerido

Predeterminado

Descripción

CLOUDFLARE_API_TOKEN

Token de API de Cloudflare (con los permisos adecuados)

CLOUDFLARE_ACCOUNT_ID

No

ID de cuenta de Cloudflare (requerido para operaciones a nivel de cuenta)

CLOUDFLARE_TIMEOUT

No

30000

Tiempo de espera de la solicitud en milisegundos

NAS_VAULT_ADDR

No

URL de HashiCorp Vault, habilita la carga de AppRole de Vault (ver abajo)

NAS_VAULT_ROLE_ID

No

role_id de Vault AppRole

NAS_VAULT_SECRET_ID

No

secret_id de Vault AppRole

NAS_VAULT_KV_MOUNT

No

kv

Ruta de montaje de Vault KV v2

Carga de secretos desde HashiCorp Vault (AppRole)

Si ejecuta una instancia central de Vault, mcp-cloudflare puede obtener sus credenciales al inicio a través de AppRole en lugar de pasarlas a través de la configuración de MCP:

export NAS_VAULT_ADDR=https://vault.example.com
export NAS_VAULT_ROLE_ID=<role-id>
export NAS_VAULT_SECRET_ID=<secret-id>
# optional — defaults to "kv"
export NAS_VAULT_KV_MOUNT=kv

El cargador lee KV v2 en <mount>/data/cloudflare/api y espera dos claves: api_token y account_id. Ejemplo de escritura en Vault:

vault kv put kv/cloudflare/api \
  api_token=your-api-token-here \
  account_id=00000000000000000000000000000000

Precedencia: process.env (explícito) > Vault. Si NAS_VAULT_ADDR no está configurado, el cargador es una operación nula silenciosa: el servidor se comporta exactamente igual que antes. Ante cualquier error de Vault (red, autenticación, ruta faltante), se escribe una advertencia de una sola línea en stderr y el servidor vuelve a utilizar las variables de entorno que ya estén configuradas.

Seguridad: los valores secretos nunca se registran. Solo el nombre de la ruta KV y un recuento de elementos poblados aparecen en los diagnósticos de stderr. Utiliza fetch global (Node 20+) — sin nuevas dependencias en tiempo de ejecución.

Permisos del Token de API

Cree un Token de API en dash.cloudflare.com/profile/api-tokens con los siguientes permisos según lo que necesite:

  • DNS: Zone > DNS > Edit

  • Configuración de zona: Zone > Zone Settings > Edit

  • Purga de caché: Zone > Cache Purge > Edit

  • Túneles: Account > Cloudflare Tunnel > Edit

  • WAF: Zone > Firewall Services > Edit

  • Zero Trust: Account > Access: Apps and Policies > Edit

  • Eventos de seguridad: Zone > Analytics > Read

  • Workers KV: Account > Workers KV Storage > Edit

  • Workers: Account > Worker Scripts > Edit

  • R2: Account > R2 Storage > Edit

Soporte multizona

Todas las herramientas con alcance de zona aceptan un parámetro zone_id que puede ser:

  • Un ID de zona hexadecimal de 32 caracteres (ej. 00000000000000000000000000000001) — utilizado directamente

  • Un nombre de zona / dominio (ej. example.com) — resuelto automáticamente a través de la API de Cloudflare

Esto permite gestionar múltiples zonas por nombre sin necesidad de buscar los IDs manualmente.

Herramientas

La documentación de las herramientas llegará en la v1 a medida que se implementen los módulos de herramientas. Consulte docs/api-reference.md para ver el mapeo de endpoints de la API planificado.

Habilidades

Las habilidades de Claude Code componen herramientas MCP en flujos de trabajo de nivel superior. Consulte .claude/skills/README.md para obtener documentación detallada.

Habilidad

Comando Slash

Descripción

cloudflare-health

/cf-health

Panel de salud de zona — DNS, seguridad, túneles, WAF, estado DDoS

cloudflare-live-test

/cf-test

Prueba de integración en vivo — lectura + escrituras seguras con limpieza

cloudflare-dns-management

Gestión de registros DNS — añadir, listar, actualizar, eliminar en todas las zonas

cloudflare-incident-response

Respuesta de emergencia ante DDoS/ataques — detectar, evaluar, mitigar, monitorear

cloudflare-security-audit

Auditoría de postura de seguridad — WAF, eventos, acceso IP, análisis DDoS

cloudflare-tunnel-management

Gestión de túneles — crear, configurar entrada, monitorear conexiones

cloudflare-waf-management

Gestión de WAF — reglas personalizadas, conjuntos de reglas, acceso IP, Bajo Ataque

cloudflare-zero-trust

Zero Trust — acceso a aplicaciones, políticas, proveedores de identidad, gateway

cloudflare-kv-manage

Workers KV — operaciones CRUD de espacio de nombres y clave-valor

cloudflare-worker-deploy

Workers — despliegue de scripts, rutas, secretos, análisis

cloudflare-r2-manage

Almacenamiento R2 — gestión de buckets y objetos, flujos de trabajo de auditoría

Desarrollo

npm run build      # Compile TypeScript
npm test           # Run unit tests (vitest)
npm run typecheck  # Type check only (no emit)

Consulte CONTRIBUTING.md para conocer las pautas de contribución.

Licencia

Este proyecto tiene licencia dual:

Si utiliza mcp-cloudflare en un producto propietario u oferta SaaS, se requiere una licencia comercial. Apoye el desarrollo patrocinándonos en GitHub.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/itunified-io/mcp-cloudflare'

If you have feedback or need assistance with the MCP directory API, please join our Discord server