Files
claude-plugins/wordpress/skills/mcp-jetengine/SKILL.md
T
Claude Code 47ab74ccfa feat(wordpress): nova skill mcp-jetengine - proxy MCP nativo JetEngine
Documenta o MCP jetengine (proxy stdio<->HTTPS ao MCP nativo do plugin,
Features API v3.8.0+): 11 tools, seguranca, verificacao, relacao com a
skill jetengine e com mcp-wpfc/mcp-webp-express.
2026-08-19 05:45:55 +01:00

6.4 KiB


name: mcp-jetengine description: MCP dedicado (node stdio, ligação jetengine em ~/.omp/agent/mcp.json) para JetEngine (Crocoblock) em descomplicar.pt — proxy transparente stdio<->HTTPS do MCP nativo do próprio plugin (Features API, v3.8.0+): registar CPT, CCT, taxonomias, meta boxes, queries do Query Builder, listings, glossários, gerir módulos, ler configuração/website-config/macros. Não duplica lógica do plugin — reencaminha tools/list/tools/call tal como o JetEngine os expõe. Usar quando "mcp jetengine", "jetengine mcp", "criar cpt via mcp", "criar cct via mcp", "add-cpt", "add-cct", "query builder mcp", "jetengine features api", "ai command center jetengine". layer: wiki

/mcp-jetengine — MCP dedicado ao JetEngine

Projecto em /media/ealmeida/Dados/Dev/mcp-jetengine/ (TypeScript, SDK MCP oficial, stdio).

Diferente dos MCPs irmãos (mcp-wpfc, mcp-webp-express): o JetEngine, a partir da v3.8.0, já expõe o seu próprio servidor MCP nativo (Jet_Engine\MCP_Tools, "Features API") em {site}/wp-json/jet-engine/v1/mcp — JSON-RPC 2.0 sobre HTTP simples (POST, uma única resposta JSON por pedido, sem SSE, sem sessão), autenticado por current_user_can('manage_options'). Este projecto não reimplementa nenhuma lógica de negócio do plugin: é apenas uma ponte stdio↔HTTPS com autenticação Basic (Application Password), porque o harness liga-se a servidores MCP locais por stdio, não a endpoints HTTPS arbitrários fora do gateway. tools/list e tools/call são reencaminhados verbatim — os 11 tools, nomes, descrições e schemas vistos pelo agente são exactamente os que o próprio plugin regista, não uma cópia mantida à mão.

Site

Único site do bundle com JetEngine activo (19-08-2026): descomplicar.pt (jet-engine v3.8.11.1). Configurável via JETENGINE_SITE_URL/JETENGINE_APP_USER/ JETENGINE_APP_PASSWORD no env da entrada jetengine em mcp.json — sem parâmetro site por tool (ao contrário de wpfc/webpx) porque só há um site a servir; adicionar suporte multi-site (registo tipo sites.ts) se outro site do bundle activar o plugin.

Activação feita nesta sessão (19-08-2026): jet-engine-misc-settings não existia (enable_features_api teria o default true mesmo assim, mas foi escrito explicitamente); Application Password dedicada mcp-jetengine criada para ealmeida.

Âmbito

Tudo o que o plugin regista na sua própria Features API. Não cobre: Relations (tabela wp_jet_rel_default — sem tool nativo, ver references/automation.md da skill jetengine para gestão via PHP/SQL), Profile Builder, Dynamic Tags dentro do Elementor, bridge MU-plugin (descomplicar-jet-bridge.php, endpoint próprio POST /wp-json/descomplicar/v1/manage — projecto à parte, ver skill jetengine §"Bridge Plugin").

Tools (11, nomes nativos do plugin — 19-08-2026)

Tool Read-only Uso
resource-get-configuration sim CPTs, taxonomias, meta boxes, options pages, queries, relations, CCTs, endpoints REST, glossários — visão geral em JSON, por parts
resource-get-website-config sim Post types/taxonomias/plugins activos registados no WordPress (não só JetEngine)
resource-get-macros sim Todas as macros JetEngine com argumentos e exemplos de uso
tool-manage-modules sim/não (operation: list|activate|deactivate) Listar ou activar/desactivar módulos do JetEngine
tool-add-cpt não Registar Custom Post Type — labels, storage, meta fields, admin columns/filters
tool-add-cct não Registar Custom Content Type (tabela SQL própria) com campos tipados
tool-add-taxonomy não Registar taxonomia e associar a post types
tool-add-meta-box não Meta Box com campos e condições de visibilidade
tool-add-query não Query do Query Builder — sql, posts, terms, users, comments, repeater, current-wp-query, merged-query, relations-query
tool-add-listing não Listing item ligado a uma query existente (elementor/bricks/twig/blocks)
tool-add-glossary não Glossário manual (source: "manual") com pares value/label

Schemas de input completos: chamar tools/list (ou o initialize seguido de tools/list — o proxy devolve exactamente o que wp-json/jet-engine/v1/mcp responde). Não documentados campo a campo aqui para evitar duplicação que fica desactualizada — a fonte de verdade é o próprio plugin.

Segurança

  • Autenticação por Application Password de um utilizador administrator (manage_options) — o próprio plugin recusa (rest_forbidden, 401/403) sem essa capability; o proxy traduz isso num McpError claro em vez de deixar a chamada rebentar em silêncio.
  • Sem lógica local de bloqueio de chaves — todo o tools/call chega ao plugin tal como recebido do agente. As guardas de segurança (validação de slug, sanitização de campos, etc.) são as do próprio JetEngine, não deste MCP.
  • Erros JSON-RPC de nível transporte (rede, HTTP != 200, error no envelope JSON-RPC — método desconhecido, parse error) tornam-se McpError. Erros de execução de tool (isError: true no CallToolResult, ex. "Tool not found") são devolvidos tal como o plugin os construiu — nunca convertidos em excepção, para o agente poder ler o texto do erro.

Verificação

Construído e testado ponta-a-ponta 19-08-2026: tools/list via stdio devolve os 11 tools idênticos ao pedido directo por curl contra wp-json/jet-engine/v1/mcp (mesmos nomes, descrições, schemas); tools/call real (resource-get-macros) devolve o mesmo JSON do plugin; tools/call com nome inexistente devolve isError: true + "Tool not found" passado verbatim. Ferramentas de escrita (tool-add-cpt, tool-add-cct, etc.) não foram exercidas contra produção nesta sessão — mesmo caminho de código (callJetEngine + tools/call) já validado pelas chamadas de leitura e pelo caso de erro.

Skills relacionadas

  • jetengine — conhecimento do plugin (CPT vs CCT, Relations, Query Builder, Listings, Macros, Profile Builder, bridge MU-plugin). Consultar para entender o que uma tool faz antes de a chamar; este MCP é o "como executar".
  • mcp-wpfc / mcp-webp-express — MCPs irmãos para plugins sem API nativa (reimplementam a gestão via WP-CLI/SSH). mcp-jetengine é o primeiro caso do bundle em que o próprio plugin já fala MCP — o padrão aqui é ponte de transporte, não reimplementação.