Files
ealmeida b32ad83617 wordpress: nova skill mcp-wpfc (como usar o MCP wpfc)
- documenta as 18 tools do MCP wpfc (site como parametro, guarda-corpo
  Premium, allowlist fixa de 7 option keys)
- mesma convencao das skills mcp-element-pack/mcp-bit-social/mcp-cloudflare-app:
  esta skill e o 'como executar', wp-fastest-cache continua a ser o
  mapeamento completo das options
- cross-referencia wp-fastest-cache <-> mcp-wpfc nos dois sentidos
2026-08-19 05:24:09 +01:00

6.5 KiB

name, description, layer
name description layer
mcp-wpfc MCP dedicado multi-site (node stdio, ligação `wpfc` em ~/.omp/agent/mcp.json) para gerir o WP Fastest Cache (Free + Premium) em qualquer site do bundle Descomplicar® via WP-CLI/SSH — estado do plugin, config principal com guarda-corpo Premium, purga, exclusões, Clearing Specific Pages, CDN, Varnish, caminho da cache, restrições de toolbar. Site é um parâmetro em cada tool, não uma ligação fixa. Usar quando "purgar cache via mcp", "wpfc mcp", "activar premium wp fastest cache", "config wpfc", "regras de exclusão wpfc", "clearing specific pages mcp", "cdn nativa wpfc", "varnish wpfc", "toolbar wpfc". wiki

/mcp-wpfc — MCP dedicado multi-site ao WP Fastest Cache

Projecto em /media/ealmeida/Dados/Dev/mcp-wpfc/ (TypeScript, SDK MCP oficial, stdio). Não é uma extensão do EMCP Tools — mesma razão que mcp-element-pack: sem código PHP novo no WordPress, cada tool executa wp option get/update ou wp fastest-cache clear via ssh server sobre o WP-CLI já instalado. Diferença estrutural face a element-pack/bit-social/cloudflare-app: site é um parâmetro em cada tool, não uma ligação fixa por site — WP Fastest Cache está espalhado por 8 sites reais do bundle com estados diferentes (ver skill wp-fastest-cache §16.1).

Relação com a skill wp-fastest-cache: essa skill é a fonte de conhecimento (mapeamento completo de todas as options e o seu significado, comportamento por versão Free/Premium, gotchas de produção). Esta skill é o "como executar" — qual tool chamar para cada operação. Consultar wp-fastest-cache para entender uma definição; usar as tools abaixo para lê-la/escrevê-la.

Âmbito

Config e purga do WP Fastest Cache (Free + Premium). Não cobre: activação/desactivação do próprio plugin (emcp-tools activate-plugin/deactivate-plugin já cobre isso genericamente), Redis Object Cache (skill redis-object-cache), purga Cloudflare edge (App for Cloudflare® ou mcp-cloudflare-app), WP Meteor (skill wp-meteor).

Sites conhecidos

Chamar wpfc_list_sites para a lista actual com path e nota de estado. Aliases verificados ao vivo 19-08-2026: descomplicar (produção, Free+Premium inactivos), emanuelalmeida (Free active), starter (Free active), ccv (Free active), care/ecommerce-demo/ecommerce (WPFC não instalado), e-commerce (Free inactive). Também aceita um path absoluto directamente (/home/ealmeida/<site>) para sites fora desta lista, sem exigir rebuild do MCP.

Tools (18)

Tool Read-only Uso
wpfc_list_sites sim Aliases conhecidos, path WP, nota de estado
wpfc_get_status sim Free/Premium instalado, activo, versão — chamar sempre antes de wpfc_set_config
wpfc_get_config sim Option WpFastestCache completa
wpfc_set_config não Merge de chaves na WpFastestCache (read-modify-write) — recusa chaves só-Premium sem wp-fastest-cache-premium activo ou force_premium:true
wpfc_purge_cache não mode: all / all_minified / post (exige post_id). Não purga Cloudflare — usar mcp-cloudflare-app/App for Cloudflare® à parte
wpfc_get_exclude / wpfc_set_exclude sim/não WpFastestCacheExclude — regras de exclusão de páginas/cookies/user-agents. Set é substituição completa, não merge
wpfc_get_csp / wpfc_set_csp sim/não WpFastestCacheCSP — Clearing Specific Pages (purga extra de páginas agregadoras). Set substitui por inteiro
wpfc_get_cdn / wpfc_set_cdn sim/não WpFastestCacheCDN — integrações CDN nativas (Cloudflare/MaxCDN/BunnyCDN/CloudFront/genérica). Set substitui por inteiro
wpfc_get_varnish / wpfc_set_varnish sim/não WpFastestCacheVarnish — {server, status?}. Set substitui por inteiro
wpfc_get_pathSettings / wpfc_set_pathSettings sim/não WpFastestCachePathSettings — {cachepath, optimizedpath}. Set substitui por inteiro
wpfc_get_toolbarSettings / wpfc_set_toolbarSettings sim/não WpFastestCacheToolbarSettings — roles sem acesso à toolbar de admin. Set substitui por inteiro

Todas as tools exigem site como primeiro parâmetro.

Segurança

Allowlist fixa dos 7 nomes de option WPFC (src/wpcli.ts, OPTION_KEYS) — nunca wp option update genérico sobre uma chave arbitrária. Escritas via base64 em stdin, nunca interpoladas no comando SSH remoto. Guarda-corpo Premium em wpfc_set_config: chaves em PREMIUM_ONLY_CONFIG_KEYS (Lazy Load, Minify JS, Combine JS, Render Blocking, Google Fonts, Mobile Theme, Delay JS, wpFastestCachePremium) só gravam se wpfc_get_status confirmar wp-fastest-cache-premium activo nesse site, ou se o chamador passar force_premium:true já com essa confirmação feita.

Gotcha crítico de formato — não replicar noutros MCPs sem verificar primeiro: as 7 options WPFC são strings PHP planas cujo conteúdo é texto JSON (json_encode() gravado directamente), não options JSON tipadas do WP-CLI. getOption/setOption deste MCP nunca usam --format=json — leem/escrevem a string crua e fazem JSON.parse/JSON.stringify uma única vez do lado do cliente. Usar --format=json aqui causa dupla codificação e corrompe a option (foi reproduzido em produção durante o build e corrigido — ver skill wp-fastest-cache §16.2 para o relato completo). Qualquer extensão futura deste MCP, ou um MCP novo sobre outro plugin, deve testar wp option get <key> sem --format=json primeiro para confirmar o tipo real armazenado antes de escolher o padrão de leitura/escrita.

Verificação

Construído e testado ponta-a-ponta contra produção 19-08-2026: wpfc_get_status em descomplicar e ccv confirmou os dados reais (Free/Premium inactivos em descomplicar, Free activo em ccv); wpfc_set_config recusou correctamente uma chave Premium (wpFastestCacheGoogleFonts) em descomplicar (Premium inactivo); escreveu e releu correctamente uma chave Free (wpFastestCacheDisableEmojis), confirmado por leitura SSH directa fora do MCP; wpfc_get_exclude/wpfc_set_exclude testado em ccv (fallback [] → escrita [] → releitura []); wpfc_purge_cache executado com sucesso em ccv.

Skills relacionadas

  • wp-fastest-cache — mapeamento completo de todas as options e comportamento Free vs Premium, gotchas de produção, decision tree de comandos WP-CLI equivalentes.
  • mcp-cloudflare-app — purga da camada edge (Cloudflare), complementar à purga local deste MCP.
  • redis-object-cache — a terceira camada de cache do bundle, fora do âmbito deste MCP.