wordpress-mcp

Servidor MCP leve para WordPress com 42 ferramentas. Respostas otimizadas em tokens reduzem a verbosidade da API REST em mais de 95%. Posts, páginas, usuários, plugins, temas, mídia, taxonomias, comentários.

Documentação

wordpress-mcp

npm version License: MIT MCP SDK

Servidor MCP leve para WordPress, focado em gerenciamento de sites. 249 ferramentas com respostas otimizadas em tokens — as respostas da API REST são automaticamente reduzidas de kilobytes para o essencial.

v3.2: legal_consent_log_get / legal_consent_log_stats / legal_consent_log_export para o log de decisões de consentimento do cvrt-legal (requer cvrt-legal 0.5.0+); legal_put_consent aceita log_enabled.

v3.1: Ferramentas para nossos próprios plugins — seo_* (31) para cvrt-seo-manager, legal_* (15) para cvrt-legal incl. legal_link_page (cvrt-legal 0.4.2+), e fulfillment_* (8) para cvrt-order-fulfillment.

v3.0 (MUDANÇA IMPORTANTE): Multi-site — uma única instância do servidor gerencia qualquer número de sites através de uma única variável de ambiente WORDPRESS_SITES. Todas as ferramentas agora exigem um argumento site; use a nova ferramenta list_sites para descobrir os ids configurados. As antigas variáveis de ambiente de site único foram removidas. wp_activate_plugin / wp_deactivate_plugin / wp_delete_plugin agora usam rotas cvrt-mcp-endpoints mcp/v1 e recebem o caminho do arquivo do plugin (ex.: akismet/akismet.php) em vez de um slug.

v2.1: Agora inclui módulos Pro para ACF e WooCommerce via wp-pilot-pro.

v2.0: Ferramentas estendidas para o plugin cvrt-mcp-endpoints — instalar plugins/temas do WordPress.org, gerenciamento de banco de dados, controle completo de widgets/menus e muito mais.

Por que este servidor?

A API REST do WordPress retorna JSON extremamente verboso (~5-10KB por post). Este servidor reduz isso:

RespostaAntesDepoisRedução
wp_list_posts (10 posts)~50KB~2KB96%
wp_get_post~5KB~200 bytes96%
wp_list_plugins~15KB~800 bytes95%

Menos tokens = respostas mais rápidas, custos menores, mais contexto para sua IA.

Instalação

npm install -g @cavort-it-systems/wordpress-mcp

Ou execute diretamente:

npx @cavort-it-systems/wordpress-mcp

Configuração

v3.0 é multi-site (MUDANÇA IMPORTANTE). Uma única instância do servidor agora gerencia qualquer número de sites WordPress, definidos em uma variável de ambiente WORDPRESS_SITES como um array JSON de objetos {id, url, username, password}. As antigas variáveis de ambiente de site único (WORDPRESS_SITE_URL, WORDPRESS_USERNAME, WORDPRESS_PASSWORD) não são mais lidas — defina WORDPRESS_SITES em vez disso.

Toda ferramenta (exceto list_sites) agora exige um argumento site nomeando o id do site de destino. Chame list_sites primeiro para descobrir quais ids estão configurados — ele retorna {id, url} para cada site (senhas nunca são retornadas ou registradas).

Claude Desktop / Manual

Adicione à sua configuração MCP (~/.claude.json ou configurações do Claude Desktop):

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITES": "[{\"id\":\"boardcouture\",\"url\":\"https://boardcouture.shop\",\"username\":\"cavortkonzepte\",\"password\":\"xxxx xxxx xxxx\"}]"
      }
    }
  }
}

Adicione mais sites anexando objetos ao array WORDPRESS_SITES — uma instância do servidor gerencia todos eles.

Claude Code CLI

claude mcp add wordpress \
  -e WORDPRESS_SITES='[{"id":"boardcouture","url":"https://boardcouture.shop","username":"cavortkonzepte","password":"xxxx xxxx xxxx"}]' \
  -- npx @cavort-it-systems/wordpress-mcp

A partir do código-fonte

git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run build

Autenticação

Usa Senhas de Aplicativo (WordPress 5.6+):

  1. Vá para Usuários → Perfil no admin do WordPress
  2. Role até Senhas de Aplicativo
  3. Crie uma nova senha para "Claude MCP"
  4. Use a senha gerada (mantenha os espaços)

Redução de Respostas

Todas as respostas são automaticamente reduzidas. Exemplo:

wp_get_post — de ~5KB para ~200 bytes:

// Before (WordPress REST API raw)
{"id":123,"date":"2026-01-15T10:30:00","date_gmt":"2026-01-15T09:30:00",
"guid":{"rendered":"https://example.com/?p=123"},"modified":"2026-01-20T14:00:00",
"modified_gmt":"2026-01-20T13:00:00","slug":"my-post","status":"publish",
"type":"post","link":"https://example.com/my-post/","title":{"rendered":"My Post"},
"content":{"rendered":"<p>Full content...</p>","protected":false},
"excerpt":{"rendered":"<p>Excerpt...</p>","protected":false},
"author":1,"featured_media":456,"comment_status":"open","ping_status":"open",
"sticky":false,"template":"","format":"standard","meta":{"footnotes":""},
"categories":[1,5],"tags":[10,20],"class_list":["post-123","type-post",...],
"_links":{"self":[...],"collection":[...],"about":[...],...}}

// After (slimmed)
{"id":123,"title":"My Post","slug":"my-post","status":"publish",
"date":"2026-01-15T10:30:00","modified":"2026-01-20T14:00:00",
"link":"https://example.com/my-post/","excerpt":"Excerpt...",
"author":1,"categories":[1,5],"tags":[10,20],"featured_media":456}

O que é removido:

CampoOndePor quê
guid, _linksem todo lugarDados internos do WordPress
content.renderedlistasIncluído apenas quando solicitado explicitamente
meta, class_listposts/páginasMetadados de tema/plugin
ping_status, comment_statuspostsRaramente necessário
template, format, stickypostsEspecífico do tema
Tags HTMLexcertosSaída de texto limpa
JSON com formatação bonitatodosSaída compacta em linha única

Ferramentas (249)

Toda ferramenta abaixo exige um argumento site (o id da sua configuração WORDPRESS_SITES), exceto list_sites em si.

Sites (1)

  • list_sites — Lista ids e URLs de sites configurados (sem argumento site; senhas nunca são retornadas)

API REST padrão do WordPress (42 ferramentas)

Estas funcionam com qualquer site WordPress:

Site (4)

  • wp_site_info — Obtém nome, descrição e URL do site
  • wp_get_settings — Obtém configurações do site
  • wp_update_settings — Atualiza configurações do site
  • wp_get_namespaces — Lista namespaces da API REST

Posts (6)

  • wp_list_posts — Lista posts com filtros
  • wp_get_post — Obtém um post individual
  • wp_create_post — Cria post
  • wp_update_post — Atualiza post
  • wp_delete_post — Exclui post
  • wp_search_posts — Pesquisa posts

Páginas (5)

  • wp_list_pages — Lista páginas
  • wp_get_page — Obtém uma página individual
  • wp_create_page — Cria página
  • wp_update_page — Atualiza página
  • wp_delete_page — Exclui página

Usuários (6)

  • wp_list_users — Lista usuários
  • wp_me — Obtém usuário atual
  • wp_get_user — Obtém usuário por ID
  • wp_create_user — Cria usuário
  • wp_update_user — Atualiza usuário
  • wp_delete_user — Exclui usuário

Plugins (5)

  • wp_list_plugins — Lista plugins
  • wp_get_plugin — Obtém detalhes do plugin
  • wp_activate_plugin — Ativa plugin (mcp/v1; plugin é o caminho do arquivo, ex.: akismet/akismet.php)
  • wp_deactivate_plugin — Desativa plugin (mcp/v1; plugin é o caminho do arquivo)
  • wp_delete_plugin — Exclui plugin (mcp/v1; plugin é o caminho do arquivo)

Temas (4)

  • wp_list_themes — Lista temas
  • wp_get_active_theme — Obtém tema ativo
  • wp_get_theme — Obtém detalhes do tema
  • wp_activate_theme — Alterna temas

Mídia (4)

  • wp_list_media — Lista biblioteca de mídia
  • wp_get_media — Obtém item de mídia
  • wp_update_media — Atualiza metadados de mídia
  • wp_delete_media — Exclui mídia

Categorias e Tags (8)

  • wp_list_categories — Lista categorias
  • wp_create_category — Cria categoria
  • wp_update_category — Atualiza categoria
  • wp_delete_category — Exclui categoria
  • wp_list_tags — Lista tags
  • wp_create_tag — Cria tag
  • wp_update_tag — Atualiza tag
  • wp_delete_tag — Exclui tag

Comentários (6)

  • wp_list_comments — Lista comentários
  • wp_get_comment — Obtém comentário
  • wp_create_comment — Cria comentário
  • wp_update_comment — Atualiza/modera comentário
  • wp_delete_comment — Exclui comentário
  • wp_moderate_comments — Moderação em lote

Ferramentas Estendidas (43 ferramentas) — Requer plugin cvrt-mcp-endpoints

Estas exigem que o plugin WordPress cvrt-mcp-endpoints esteja instalado e ativado.

Gerenciamento de Plugins (4)

  • mcp_search_plugins — Pesquisa plugins no WordPress.org
  • mcp_install_plugin — Instala plugin do WordPress.org
  • mcp_update_plugin — Atualiza um único plugin
  • mcp_update_all_plugins — Atualiza todos os plugins

Gerenciamento de Temas (5)

  • mcp_search_themes — Pesquisa temas no WordPress.org
  • mcp_install_theme — Instala tema do WordPress.org
  • mcp_update_theme — Atualiza um único tema
  • mcp_update_all_themes — Atualiza todos os temas
  • mcp_delete_theme — Exclui tema inativo

Gerenciamento do Núcleo (6)

  • mcp_get_version — Obtém informações da versão do WordPress
  • mcp_get_system_info — Obtém informações abrangentes do sistema
  • mcp_check_updates — Verifica todas as atualizações
  • mcp_update_core — Atualiza o núcleo do WordPress
  • mcp_flush_rewrite — Limpa regras de reescrita
  • mcp_flush_cache — Limpa todos os caches

Gerenciamento de Banco de Dados (5)

  • mcp_get_tables — Lista tabelas com tamanhos
  • mcp_search_replace — Pesquisa/substitui no banco de dados
  • mcp_optimize_tables — Otimiza todas as tabelas
  • mcp_clean_revisions — Exclui revisões antigas
  • mcp_clean_comments — Exclui comentários de spam/lixeira

Gerenciamento de Opções (5)

  • mcp_list_options — Lista opções com filtro de prefixo
  • mcp_get_option — Obtém uma única opção
  • mcp_set_option — Cria/atualiza opção
  • mcp_delete_option — Exclui opção
  • mcp_bulk_get_options — Obtém múltiplas opções

Gerenciamento de Menus (8)

  • mcp_list_menus — Lista menus de navegação
  • mcp_get_menu_locations — Obtém localizações de tema
  • mcp_get_menu — Obtém menu com itens
  • mcp_create_menu — Cria menu
  • mcp_delete_menu — Exclui menu
  • mcp_add_menu_item — Adiciona item de menu
  • mcp_delete_menu_item — Exclui item de menu
  • mcp_assign_menu_location — Atribui menu a uma localização

Gerenciamento de Widgets (8)

  • mcp_list_sidebars — Lista todas as barras laterais
  • mcp_get_sidebar_widgets — Obtém widgets da barra lateral
  • mcp_list_widget_types — Lista tipos de widgets
  • mcp_get_widget — Obtém detalhes do widget
  • mcp_add_widget — Adiciona widget à barra lateral
  • mcp_update_widget — Atualiza configurações do widget
  • mcp_delete_widget — Remove widget
  • mcp_move_widget — Move widget para barra lateral

Saúde e Diagnóstico (6)

  • mcp_get_health — Pontuação de saúde do site
  • mcp_get_debug_info — Informações de depuração
  • mcp_get_php_info — Configuração do PHP
  • mcp_get_plugins_health — Saúde/atualizações de plugins
  • mcp_get_cron_status — Status dos trabalhos cron
  • mcp_run_cron — Executa hook cron manualmente

Módulo ACF (31 ferramentas) — Requer wp-pilot-pro + ACF

Requer wp-pilot-pro e Advanced Custom Fields.

Grupos de Campos (4)

  • acf_list_field_groups — Lista todos os grupos de campos
  • acf_get_field_group — Obtém grupo de campos com esquema
  • acf_export_field_groups — Exporta como JSON
  • acf_import_field_groups — Importa de JSON

Campos de Posts (4)

  • acf_get_post_fields — Obtém todos os campos de um post
  • acf_update_post_fields — Atualiza múltiplos campos
  • acf_get_post_field — Obtém valor de um único campo
  • acf_update_post_field — Atualiza um único campo

Campos de Termos e Usuários (4)

  • acf_get_term_fields — Obtém campos ACF de termo
  • acf_update_term_fields — Atualiza campos de termo
  • acf_get_user_fields — Obtém campos ACF de usuário
  • acf_update_user_fields — Atualiza campos de usuário

Páginas de Opções (3)

  • acf_list_options_pages — Lista páginas de opções
  • acf_get_options_fields — Obtém campos da página de opções
  • acf_update_options_fields — Atualiza campos de opções

Campos Repetidores (5)

  • acf_get_repeater — Obtém linhas do repetidor
  • acf_add_repeater_row — Adiciona linha
  • acf_update_repeater_row — Atualiza linha
  • acf_delete_repeater_row — Exclui linha
  • acf_reorder_repeater — Reordena linhas

Conteúdo Flexível (5)

  • acf_get_flexible — Obtém layouts
  • acf_add_flexible_layout — Adiciona layout
  • acf_update_flexible_layout — Atualiza layout
  • acf_delete_flexible_layout — Exclui layout
  • acf_reorder_flexible — Reordena layouts

Campos de Relacionamento (4)

  • acf_get_relationship — Obtém posts relacionados
  • acf_set_relationship — Define posts relacionados
  • acf_add_to_relationship — Adiciona posts
  • acf_remove_from_relationship — Remove posts

Utilitários (2)

  • acf_get_clone_references — Obtém referências de campos clonados
  • acf_get_field_object — Obtém esquema de campo

Módulo WooCommerce (42 ferramentas) — Requer wp-pilot-pro + WooCommerce

Requer wp-pilot-pro e WooCommerce.

Produtos (5)

  • woo_list_products — Lista produtos com filtros
  • woo_get_product — Obtém detalhes do produto
  • woo_create_product — Cria produto
  • woo_update_product — Atualiza produto
  • woo_delete_product — Exclui produto

Variações (4)

  • woo_list_variations — Lista variações de produto
  • woo_create_variation — Cria variação
  • woo_update_variation — Atualiza variação
  • woo_delete_variation — Exclui variação

Atributos (4)

  • woo_list_attributes — Lista atributos
  • woo_list_attribute_terms — Lista termos de atributo
  • woo_create_attribute — Cria atributo
  • woo_create_attribute_term — Cria termo

Categorias e Tags (5)

  • woo_list_categories — Lista categorias de produto
  • woo_create_category — Cria categoria
  • woo_update_category — Atualiza categoria
  • woo_delete_category — Exclui categoria
  • woo_list_tags — Lista tags de produto

Pedidos (5)

  • woo_list_orders — Lista pedidos
  • woo_get_order — Obtém detalhes do pedido
  • woo_update_order_status — Atualiza status
  • woo_add_order_note — Adiciona nota
  • woo_get_order_notes — Obtém notas

Clientes (5)

  • woo_list_customers — Lista clientes
  • woo_get_customer — Obtém cliente
  • woo_create_customer — Cria cliente
  • woo_update_customer — Atualiza cliente
  • woo_get_customer_orders — Obtém histórico de pedidos

Cupons (5)

  • woo_list_coupons — Lista cupons
  • woo_get_coupon — Obtém cupom
  • woo_create_coupon — Cria cupom
  • woo_update_coupon — Atualiza cupom
  • woo_delete_coupon — Exclui cupom

Relatórios (3)

  • woo_sales_report — Relatório de vendas
  • woo_top_sellers — Produtos mais vendidos
  • woo_stock_report — Relatório de status de estoque

Metadados e Inventário de Produtos (3)

  • woo_get_product_meta - Obter metadados do produto
  • woo_update_product_meta - Atualizar metadados do produto
  • woo_bulk_update_stock - Atualização de estoque em massa

Módulo de SEO (31 ferramentas) - Requer cvrt-seo-manager

  • seo_status - Obter status do cvrt-seo-manager (versão, configurado, dependências)
  • seo_get_settings - Obter configurações do cvrt-seo-manager
  • seo_update_settings - Atualizar configurações do cvrt-seo-manager
  • seo_get_post_seo - Obter os metadados de SEO de um post
  • seo_update_post_seo - Atualizar os metadados de SEO de um post
  • seo_delete_post_seo - Excluir (redefinir) os metadados de SEO de um post
  • seo_get_post_analysis - Obter a análise de SEO (pontuação, problemas) de um post
  • seo_list_posts_seo - Listar metadados de SEO em vários posts
  • seo_bulk_update_posts_seo - Atualização em massa de metadados de SEO em vários posts
  • seo_get_term_seo - Obter os metadados de SEO de um termo de taxonomia
  • seo_update_term_seo - Atualizar os metadados de SEO de um termo de taxonomia
  • seo_delete_term_seo - Excluir (redefinir) os metadados de SEO de um termo de taxonomia
  • seo_keyword_check - Executar a verificação de análise de palavras-chave
  • seo_list_redirects - Listar todos os redirecionamentos
  • seo_create_redirect - Criar um redirecionamento
  • seo_get_redirect - Obter um redirecionamento por id
  • seo_update_redirect - Atualizar um redirecionamento por id
  • seo_delete_redirect - Excluir um redirecionamento por id
  • seo_list_monitor_log - Listar as entradas do log do monitor de 404/redirecionamentos
  • seo_clear_monitor_log - Limpar o log do monitor de 404/redirecionamentos
  • seo_create_redirect_from_log - Criar um redirecionamento diretamente de uma entrada do log do monitor
  • seo_sitemap_status - Obter status do sitemap
  • seo_sitemap_ping - Enviar ping aos mecanismos de busca com o sitemap
  • seo_indexnow_ping - Enviar URLs para o IndexNow
  • seo_export_settings - Exportar configurações do cvrt-seo-manager
  • seo_import_settings - Importar configurações do cvrt-seo-manager
  • seo_export_csv - Exportar metadados de SEO de posts como CSV
  • seo_import_csv - Importar metadados de SEO de posts de CSV
  • seo_export_redirects - Exportar redirecionamentos
  • seo_import_redirects - Importar redirecionamentos
  • seo_import_migrate - Executar uma importação de migração (ex.

Módulo Jurídico (18 ferramentas) - Requer cvrt-legal (legal_get_page / legal_link_page precisam de 0.4.2+, legal_consent_log_* precisa de 0.5.0+)

  • legal_status - Status do documento jurídico de um site: quais documentos são obrigatórios, preenchidos e publicados, além de um único sinalizador de conformidade
  • legal_list_documents - Listar todos os tipos de documentos jurídicos com seu estado obrigatório/preenchido e página vinculada
  • legal_get_document - Obter um documento jurídico incluindo suas seções ordenadas
  • legal_put_document - Substituir um documento jurídico
  • legal_render_document - Renderizar um documento em HTML normalizado sem salvar
  • legal_get_page - Obter a qual página um documento jurídico está vinculado: vinculado, page_id, o status do post da página e ok (vinculado E publicado)
  • legal_link_page - Vincular um documento jurídico à sua página do WordPress (somente tipo de post page; posts e produtos são recusados)
  • legal_add_section - Adicionar uma seção a um documento jurídico
  • legal_update_section - Atualizar uma seção
  • legal_delete_section - Excluir uma seção de um documento jurídico
  • legal_get_consent - Obter a configuração do banner de consentimento de cookies
  • legal_put_consent - Configurar o banner de consentimento e todas as credenciais de rastreamento que o site usa
  • legal_get_theme - Obter o tema do banner: nome do preset, substituições de propriedades personalizadas CSS e o CSS renderizado
  • legal_put_theme - Definir o preset do tema do banner e/ou propriedades personalizadas CSS individuais
  • legal_get_settings - Obter configurações do cvrt-legal
  • legal_consent_log_get - Obter todas as decisões de consentimento registradas para um consent_id
  • legal_consent_log_stats - Agregar contagens de decisões de consentimento por ação e banner_version em um intervalo de dias
  • legal_consent_log_export - Exportar o log bruto de decisões de consentimento como CSV para um intervalo de dias

Módulo de Atendimento de Pedidos (8 ferramentas) - Requer cvrt-order-fulfillment 0.2.0+

  • fulfillment_get_settings - Obter as configurações do plugin cvrt-order-fulfillment
  • fulfillment_update_settings - Atualizar configurações do cvrt-order-fulfillment
  • fulfillment_status - Saúde do pipeline: quais credenciais estão definidas, lista/atribuído do ClickUp, quando o agente de impressão fez a última sondagem e contagens da fila de impressão
  • fulfillment_queue - Estado da fila de impressão: contagens de status (pendente/imprimindo/impresso/falhou) e os trabalhos recentes com seus erros
  • fulfillment_reprint_job - Redefinir um trabalho de impressão para pendente para que o agente o imprima novamente
  • fulfillment_fulfill_order - Executar manualmente (forçar) o atendimento de um pedido: renderiza o comprovante de envio, cria a tarefa no ClickUp, notifica o Slack
  • fulfillment_update_check - Forçar uma verificação imediata de atualização do plugin (ignorando o limite do PUC) e informar se uma versão mais recente está disponível
  • fulfillment_update_apply - Instalar uma atualização pendente do cvrt-order-fulfillment via o próprio atualizador do WordPress (mesmo caminho de código da atualização de um clique do wp-admin)

Arquitetura

src/
  index.ts          # Entry: McpServer + StdioServerTransport
  client.ts         # WordPress REST API client (Basic Auth)
  types.ts          # Shared Zod schemas + jsonResult helper
  slim.ts           # Response slimming transformers
  tools/
    # Standard WP REST API (wp/v2)
    site.ts         # 4 tools
    posts.ts        # 6 tools
    pages.ts        # 5 tools
    users.ts        # 6 tools
    plugins.ts      # 5 tools
    themes.ts       # 4 tools
    media.ts        # 4 tools
    taxonomies.ts   # 8 tools (categories + tags)
    comments.ts     # 6 tools
    # Extended (mcp/v1) - requires cvrt-mcp-endpoints plugin
    mcp-plugins.ts  # 4 tools - install from WordPress.org
    mcp-themes.ts   # 5 tools - install from WordPress.org
    mcp-core.ts     # 6 tools - updates, cache flush
    mcp-database.ts # 5 tools - search-replace, optimize
    mcp-options.ts  # 5 tools - full options CRUD
    mcp-menus.ts    # 8 tools - navigation menus
    mcp-widgets.ts  # 8 tools - sidebar widgets
    mcp-health.ts   # 6 tools - diagnostics, cron
    # Pro modules (mcp/v1) - requires wp-pilot-pro
    mcp-acf.ts      # 31 tools - ACF integration
    mcp-woo.ts      # 42 tools - WooCommerce

Suporte a Múltiplos Sites

Uma instância do servidor gerencia todos os seus sites via a variável de ambiente WORDPRESS_SITES (veja Configuração). Chame list_sites para ver os ids configurados e depois passe site: "<id>" para qualquer outra ferramenta:

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITES": "[{\"id\":\"site1\",\"url\":\"https://site1.com\",\"username\":\"admin\",\"password\":\"xxxx xxxx xxxx xxxx\"},{\"id\":\"site2\",\"url\":\"https://site2.com\",\"username\":\"admin\",\"password\":\"yyyy yyyy yyyy yyyy\"}]"
      }
    }
  }
}

Licença

MIT