Documenta as 14 tools do MCP dedicado descomplicar.pt (Bot Management, WAF Managed Ruleset, HSTS, CT, Leaked Credential Checks, purge cache), complementar à skill app-for-cloudflare existente. Keyword cloudflare adicionada ao manifesto.
6.5 KiB
name, description, layer
| name | description | layer |
|---|---|---|
| mcp-cloudflare-app | MCP dedicado (HTTP StreamableHTTP local, ligação `cloudflare-app` em ~/.claude.json, porta 3201) para a zona Cloudflare gerida pelo plugin App for Cloudflare® (`app-for-cf`) em descomplicar.pt — definições de zona SSL/TLS/Speed/Caching/Network/Scrape Shield, Bot Management + Super Bot Fight Mode, WAF via Managed Ruleset, HSTS, Certificate Transparency, Leaked Credential Checks, purge de cache. Fala directamente com a Cloudflare API v4, sem passar pelo EMCP Tools nem pelo WordPress em runtime. Usar quando "waf cloudflare vazio", "bot management ai", "purge cache cloudflare", "hsts cloudflare", "managed ruleset", "is_robots_txt_managed", "certificate transparency cloudflare", "leaked credential checks", ou qualquer alteração de definição de zona Cloudflare via MCP em vez de curl manual. | wiki |
/mcp-cloudflare-app — MCP dedicado à zona Cloudflare (App for Cloudflare®)
Projecto em /media/ealmeida/Dados/Dev/mcp-cloudflare-app/ (TypeScript, SDK MCP oficial,
StreamableHTTP). Não é uma extensão do EMCP Tools nem fala com o WordPress em runtime — o plugin
App for Cloudflare® não expõe REST próprio (confirmado por leitura completa do código-fonte, ver
skill app-for-cloudflare). Toda a configuração de zona vive na Cloudflare API v4, não em
wp_options; este MCP fala directamente com essa API usando um token extraído uma vez de
wp_options.app_for_cf.cloudflareAuth.token e guardado em .env local (não em cada chamada).
Relação com a skill app-for-cloudflare: essa skill é a fonte de conhecimento (mapeamento
completo plugin↔Cloudflare API, gotchas, scopes de token, as ~52 definições de zona). Esta skill é
o "como executar" — qual tool chamar para cada operação. Consultar app-for-cloudflare para
entender uma definição; usar as tools abaixo para lê-la/escrevê-la.
Âmbito
Zona actual configurada: descomplicar.pt. Para gerir outra zona do bundle, extrair
cloudflareAuth.token/cfZoneId de wp_options.app_for_cf desse site (SQL read-only, ver
"Credenciais" abaixo) e actualizar o .env do MCP — não há multi-zona numa única ligação.
Não cobre: R2 media storage, Zero Trust Access, Page/Cache Rules, Firewall Rules custom, DMARC,
Web Analytics, ferramentas de diagnóstico (request trace/IP/domain/WHOIS) — todas Pro-only na UI do
plugin ou fora do âmbito "definições de zona + segurança + purge" decidido na criação do MCP
(19-08-2026). Gerir manualmente via dashboard Cloudflare ou via curl directo (ver skill
app-for-cloudflare §10/§2 para os endpoints).
Tools (14)
| Tool | Read-only | Uso |
|---|---|---|
cf_list_zone_settings |
sim | Lê todas as definições de zona em bloco |
cf_get_zone_setting |
sim | Lê uma definição por id (ex. rocket_loader, cache_level) |
cf_update_zone_setting |
não | Escreve uma definição por id — bloqueia ids de bot_management/waf com redirect accionável para a tool certa |
cf_get_bot_management |
sim | Lê Bot Management/SBFM completo (inclui campos fora da UI do plugin: ai_bots_protection, is_robots_txt_managed), sinaliza risco GEO |
cf_update_bot_management |
não | Escreve Bot Management/SBFM — merge parcial (lê, aplica só os campos dados, PUT completo; remove using_latest_model do payload automaticamente) |
cf_get_waf_status |
sim | Verifica se a fase http_request_firewall_managed tem regras execute reais (o toggle legado waf não garante protecção) |
cf_deploy_managed_ruleset |
não | Implanta o Cloudflare Managed Free Ruleset na fase managed — disponível em qualquer plano |
cf_get_hsts_settings / cf_update_hsts_settings |
sim/não | HSTS (security_header) |
cf_get_certificate_transparency / cf_update_certificate_transparency |
sim/não | Alertas CT (ct/alerting) |
cf_get_leaked_cred_checks / cf_update_leaked_cred_checks |
sim/não | Leaked Credential Checks |
cf_purge_cache |
não | Purga tudo (omitir files) ou até 30 URLs específicos |
Padrão Descomplicar® para Bot Management (GEO-crítico — ver skill app-for-cloudflare §5a):
cf_update_bot_management com {"ai_bots_protection":"disabled","content_bots_protection":"disabled","crawler_protection":"disabled","ai_training":"disabled","ai_search":"disabled","ai_user":"disabled","fight_mode":false,"is_robots_txt_managed":false}
— nunca aceitar o "good" que o próprio plugin recomenda para ai_bots_protection/crawler_protection
(block/enabled), é o oposto da decisão Descomplicar.
Segurança
Escritas em bot_management fazem sempre GET→merge→PUT (nunca um PUT parcial cego — a Cloudflare
substitui o objecto inteiro). cf_update_zone_setting recusa explicitamente ids que pertencem ao
endpoint bot_management (waf, bot_fight_mode, ai_bots_protection, crawler_protection,
bot_likely_automated, bot_definitely_automated, bot_verified_bots,
bot_static_resource_protection, bot_optimize_wordpress, bot_enable_js) e devolve isError
com a tool certa a usar, em vez de deixar a Cloudflare rejeitar com 10405 Method not allowed.
Credenciais
.env local (CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID, CLOUDFLARE_ACCOUNT_ID,
CLOUDFLARE_ZONE_NAME), não versionado. Reextrair para outro site via SQL read-only (mais rápido
que SSH+WP-CLI se já houver uma ligação EMCP a esse site):
SELECT option_value FROM <prefixo>_options WHERE option_name = 'app_for_cf';
O valor é um array PHP serializado — extrair cloudflareAuth.token e cfZoneId. Confirmar o
prefixo real da tabela primeiro (SHOW TABLES LIKE '%options%'; em descomplicar.pt é wpah_, não
wp_).
Verificação
Construído e testado ponta-a-ponta contra a zona real descomplicar.pt 19-08-2026: 12/12
evaluations (npm run eval:ci), incluindo leitura real que confirmou dois achados de produção
ainda por corrigir — WAF Managed Ruleset vazio (zero regras execute) e HSTS desligado. Bot
Management já correcto (sem risco GEO). Deploy como processo hub persistente (mcp-cloudflare-app,
porta 3201, http://127.0.0.1:3201/mcp), registado em ~/.claude.json como cloudflare-app.
Skills relacionadas
app-for-cloudflare— mapeamento completo plugin↔Cloudflare API v4, gotchas, scopes de token, as ~52 definições de zona, EasyConfig, WAF, Bot Management, HSTS, o modelowp_options.app_for_cf.wordfence— se a decisão for usar Wordfence em vez do WAF Cloudflare como camada primária, é essa a skill certa para regras/bloqueios ao nível da aplicação (este MCP só cobre o WAF de edge).