Skip to main content
Glama
archawat

@archawat/mcp-cloudflare

by archawat

@archawat/mcp-cloudflare

Servidor del Protocolo de Contexto de Modelos (MCP) para gestionar DNS de Cloudflare en múltiples zonas (dominios) desde un único token de API. Creado para flujos de trabajo masivos: activar/desactivar proxy en muchos registros, auditar DNS en varias zonas y actualizaciones de registros por lotes.

Características

  • Multizona desde un solo token — pasa un nombre de dominio como "example.com" y el servidor resuelve la zona por ti. También se aceptan IDs de zona.

  • Operaciones masivas — bulk_toggle_proxy, bulk_update_dns_record y bulk_list_dns_records se ejecutan simultáneamente y comparten una caché de ID de zona por invocación, por lo que las zonas repetidas no generan búsquedas adicionales.

  • Valores predeterminados seguros — los nuevos registros A/CNAME se crean con proxied: false (solo DNS, nube gris). El proxy es opcional.

  • Paginación automática — list_dns_records obtiene todas las páginas en paralelo a menos que solicites una específica.

Related MCP server: Cloudflare API MCP

Instalación

No se requiere instalación local: usa npx o bunx para ejecutarlo bajo demanda.

Claude Code / Claude Desktop (.mcp.json)

Mediante npx (Node):

{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Mediante bunx (Bun):

{
  "mcpServers": {
    "cloudflare": {
      "command": "bunx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Claude Code CLI

claude mcp add cloudflare -s user \
  -e CLOUDFLARE_API_TOKEN="cf-token-here" \
  -- npx -y @archawat/mcp-cloudflare

Instalación global (inicio en frío más rápido)

npm install -g @archawat/mcp-cloudflare
# or: bun add -g @archawat/mcp-cloudflare

El binario global se llama mcp-cloudflare (sin ámbito), por lo tanto:

{
  "mcpServers": {
    "cloudflare": {
      "command": "mcp-cloudflare",
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Token de API

Crea un token de Cloudflare en https://dash.cloudflare.com/profile/api-tokens con:

  • Zone:Read

  • Zone:DNS:Edit

Limita el token a las zonas que deseas gestionar o concede acceso a "All zones".

Herramientas

Herramienta

Propósito

list_zones

Descubre qué dominios puede gestionar el token.

list_dns_records

Lista los registros en una zona; pagina automáticamente todas las páginas a menos que se establezca page.

bulk_list_dns_records

Lista registros en muchas zonas en una sola llamada. Concurrente por zona.

create_a_record

Crea un registro A. proxied es false por defecto.

create_cname_record

Crea un registro CNAME. proxied es false por defecto.

toggle_proxy

Activa/desactiva el proxy por ID de registro o por nombre (+ tipo opcional).

bulk_toggle_proxy

Activa/desactiva el proxy para muchos registros en una sola llamada (valor proxied compartido).

update_dns_record

Parchea content, ttl, proxied o comment en un registro.

bulk_update_dns_record

Parchea muchos registros en una sola llamada con campos por elemento.

delete_dns_record

Elimina un registro por ID. Destructivo.

Todas las herramientas aceptan un nombre de dominio ("example.com") o un ID de zona de 32 caracteres como argumento zone.

Forma de los resultados masivos

Las herramientas masivas devuelven resultados por elemento; un fallo único no aborta el lote:

{
  "succeeded": 10,
  "failed": 1,
  "results": [
    { "zone": "example.com", "ok": true,  "record": { "id": "…", "proxied": true } },
    { "zone": "other.com",   "ok": false, "error": "No proxyable record found for 'www.other.com'." }
  ]
}

isError: true se establece en la respuesta de la herramienta siempre que algún elemento falle, mientras se siguen devolviendo todos los resultados.

Desarrollo

Requiere Bun (recomendado) o Node 18+.

bun install
bun run dev         # run src/index.ts with --watch
bun run start       # run src/index.ts once
bun run typecheck   # tsc --noEmit
bun run build       # emit dist/ for publishing

Para ejecutar la copia de desarrollo como servidor MCP en lugar del paquete publicado, apunta .mcp.json a tu compilación local:

{
  "mcpServers": {
    "cloudflare": {
      "command": "bun",
      "args": ["/abs/path/to/mcp-cloudflare/src/index.ts"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

El servidor utiliza stdio: tu cliente MCP inicia el proceso y se comunica a través de stdin/stdout.

Licencia

MIT

Related MCP Connectors

Related MCP Servers