- emcp-page-building, emcp-content-ops, emcp-site-audit: EMCP Tools MCP workflows verified live (atomic/legacy interplay, apply-template overwrite risk, create-theme-template goes live immediately, false-positive malware pattern in scan-security, change ledger + rollback) - elementor-pro-widgets: 30+5 native Elementor Pro widgets (curated catalog) - elementskit-widgets / powerpack-widgets: 42 + 97 third-party widgets, widgetType extracted from plugin source (not guessed by convention) - plugin.json bumped 1.2.0 -> 1.3.0, keywords + description updated - commits pending wordpress skills already present as untracked files (emcp-tools, wordfence, wp-activity-log, seguranca-descomplicar, webp-express, wp-fastest-cache, wp-font-perf, wp-meteor, wp-activity-log, redis-object-cache, app-for-cloudflare) and pending edits (rank-math, wp-cli, wp-content-seo-gate)
7.4 KiB
name, description, layer
| name | description | layer |
|---|---|---|
| emcp-content-ops | Gestão de conteúdo WordPress (posts/pages/CPTs, taxonomias, media, menus, redirects, blocos Gutenberg, pesquisa de conteúdo) via qualquer ligação MCP EMCP Tools — distinto de construção de páginas Elementor (ver emcp-page-building) ou auditoria de segurança/performance (ver emcp-site-audit). Usar quando "gerir conteúdo wordpress via mcp", "emcp posts", "upload media mcp", "menus wordpress mcp", "redirects mcp", "blocos gutenberg mcp". | wiki |
/emcp-content-ops — Operações de Conteúdo WordPress via EMCP Tools
Aplica-se a qualquer ligação MCP EMCP Tools. Confirma sempre o site alvo com core/get-site-info — nunca assumir pelo nome da ligação.
Posts / Pages / CPTs
list-post-typesprimeiro num site desconhecido — os CPTs variam muito (visto ao vivo:e-landing-page,podcast,elementor_library,elementskit_content/elementskit_templatealém dos standardpost/page).create-post({ post_type, title, content, status, slug, author, date, parent, terms, meta, featured_image })escrevepost_content(HTML clássico ou markup de blocos Gutenberg) — não dados Elementor. Para uma página construída em Elementor usarcreate-page(veremcp-page-building);create-postexplicitamente não toca em dados Elementor.get-post/list-posts/update-post/delete-post/set-post-terms.is_elementoremget-post/list-postsdiz qual editor é dono de determinada página — nunca editar o conteúdo de uma página Elementor viaupdate-post.delete-postvai para o Lixo por omissão (reversível);force:truepara eliminação permanente. Devolve também umredirect_suggestiona lembrar de chamarcreate-redirectpara o URL agora morto — agir sobre isso em conteúdo publicado, ignorar em rascunhos/conteúdo de teste.set-post-terms({ mode: replace|append|remove, create_missing })—create_missing:truedeixa um termo de taxonomia permanente se não houver tool de eliminação de termos montada na ligação (comummente o caso). Confirmar nomes de termos antes de usar em conteúdo descartável.
Media
list-media/get-mediapara a biblioteca existente (pesquisa por título/alt/legenda/descrição) antes de recorrer a fotos de stock — reutilizar o que já existe.upload-media({ filename, data: base64, alt, title, caption, description })— bytes vindos do cliente, não de um URL.sideload-image(url)— o servidor vai buscar um URL que consegue alcançar. Casos de uso diferentes, não confundir.search-images/add-stock-image(Unsplash/Pexels/Pixabay) exigem uma chave API do provedor configurada em EMCP Tools → Connection nesse site específico — verificar que está configurada antes de planear um workflow em torno disso; um site sem nenhuma configurada devolve um erro simples "sem chave API", não é uma falha da tool em si.delete-mediaestá comummente no deny-list (destrutivo, o WordPress ignora o Lixo para media por omissão). Se não estiver montada para esta ligação, qualquer upload é efectivamente permanente via MCP — obter confirmação explícita antes de fazer upload, e verificar primeiro se está montada.update-mediapara correcções de alt text/título/legenda/descrição — seguro, não-destrutivo, boa opção por omissão para passagens de limpeza de acessibilidade/SEO.
Menus
menu-read/menu-write são tools despachadoras — chamar sem argumento operation primeiro para obter a lista de operações de leitura/escrita disponíveis e as formas exactas de argumento para a versão do plugin nessa ligação, depois chamar de novo com { operation, arguments }. Não adivinhar nomes de operação.
Redirects
list-redirects/find-broken-links são só-leitura e comummente activas por omissão. create-redirect/update-redirect/delete-redirect estão comummente no deny-list em sites de produção (mutação de routing com impacto directo em SEO) — verificar se estão montadas antes de assumir que se pode agir sobre um achado de link partido; se não estiverem, reportar o achado e deixar o utilizador criar o redirect via wp-admin ou um canal WP-CLI.
find-broken-links é só-leitura e seguro de correr a qualquer momento — propõe correcções, não muda nada. Bom primeiro passo antes de qualquer trabalho de redirects.
Blocos Gutenberg (independente do Elementor)
list-blocks/get-block-schema(batch vianames[]) →add-block(markup bruto,position.mode: append|prepend|before|after|inside) é o padrão descobrir → schema → aplicar.get-post-blocksdevolve um PATH em índice por bloco (ex.[2,1]) — chamar sempre isto imediatamente antes deupdate-block/remove-block/move-block/duplicate-blockpara obter os paths actuais; os paths mudam após cada edição, não fazer cache entre chamadas.list-patterns/insert-patternpara composições de blocos pré-construídas.- Estas tools operam sobre
post_content, por isso são a camada certa para posts/CPTs clássicos que não usam Elementor — não para páginas Elementor (is_elementor: true), que não têm árvore de blocos Gutenberg significativa.
Pesquisa/reutilização de conteúdo
search-content(query) — pesquisa tipo linguagem natural sobre páginas/templates/widgets/estilos globais, ordenada por relevância. Faz correspondência a substrings/tokens literais no conteúdo indexado, não pesquisa semântica difusa — uma query com uma palavra ausente verbatim de qualquer título/conteúdo devolve zero resultados mesmo que o conceito esteja presente. Se os resultados parecerem desactualizados (edições recentes não reflectidas), chamar reindex-search primeiro — o índice também actualiza incrementalmente ao gravar, por isso um reindex completo só é preciso na primeira construção ou para forçar um refresh. Usar isto antes de construir conteúdo novo, para encontrar e reutilizar/clonar uma página/template/widget existente em vez de duplicar trabalho.
Plugins / Temas / Utilizadores / Definições (nível só-leitura, quase universal)
list-plugins/search-plugins,list-themes/search-themes,list-users/get-user— listagem e pesquisa comummente activas; instalar/activar/desactivar/actualizar/eliminar plugins ou temas, e criar/actualizar utilizadores, estão comummente no deny-list (categorias de maior risco depois de execução de código). Verificar o que está realmente montado antes de prometer que uma mutação é possível.get-settings/update-settings— um subconjunto curado e allowlisted de definições WordPress (Geral/Leitura/Escrita/Discussão/Media/Permalinks), nãowp_optionsbruto.update-settingsreporta chaves ignoradas (skipped) com a razão (só-leitura, não allowlisted, valor inválido) em vez de falhar todo o lote — verificar o arrayskipped, não assumir que todas as chaves passadas foram aplicadas.theme-read/theme-writee leitores específicos de framework (ex.astra-read, quando o Astra é o tema activo — só regista se esse tema estiver activo) são tools despachadoras também: chamar semoperationprimeiro para descobrir o que está disponível no tema específico desse site.
Referência cruzada
emcp-page-building— construção/edição específica de Elementor (atómico + legacy).emcp-site-audit— scan de segurança, análise de performance, acesso só-leitura a BD/filesystem, ledger de mudanças + rollback.