Files
ealmeida 67f6d6e6e1 wordpress: adiciona skills element-pack-widgets e mcp-element-pack
- element-pack-widgets: catalogo verificado 168 widgets core + 95 integracao
  Element Pack Pro (BdThemes), get_name() extraido do codigo-fonte, 11
  excepcoes de nome confirmadas
- mcp-element-pack: documenta o MCP dedicado (node stdio) para licenca/
  modulos/mega-menu/white-label/custom-code do Element Pack Pro
2026-08-19 04:47:07 +01:00

50 lines
2.8 KiB
Markdown

---
name: mcp-element-pack
description: MCP dedicado (node stdio, ligação `element-pack` em ~/.omp/agent/mcp.json) para gerir o Element Pack Pro (BdThemes) em descomplicar.pt — licença (read-only), módulos, mega menu, white-label, custom CSS/JS, via WP-CLI/SSH sem passar pelo EMCP Tools. Usar quando "element pack licença", "módulos element pack", "mega menu toggle", "white label element pack", "activar/desactivar widget element pack".
layer: wiki
---
# /mcp-element-pack — MCP dedicado Element Pack Pro (admin settings)
Projecto em `/media/ealmeida/Dados/Dev/mcp-element-pack/` (TypeScript, SDK MCP oficial, stdio).
Não é uma extensão do EMCP Tools — é um MCP independente porque o EMCP Tools é plugin comercial
(Freemius) com catálogo de tools fixo, curado pelo autor, sem mecanismo de terceiros registarem
abilities visíveis no `list-tools`. Sem código PHP novo no WordPress: cada tool executa
`wp option get/update` via `ssh server` sobre o WP-CLI já instalado.
## Âmbito
Gestão de **configuração admin** do Element Pack Pro. Para **inserir/editar widgets** em páginas
Elementor (qualquer um dos 168+95 catalogados), usar a skill `element-pack-widgets` via ligação EMCP
normal — este MCP não cobre isso.
## Tools (9)
- `ep_get_license_status` (read-only) — licença nunca é escrita por aqui; activação exige handshake
com a API da BdThemes (`Element_Pack_Base::get_lic_key_param`), não é um simples `option update`.
- `ep_get_modules` / `ep_set_module_state` — grupos `active_modules`, `third_party_widget`,
`elementor_extend`, `other_settings`; read-modify-write, nunca substitui o array inteiro.
- `ep_get_mega_menu_toggle` / `ep_set_mega_menu_toggle` — só o toggle global
(`element_pack_other_settings.mega-menu`); edição por item de menu (postmeta `_ep_mega_menu_*`)
fica fora do âmbito v1.
- `ep_get_white_label` / `ep_set_white_label`
- `ep_get_custom_code` / `ep_set_custom_code` — blocos `ep_custom_css`/`_js` (1 e 2).
## Segurança
Allowlist fixa de option keys (`src/wpcli.ts`, `element_pack_*`/`ep_*`) — nunca `wp option update`
genérico. Escritas via base64 em stdin, nunca interpoladas no comando SSH remoto.
## Verificação
Construído e testado ponta-a-ponta contra produção 19-08-2026: leitura real (`ep_get_license_status`
→ `it@descomplicar.pt`; `ep_get_mega_menu_toggle` → `off`, ambos confirmados contra `wp option get`
directo) e escrita real com round-trip (`ep_set_custom_code`/`ep_get_custom_code` num slot vazio,
sem alterar comportamento do site).
## Skills relacionadas
- `element-pack-widgets` — catálogo de widgets e workflow de inserção via EMCP (`get-widget-schema`
com `full:true`).
- `full-cliente` — se a licença Element Pack Pro algum dia passar a ser gerida via FULL.Cliente em
vez de licença directa BdThemes, é essa a skill certa, não esta.