--- 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.