MCP Cloudflare DNS
Gestiona zonas DNS, registros, purga de caché y reglas de página de Cloudflare desde cualquier asistente de IA compatible con MCP.
GitHubPrueba este MCPPatrocinado
Documentación
mcp-cloudflare-dns
Servidor MCP de Cloudflare DNS para operadores que necesitan control de zonas, registros, caché y reglas de página desde un cliente MCP sin abrir el panel de Cloudflare para cada cambio.
Estado de publicación: paquete beta, versión 0.1.1 de pyproject.toml.
Elige tu camino
| Eres... | Empieza aquí | Luego |
|---|---|---|
| Instalando el servidor en Claude/Codex/Cursor | docs/start-here.md | Inicio rápido abajo |
| Verificando qué puede tocar el servidor | Herramientas disponibles | docs/architecture.md |
| Auditando empaquetado o metadatos de publicación | pyproject.toml | server.json |
Arquitectura
flowchart TD
U[AI operator] --> C[MCP client]
C --> S[FastMCP server]
E[CF_API_TOKEN] --> S
S --> T[Tool handlers]
T --> R[Retry wrapper]
R --> A[Cloudflare API]
A --> R --> T --> C
Flujo de solicitudes
flowchart TD
Q[Operator asks for a DNS change] --> H[Selected MCP tool]
H --> I[Load token and build client]
I --> J{Cloudflare call succeeds?}
J -- yes --> K[Return normalized JSON result]
J -- retryable --> L[Backoff and retry]
L --> J
J -- no --> M[Return error payload]
Inicio rápido
- Instala el paquete.
python -m pip install mcp-cloudflare-dns
- Exporta un token con permisos de DNS.
export CF_API_TOKEN="your-cloudflare-api-token"
- Regístralo en tu cliente MCP.
{
"mcpServers": {
"cloudflare-dns": {
"command": "uvx",
"args": ["mcp-cloudflare-dns"],
"env": {
"CF_API_TOKEN": "your-cloudflare-api-token"
}
}
}
}
Herramientas disponibles
| Grupo de herramientas | Herramientas | Propósito |
|---|---|---|
| Inventario de zonas | list_zones, get_zone, get_zone_settings | Inspecciona zonas disponibles y ajustes clave |
| Registros DNS | list_dns_records, get_dns_record, create_dns_record, update_dns_record, delete_dns_record | Lee y modifica registros |
| Acciones de borde | purge_cache, list_page_rules | Invalida contenido en caché e inspecciona reglas de página |
delete_dns_record y las acciones de caché completa permanecen restringidas detrás de las banderas de entorno destructivas descritas en docs/start-here.md.
Prueba de ejecución
| Afirmación | Prueba |
|---|---|
| El punto de entrada del paquete es estable | mcp-cloudflare-dns = "cf.server:main" en pyproject.toml |
| El servidor es específico de MCP, no una CLI genérica | FastMCP("mcp-cloudflare-dns") en cf/server.py |
| Los fallos de Cloudflare se reintentan | _call() en cf/server.py |
| Los artefactos de publicación se construyen | dist/ wheel y tarball están incluidos en el repositorio |
Mapa del repositorio
| Ruta | Propósito |
|---|---|
cf/server.py | Superficie de herramientas FastMCP, carga de entorno, envoltorio de reintentos |
pyproject.toml | Metadatos del paquete, versión, punto de entrada de script |
server.json | Metadatos orientados al registro para el descubrimiento de MCP |
docs/start-here.md | Configuración, entorno, validación, fallos comunes |
docs/architecture.md | Mapa de componentes y ciclo de vida de solicitudes |
Validación
| Verificación | Comando |
|---|---|
| La importación compila | python -m compileall cf |
| El paquete se construye | python -m build |
| Los enlaces del README permanecen locales | rg '\\]\\(([^)]+\\.md)\\)' README.md docs/ |
Licencia
MIT