wordpress: nova skill mcp-wpmeteor (como usar o MCP wpmeteor)

- documenta as 8 tools do MCP wpmeteor: status, config, toggle de modulo,
  delay, exclusoes, telemetria detected
- wp-meteor actualizada: estado real confirmado nos 8 sites do bundle
  (so emanuelalmeida.pt tem o plugin), cross-referencia para mcp-wpmeteor
- mesma convencao de mcp-wpfc/mcp-element-pack/mcp-cloudflare-app: esta
  skill e o 'como executar', wp-meteor continua a ser o mapeamento
This commit is contained in:
2026-08-19 05:35:21 +01:00
parent 1ee91142d9
commit c74dab4ac2
2 changed files with 96 additions and 5 deletions
+84
View File
@@ -0,0 +1,84 @@
---
name: mcp-wpmeteor
description: MCP dedicado multi-site (node stdio, ligação `wpmeteor` em ~/.omp/agent/mcp.json) para gerir o WP Meteor (delay/reorder de JavaScript não crítico) em qualquer site do bundle Descomplicar® via WP-CLI/SSH — estado do plugin, config completa, toggle de módulo, delay do ultimate-reorder, exclusões manuais, telemetria detected. Site é um parâmetro em cada tool. Usar quando "gestão wp meteor", "wpmeteor mcp", "desligar ultimate reorder via mcp", "mudar delay wp meteor", "exclusões wp meteor mcp", "activar módulo elementor-pp".
layer: wiki
---
# /mcp-wpmeteor — MCP dedicado multi-site ao WP Meteor
Projecto em `/media/ealmeida/Dados/Dev/mcp-wpmeteor/` (TypeScript, SDK MCP oficial, stdio). Sem
código PHP novo no WordPress: cada tool executa `wp option get` / `wp option patch` via
`ssh server` sobre o WP-CLI já instalado. O plugin **não regista nenhum comando WP-CLI próprio**
(confirmado por grep a todo o código-fonte — ver skill `wp-meteor`); toda a config vive numa
única option, `wp-meteor-settings`.
**Relação com a skill `wp-meteor`:** essa skill é a fonte de conhecimento completa — os 5 módulos
reais, a semântica exacta do `delay`, as duas camadas de exclusão automática embutidas (`gdpr`,
`Compatibility`), os mecanismos de bypass automático, diagnóstico de CLS/CWV. Esta skill é o "como
executar" — qual tool chamar para cada operação. Consultar `wp-meteor` para entender uma
definição antes de a alterar por aqui.
## Âmbito
Config do WP Meteor: 5 módulos, delay do `ultimate-reorder`, exclusões manuais
(`exclude.value`), leitura da telemetria `detected`. Não cobre: activação/desactivação do
próprio plugin (`emcp-tools activate-plugin`/`deactivate-plugin` já cobre isso genericamente),
diagnóstico de CLS/CWV com Chrome DevTools (workflow manual, ver skill `wp-meteor` §"Testar
isoladamente via Chrome DevTools").
## Sites conhecidos
Chamar `wpmeteor_list_sites` para a lista actual com path e nota de estado. **Verificado ao vivo
19-08-2026: só `emanuelalmeida` tem o WP Meteor instalado** — os outros 7 sites reais do bundle
(`descomplicar`, `starter`, `ccv`, `care`, `ecommerce-demo`, `e-commerce`, `ecommerce`) não o têm.
Também aceita um path absoluto directamente para sites fora desta lista.
## Tools (8)
| Tool | Read-only | Uso |
|---|---|---|
| `wpmeteor_list_sites` | sim | Aliases conhecidos, path WP, nota de estado |
| `wpmeteor_get_status` | sim | Instalado/activo/versão |
| `wpmeteor_get_config` | sim | Option `wp-meteor-settings` completa |
| `wpmeteor_set_module` | não | Liga/desliga um dos 5 módulos (`ultimate-reorder`, `gdpr`, `exclude`, `elementor-animations`, `elementor-pp`) — escrita atómica de `<module>.enabled`, não toca nos outros |
| `wpmeteor_set_delay` | não | `ultimate-reorder.delay` — string numérica; "0" = zero delay, N positivo = timeout fixo de N segundos, negativo (ex. "-1") = só corre na primeira interacção |
| `wpmeteor_get_exclusions` / `wpmeteor_set_exclusions` | sim/não | `exclude.value` — array de URLs/palavras-chave/regex. Set é **substituição completa**, não merge. Não liga o módulo `exclude` sozinho |
| `wpmeteor_get_detected` | sim | Telemetria interna (`detected`), sem tool de escrita — não é configurável |
Todas exigem `site` como primeiro parâmetro.
## Padrão de escrita — atómico por chave, não read-modify-write
Diferente do `mcp-wpfc` (que faz merge em JS de toda a option `WpFastestCache`), aqui cada
escrita usa `wp option patch update wp-meteor-settings <key-path...> [--format=json]` — o próprio
WP-CLI localiza e substitui só a chave aninhada pedida, atomicamente, sem ler+reescrever a option
inteira. Menos risco de pisar uma gravação concorrente do wp-admin.
## Segurança
Allowlist fixa de 1 option (`wp-meteor-settings`) e 5 módulos conhecidos (`src/wpcli.ts`,
`MODULES`). Escritas via base64 em stdin, nunca interpoladas no comando SSH remoto.
**Confirmado antes de escrever a bridge (lição de `mcp-wpfc`/skill `wp-fastest-cache` §16.2):**
`wp-meteor-settings` é um **array PHP nativo** — `wp option get` sem `--format=json` devolve
`array(...)` desestruturado, não uma string. `--format=json` é portanto o padrão correcto aqui em
leitura e escrita (ao contrário do WP Fastest Cache, onde `--format=json` corrompe a option).
Qualquer MCP novo sobre `wp option` deve continuar a verificar isto primeiro, caso a caso — não
assumir nenhum dos dois padrões por omissão.
## Verificação
Construído e testado ponta-a-ponta contra produção 19-08-2026 (`emanuelalmeida.pt`, único site com
o plugin instalado): `wpmeteor_get_status` confirmou activo v3.4.18 lá e ausente em
`descomplicar`; `wpmeteor_get_config`/`wpmeteor_get_exclusions` leram a config real; `wpmeteor_set_module`,
`wpmeteor_set_delay` e `wpmeteor_set_exclusions` escreveram e relerem correctamente com valores
já-correntes (round-trip idempotente, sem alterar comportamento do site); `wpmeteor_get_detected`
confirmou array vazio. Integridade final da option confirmada por leitura SSH directa, idêntica ao
estado original.
## Skills relacionadas
- `wp-meteor` — mapeamento completo de todos os módulos, semântica do delay, exclusões
automáticas embutidas, mecanismos de bypass, diagnóstico de CLS/CWV.
- `mcp-wpfc` — mesma convenção (MCP multi-site, `site` por parâmetro), mas para o WP Fastest
Cache; ver lá o gotcha de formato de armazenamento que motivou a verificação prévia aqui.