mcp-cloudflare
mcp-cloudflare
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 MCPIntegració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 |
| Sí | — | Token de API de Cloudflare (con los permisos adecuados) |
| No | — | ID de cuenta de Cloudflare (requerido para operaciones a nivel de cuenta) |
| No |
| Tiempo de espera de la solicitud en milisegundos |
| No | — | URL de HashiCorp Vault, habilita la carga de AppRole de Vault (ver abajo) |
| No | — | role_id de Vault AppRole |
| No | — | secret_id de Vault AppRole |
| No |
| 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=kvEl 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=00000000000000000000000000000000Precedencia: 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 directamenteUn 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 |
| Panel de salud de zona — DNS, seguridad, túneles, WAF, estado DDoS |
cloudflare-live-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:
Código abierto: GNU Affero General Public License v3.0 (AGPL-3.0) — gratuito para uso de código abierto y no comercial
Comercial: Disponible para integraciones propietarias — consulte COMMERCIAL_LICENSE.md
Si utiliza mcp-cloudflare en un producto propietario u oferta SaaS, se requiere una licencia comercial. Apoye el desarrollo patrocinándonos en GitHub.
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