/ Diretório / Playground / Cloudflare
● Oficial cloudflare 🔑 Requer sua chave

Cloudflare

por cloudflare · cloudflare/mcp-server-cloudflare

MCP oficial do Cloudflare — implante Workers, consulte D1, gerencie R2 e KV, leia logs e análises, tudo do chat.

MCP oficial do Cloudflare (na verdade uma família, servida remotamente em *.mcp.cloudflare.com). Cobre implantações e logs de Workers, SQL D1, armazenamento KV/R2, zonas DNS e análises Radar. Baseado em OAuth — sem necessidade de manipular manualmente tokens de API.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

cloudflare.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cloudflare",
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.config/zed/settings.json
{
  "context_servers": {
    "cloudflare": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@cloudflare/mcp-server-cloudflare"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add cloudflare -- npx -y @cloudflare/mcp-server-cloudflare

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: Cloudflare

Depurar um Worker que está lançando 500s em produção

👤 Desenvolvedores do Cloudflare Workers em plantão ⏱ ~15 min intermediate

Quando usar: A taxa de erro do seu Worker disparou. Você quer logs, implantações recentes e um diff do que mudou — sem abrir o painel.

Pré-requisitos
  • Conta do Cloudflare conectada via OAuth ao seu cliente MCP — A primeira chamada de ferramenta dispara OAuth; conceda os escopos 'Workers Observability' e 'Workers Bindings'
Fluxo
  1. Fazer tail de logs recentes do Worker filtrados por erro
    Tail logs for Worker 'api-edge' in the last 15 minutes. Filter to status >= 500. Group by the first 100 chars of the error message.✓ Copiado
    → Modelos de erro principais com contagens e timestamps
  2. Listar implantações recentes
    List the last 5 deployments of 'api-edge'. Show deploy time, author, and the version hash.✓ Copiado
    → Linha do tempo de implantação — correlacionar com o início do erro
  3. Reverter se necessário
    The error spike starts after the deploy at 14:22. Roll 'api-edge' back to the previous version. Ask me before confirming.✓ Copiado
    → Aviso de confirmação antes da ação destrutiva

Resultado: Um Worker de produção restaurado, com uma nota clara de pós-incidente 'implantação X causou erros Y'.

Armadilhas
  • Tail de log é apenas em tempo real; pode perder uma explosão que já passou — Para janelas históricas, use as ferramentas Logpush ou Analytics Engine MCP em vez de tail
  • Reverter não migra o estado D1/KV — Se a implantação com falha executou migrações, reverter apenas o Worker não é suficiente — você também pode precisar de uma restauração D1
Combine com: github · sentry

Executar análises ad-hoc contra um banco de dados D1

👤 Desenvolvedores que usam D1 para dados de aplicativo ⏱ ~10 min beginner

Quando usar: Você deseja estatísticas de conversão de inscrição ou uso do seu D1, sem escrever um painel.

Fluxo
  1. Encontre o banco de dados correto e liste o schema
    List my D1 databases. For the one called 'prod-app', show all tables and their columns.✓ Copiado
    → Inventário de banco de dados mais schemas
  2. Executar a consulta de análise
    In D1 'prod-app', count users who signed up in the last 30 days grouped by week. Show only users who have at least one event in the events table.✓ Copiado
    → Contagens por semana, SQL válido
  3. Iterar
    Break it down further by signup source. Which source has the best 7-day activation rate?✓ Copiado
    → Comparação por fonte com taxas

Resultado: Números prontos para decisão com o SQL mostrado.

Armadilhas
  • D1 tem limites de linhas e tempo de execução por consulta — Para agregações grandes, pré-agregue em uma tabela de resumo em um cronograma em vez de escanear eventos brutos cada vez
Combine com: notion

Auditar e limpar um namespace KV inchado

👤 Engenheiros cujo cache de Workers derivou ⏱ ~20 min intermediate

Quando usar: Sua fatura de KV subiu; você suspeita de chaves obsoletas ou TTLs mal configurados.

Fluxo
  1. Pesquisar o namespace
    For KV namespace 'session-cache', list the first 1000 keys. Sample 10 values and tell me their structure.✓ Copiado
    → Distribuição de padrões de chave, formas de valor de amostra
  2. Identificar entradas obsoletas
    For keys matching session:*, how many haven't been accessed in >30 days? (Use metadata if present; otherwise sample and check timestamps in values.)✓ Copiado
    → Estimativa de chave obsoleta plus critérios usados
  3. Deletar com segurança
    Delete keys matching session:expired:* in batches of 100. Show me the first batch before proceeding.✓ Copiado
    → Visualização em lote antes de qualquer exclusão

Resultado: Um namespace KV mais limpo com custo de armazenamento menor.

Armadilhas
  • KV é eventualmente consistente — exclusões podem parecer reaparecer brevemente de POPs de borda — Não dependa de consistência imediata após exclusão em massa; verifique o estado após um minuto

Revisar registros DNS antes de uma migração de domínio

👤 Engenheiros de operações migrando domínios entre provedores ⏱ ~15 min beginner

Quando usar: Você está prestes a alterar servidores de nomes e deseja inventariar cada registro para não perder MX, DMARC ou um subdomínio esquecido.

Fluxo
  1. Despejar cada registro
    List all DNS records for zone example.com. Group by type. Include priorities for MX and weights for SRV.✓ Copiado
    → Inventário completo de registros
  2. Marcar registros críticos
    Highlight any that would break email (MX, SPF in TXT, DKIM, DMARC), plus any A/AAAA/CNAME pointing at third-party services (Stripe, HubSpot, status page).✓ Copiado
    → Lista de registros críticos com justificativa
  3. Produzir uma lista de verificação de migração
    Turn this into a checklist I can run on the new provider — each record with its destination, TTL, and 'test after migration' step.✓ Copiado
    → Runbook pronto para copiar e colar

Resultado: Um runbook de dia de migração que não deixa registros para trás.

Armadilhas
  • Registros DKIM esquecidos quebram email silenciosamente 24h depois — Liste especificamente cada registro _domainkey.<selector> — são os mais fáceis de perder
Combine com: filesystem

Verificar Cloudflare Radar para um incidente na internet afetando usuários

👤 Respondentes de incidentes, líderes de suporte ⏱ ~10 min intermediate

Quando usar: Usuários estão reportando que seu site está inativo no Brasil. Pode ser você, pode ser a internet.

Fluxo
  1. Consultar Radar para o país
    Cloudflare Radar: is there any notable internet disruption in Brazil in the last 6 hours? Include BGP anomalies, ISP outages, attack traffic.✓ Copiado
    → Lista de eventos conhecidos ou 'nada anômalo'
  2. Verificação cruzada com seu tráfego
    For my zone example.com, traffic from BR in the last 6 hours — volume, HTTP status breakdown, top user agents.✓ Copiado
    → Perfil de tráfego específico de BR
  3. Concluir
    Based on Radar + my traffic, is this a general Brazil-internet issue or specific to my site?✓ Copiado
    → Veredicto claro com evidências de apoio

Resultado: Uma resposta defensável 'não é culpa nossa, é problema de <ISP X>' ou 'É culpa nossa, aqui está o quê'.

Armadilhas
  • Dados do Radar têm ~1h de atraso — Para incidentes ultra-recentes, emparelhe com seus próprios dados RUM
Combine com: sentry

Combinações

Combine com outros MCPs para 10× de alavancagem

cloudflare + github

Correlacionar uma reversão de Workers com o PR do GitHub que introduziu a regressão

Worker 'api-edge' is failing since deploy at 14:22. Find the GitHub PR whose merge corresponds to that deploy and summarize its changes.✓ Copiado
cloudflare + sentry

Sentry reporta erros de origem de Worker; Cloudflare MCP extrai os logs do lado do Worker para o mesmo requestId

Sentry issue EDGE-441 has CF-Ray 8abc123. Tail Worker 'api-edge' for that ray and show the matching log line.✓ Copiado
cloudflare + filesystem

Editar fonte de Worker localmente, implantar via wrangler, verificar via logs Cloudflare MCP

Fix the bug in src/index.ts at line 44, deploy, then tail 'api-edge' logs to confirm no more 500s.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
workers_tail script_name: str, filter?: object Tail em tempo real de logs do Worker gratuito (dentro dos limites do plano)
workers_list_deployments script_name: str Revisar versões recentes de um Worker gratuito
workers_rollback script_name: str, version_id: str Reverter para uma versão anterior — controlado, destrutivo gratuito
d1_list_databases none Inventariar seus bancos de dados D1 gratuito
d1_query database_id: str, sql: str, params?: [] Executar SQL SELECT ou com mutação — gravações exigem confirmação explícita do prompt preço D1 por linhas lidas/escritas
kv_list_keys namespace_id: str, prefix?: str, limit?: int, cursor?: str Enumerar chaves para auditoria preço de leitura de KV
kv_get_value / kv_put_value / kv_delete namespace_id, key, value?, ttl? Ler/gravar/deletar chaves específicas preço de operação de KV
r2_list_buckets / r2_list_objects bucket?, prefix? Inventário R2 operações de leitura R2
r2_get_object / r2_put_object bucket, key, body? Ler/gravar objetos R2 preço de operação R2
dns_list_records zone_id: str Inventário de zona gratuito
dns_create_record / update_record / delete_record zone_id, record params Mutações de zona — controladas gratuito
radar_get_http_timeseries / radar_get_attacks timeframe, region filters Contexto global de saúde da internet gratuito
analytics_engine_query sql: str Consultas personalizadas do Workers Analytics Engine operações de leitura do analytics engine

Custo e limites

O que custa rodar

Cota de API
Limites por plano de Workers/D1/KV/R2 se aplicam; chamadas MCP contam para seu uso regular
Tokens por chamada
Típico 200-2000 tokens; tails de log podem ser muito grandes — sempre filtre
Monetário
MCP é gratuito; sua fatura de serviços Cloudflare como de costume
Dica
D1 e KV cobram por leitura de linha e contagem de operações. Listagem/varredura em massa pode ser surpreendentemente cara — pagine com tamanhos de página modestos e pare cedo.

Segurança

Permissões, segredos, alcance

Escopos mínimos: Workers:Read D1:Read KV:Read
Armazenamento de credenciais: Tokens OAuth gerenciados pelo seu cliente MCP; sem tokens de API de longa duração em env
Saída de dados: Todas as chamadas para Cloudflare API; fluxo OAuth passa por dash.cloudflare.com
Nunca conceda: Account:Admin a menos que absolutamente necessário Zone:DNS:Edit em zonas ativas sem testar primeiro em staging

Solução de problemas

Erros comuns e correções

Fluxo OAuth não foi concluído

Seu cliente MCP pode não suportar redirecionamentos OAuth. Verifique sua documentação (Claude Desktop, Cursor, etc. todos suportam de forma diferente). Tente reconectar o MCP remoto da UI do cliente.

Tail do Workers desconecta após um minuto

As sessões de tail são limitadas no tempo. Reinicie o tail ou, para janelas maiores, use Logpush e consulte via Analytics Engine.

Consulta D1 retorna 'Too many rows read'

D1 limita linhas verificadas por consulta por plano. Adicione uma cláusula WHERE que usa um índice ou pagine com LIMIT.

permissão negada em uma ferramenta DNS

O escopo OAuth para Zone:DNS:Edit não foi concedido. Reconecte o MCP e aprove o escopo adicional.

Alternativas

Cloudflare vs. outros

AlternativaQuando usarTroca
AWS MCP (awslabs)Você está em AWS, não CloudflareSuperfície de nuvem diferente; não é um substituto direto
Vercel MCPSeu alvo de implantação é Vercel (edge functions, KV, blobs)Modelo MCP remoto semelhante; conjunto de recursos mais restrito
CLI wrangler diretamente via shellVocê quer todo o poder do wrangler (edições de config, secrets) não apenas a superfície do MCPSem ergonomia de agente; raio de explosão maior se o script estiver errado

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills