Agent Abilities for MCP
Um plugin gratuito para WordPress que transforma seu site em um servidor MCP governado: 153 habilidades que permanecem desativadas até que você as ative, vinculadas a um usuário WordPress com privilégios mínimos, com todas as chamadas auditadas.
Documentação
Agent Abilities for MCP - Servidor MCP com Controles de Permissão e Registro de Auditoria
Servidor MCP para WordPress. Conecte Claude, ChatGPT ou qualquer agente de IA, com controles de permissão, desativado por padrão, e um registro de auditoria completo.
| Contribuidores | unaibamir |
| Tags | chatgpt, claude, mcp, mcp-server, woocommerce |
| Versão mínima exigida | 6.9 |
| Testado até | 7.1 |
| Requer PHP | 7.4 |
| Versão estável | 1.7.5 |
| Licença | GPL-2.0-or-later |
Descrição
Servidor MCP WordPress para agentes de IA, governado e desativado por padrão
Agent Abilities for MCP é um plugin WordPress que transforma seu site em um servidor Model Context Protocol (MCP) governado. Ele expõe 179 "habilidades" (ferramentas) curadas do WordPress para agentes de IA como ChatGPT, Claude, Cursor e VS Code via MCP, para que seu cliente de IA possa ler e, quando você permitir, escrever no seu site como um usuário WordPress real de privilégio mínimo que você escolher. Ele é construído sobre a API de Habilidades do WordPress 6.9 e o Adaptador MCP oficial, portanto não há servidor ou transporte personalizado em que confiar.
Nada é exposto até que você ative. Os controles de permissão são o ponto central: o agente só age como o usuário WordPress ao qual você o vincula, nunca como uma chave equivalente a administrador, e cada chamada é revalidada em relação às capacidades desse usuário e registrada no log de auditoria antes de ser executada, incluindo tentativas negadas. Você adiciona alcance à medida que constrói confiança, não tudo de uma vez. Consulte Serviços Externos abaixo para saber exatamente o que o plugin pode acessar por conta própria.
Model Context Protocol (MCP) é uma especificação aberta originalmente desenvolvida pela Anthropic. Claude, ChatGPT, Cursor, VS Code, Gemini e outros nomes de produtos são marcas registradas de seus respectivos proprietários. Agent Abilities for MCP é um plugin de terceiros e não é afiliado, endossado ou patrocinado por nenhum deles.
Links rápidos: Documentação | Primeiros passos | Clientes compatíveis | Biblioteca de prompts | Site
O que é um servidor MCP WordPress?
Um servidor MCP WordPress permite que um assistente de IA trabalhe diretamente no seu site, em vez de copiar texto entre uma janela de chat e o wp-admin. MCP (Model Context Protocol) é um padrão aberto que informa a um cliente de IA quais ferramentas um serviço oferece e como chamá-las, para que Claude, ChatGPT ou qualquer outro cliente MCP possa listar seus posts, rascunhar um ou atualizar um pedido do WooCommerce.
Um servidor MCP entrega a um modelo de linguagem a capacidade de alterar seu site ao vivo, então até onde ele pode alcançar e se você pode auditar depois são questões importantes - exatamente o que Agent Abilities for MCP governa, desativado por padrão e registrado.
Prefere assistir primeiro? Aqui está um breve passo a passo do plugin em ação.
🛡️ Controles de permissão e registro de auditoria em cada chamada
- Privilégio mínimo por design. O agente de IA se conecta como um usuário WordPress real e com escopo definido via OAuth ou Senha de Aplicativo, nunca como uma chave equivalente a administrador.
- Desativado por padrão. Nada é exposto até que você ative, e atualizações nunca ampliam silenciosamente o acesso.
- Modo somente leitura. Um único interruptor impede que toda habilidade de escrita seja registrada, independentemente do que estiver marcado, incluindo habilidades de outros plugins, e suas seleções permanecem intactas quando você o desativa novamente.
- Controle de capacidade em duas camadas. Uma conexão só vê as ferramentas que seu usuário pode chamar, e cada chamada revalida essa capacidade antes de ser executada.
- Lista de permissões por função e por conexão. Restrinja o que uma função, ou uma conexão, pode alcançar além da lista global. As listas apenas restringem: uma habilidade precisa passar pela lista global, pela lista da função e pela lista daquela conexão antes que um agente possa chamá-la. Um site que nunca abre a tela não vê nenhuma mudança.
- Registro de auditoria honesto. Cada chamada é registrada, incluindo tentativas negadas, junto com o usuário ou conexão que fez a chamada, as chaves dos argumentos e uma nota curta apenas com identificadores do que foi tocado. O conteúdo de texto livre dos argumentos nunca é armazenado, e o log vive no seu próprio banco de dados.
- Limitado por construção. Sem acesso arbitrário a opções ou metadados, sem execução de código. Uploads são validados pelos seus bytes reais contra uma lista de permissões de imagens, e um upload por URL recusa alvos privados, de loopback ou link-local sem seguir redirecionamentos. Um novo usuário recebe a função padrão, nunca administrador, e o último administrador nunca pode ser removido. Qualquer coisa destrutiva está desativada por padrão, com controle de capacidade e roteada para a Lixeira quando compatível.
- Controles de segurança opcionais. Ative um limite de taxa por minuto, uma lista de permissões de IP, um modo forçar-rascunho ou um limite de comprimento de título. Todos os quatro permanecem desativados até que você os configure.
- Nenhum conteúdo sai do seu site. O plugin não contata nenhum provedor de IA e não tem telemetria; consulte Serviços Externos abaixo para as duas solicitações de saída que ele pode fazer por conta própria.
- Duas formas de conectar. Aprove um agente via OAuth (sem segredo em arquivo de configuração) ou aponte um usuário dedicado de baixo privilégio para uma Senha de Aplicativo; uma tela guiada monta a configuração para você. Uma Senha de Aplicativo é uma credencial de todo o site com escopo apenas pela função desse usuário, então os limites deste plugin (lista de permissões, piso de alto risco, registro de auditoria) se aplicam apenas a chamadas através do seu endpoint MCP. OAuth não tem tal limite, já que um token emitido por este plugin só autentica este único endpoint.
🤖 Construído sobre a API de Habilidades do WordPress e o Adaptador MCP
O WordPress 6.9 inclui a API de Habilidades e o Adaptador MCP oficial (wordpress/mcp-adapter). Agent Abilities for MCP registra um conjunto curado e governado de habilidades sobre eles, em vez de inventar seu próprio protocolo ou servidor, então não há transporte personalizado em que confiar.
📦 179 habilidades governadas
O plugin inclui 179 habilidades governadas: 85 no núcleo do WordPress e 94 de integrações detectadas automaticamente, todas desativadas até que você as ative, com escopo, controle de capacidade e registro. Ele também pode fazer a ponte de habilidades de seus outros plugins (veja abaixo).
Núcleo do WordPress (85 habilidades). Leituras mais escritas protegidas em todo o seu site:
- 📝 Posts e Páginas: listar, ler, criar, atualizar e excluir, com ações destrutivas desativadas por padrão e exclusões roteadas para a Lixeira.
- 🏷️ Termos e Taxonomias: gerenciar categorias, tags e termos de taxonomias personalizadas.
- 💬 Comentários: ler e moderar a fila de comentários.
- 🖼️ Mídia: listar e ler a biblioteca, e adicionar imagens de dados inline ou URL HTTPS, validadas pelos seus bytes reais contra uma lista de permissões.
- 🗂️ Metadados de Posts: ler e escrever apenas chaves de metadados permitidas pelo administrador; chaves protegidas, com prefixo de sublinhado e de autenticação nunca podem ser permitidas.
- 👥 Usuários: ler e gerenciar usuários dentro dos limites de capacidade; um novo usuário recebe a função padrão, nunca administrador, e o último administrador não pode ser removido.
- 🧭 Estrutura do site: trabalhar com menus e as peças estruturais que mantêm o site unido.
- 🕓 Histórico de revisões: ler o rastro de revisões do conteúdo.
- 🧱 Blocos e Modelos: trabalhar com blocos reutilizáveis, temas e modelos.
- ⚙️ Configurações limitadas e saúde do site: um conjunto estritamente limitado de configurações, além de saúde do site e status de plugins somente leitura.
- 🔍 Busca em todo o site: uma busca que abrange todos os tipos de post de uma vez.
Integrações (94 habilidades). Detectadas automaticamente por plugin ativo, desativadas até que você as ative, com controle de capacidade, registro e presentes apenas enquanto o plugin estiver ativo:
- 🛒 WooCommerce MCP (52 habilidades): ler e escrever produtos, pedidos e clientes para ajudar a administrar sua loja. Elas tocam dados pessoais (nomes, e-mails, endereços), então ficam atrás de um aviso administrativo claro e permanecem desativadas até serem ativadas.
- 🧩 Advanced Custom Fields (7 habilidades): ler e escrever dados de campos ACF; como o WooCommerce, podem alcançar dados pessoais e ficam atrás do mesmo aviso.
- 📈 Rank Math SEO (5 habilidades): ler e gerenciar dados de SEO do Rank Math.
- 📈 Yoast SEO (3 habilidades): ler e gerenciar dados de SEO do Yoast.
- 📈 All in One SEO (3 habilidades): ler e gerenciar dados do AIOSEO.
- 📅 The Events Calendar (13 habilidades): ler e gerenciar eventos, locais e organizadores.
- 🎫 Event Tickets (3 habilidades): ler ingressos e participantes de um evento. Nenhuma escrita de compra de ingresso é exposta.
- 📈 Slim SEO (2 habilidades): ler e gerenciar dados do Slim SEO.
- 🎨 Avada / Fusion Builder (2 habilidades): ler a marcação bruta do Fusion Builder de uma página e substituir texto sem perturbar o layout de shortcodes.
- 📍 GeoDirectory (4 habilidades, desativadas por padrão): ler e gerenciar listagens de negócios e locais; permanece desativado mesmo quando ativo, ative na aba Integrações.
Mais integrações estão planejadas.
🔗 Habilidades de seus outros plugins (novo na versão 1.1.0)
O WordPress 6.9 permite que qualquer plugin registre suas próprias habilidades, não apenas este, e Agent Abilities for MCP pode trazê-las também. Habilidades de outros plugins ativos aparecem em uma tela dedicada de Outros plugins, agrupadas por plugin, todas desativadas até que você as ative - então se tornam ferramentas MCP governadas sob as mesmas regras do catálogo integrado: com escopo, verificação de capacidade, limite de taxa e registro apenas com identificadores.
Um limite que vale saber: como é o código do outro plugin que faz o trabalho, o WordPress só pode verificar a resposta de uma habilidade com ponte contra uma descrição se esse plugin publicar uma. A governança acima (permissões, escopo, limite de taxa, registro de auditoria) se aplica integralmente de qualquer forma.
Então você não está limitado às integrações incluídas aqui: qualquer plugin que fale a API de Habilidades pode ser entregue ao seu agente, com o conjunto inteiro de um plugin alternado de uma vez. O comando WP-CLI incluído wp aafm catalog export imprime as habilidades detectáveis de um site como JSON.
Páginas de construtores de página: recusadas, não silenciosamente quebradas
Elementor, Divi, Beaver Builder e Avada mantêm seu layout fora do conteúdo normal do post, então uma escrita que reporta sucesso pode deixar o front-end exatamente como estava. Desde a versão 1.7.4 o plugin verifica antes de escrever e recusa a chamada com um erro nomeando o construtor que possui a página. Isso é uma proteção, não uma integração com nenhum deles, e OptimizePress ainda não é coberto.
Conecte Claude ao WordPress
Instale o plugin, ative as habilidades que você quer que o Claude tenha, adicione o endpoint MCP do seu site como um conector personalizado no Claude e aprove o login OAuth uma vez. Sem chave de API ou arquivo de configuração. O aplicativo claude.ai, o Claude Desktop e o Claude Code compartilham esse fluxo, e o Claude só age como o usuário WordPress que o aprovou.
Conecte ChatGPT ao WordPress
Ative o Modo Desenvolvedor no ChatGPT (Configurações, depois Conectores, depois Avançado), adicione o endpoint MCP do seu site como um conector personalizado e aprove-o uma vez via OAuth - um recurso beta nos planos pagos do ChatGPT, não um limite do plugin. O ChatGPT então alcança apenas as habilidades que você ativou, agindo como o usuário WordPress que aprovou a conexão.
🔌 Conecte ChatGPT, Claude, Cursor e outros clientes MCP
Conecte qualquer cliente MCP que possa alcançar seu endpoint. Aplicativos de nuvem hospedados (ChatGPT, Claude e Manus) conectam por URL: você adiciona seu endpoint como um conector personalizado e aprova o login uma vez via OAuth, sem arquivo de configuração para editar e sem ponte para instalar. O ChatGPT precisa do modo desenvolvedor ativado, o que exige um plano pago. A entrada única do Claude cobre tanto o aplicativo web do Claude quanto o Claude Desktop, já que compartilham o mesmo fluxo de conector. Editores e clientes de linha de comando (Claude Code, Cursor, VS Code, Windsurf e Gemini CLI) conectam diretamente ou através da ponte de código aberto mcp-remote que roda na sua própria máquina. Você também pode conectar com uma Senha de Aplicativo em vez de OAuth, apontando um usuário de baixo privilégio para o endpoint. O aplicativo Gemini hospedado ainda não é compatível.
Instalação
- Envie o plugin para o diretório
/wp-content/plugins/agent-abilities-for-mcp, ou instale-o pela tela de plugins do WordPress. - Ative-o pela tela de Plugins.
- Abra o menu Agent Abilities for MCP na sua barra lateral administrativa. Na aba Abilities, ative apenas as habilidades que você quer que o agente tenha. Tudo começa desligado.
- Na aba Connection, copie o endpoint MCP do seu site. O caminho mais simples é OAuth: cole o endpoint no seu cliente MCP e aprove a conexão uma vez no navegador, onde o agente age como a sua própria conta.
- Prefere não usar OAuth, ou está em um cliente que não suporta? Crie o usuário agente dedicado de baixo privilégio que a aba Connection oferece, gere uma Application Password para ele e conecte-se com isso.
- Use a verificação de conexão na aba Connection para confirmar que o endpoint está acessível a partir do seu servidor.
Configuração
O endpoint MCP do seu site fica em um caminho fixo sob a sua REST API (substitua example.com pelo seu próprio domínio):
https://example.com/wp-json/agent-abilities-for-mcp/mcp
Aplicativos hospedados (ChatGPT, Claude e Manus) usam essa URL diretamente: adicione-a como um conector personalizado e aprove a conexão uma vez via OAuth. Editores e clientes de linha de comando usam um arquivo de configuração. O bloco padrão executa a ponte de código aberto mcp-remote na sua própria máquina, que guia você pela mesma aprovação OAuth única no navegador, então o arquivo de configuração não guarda segredo. A ponte mantém os tokens emitidos na sua própria máquina, em ~/.mcp-auth:
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://example.com/wp-json/agent-abilities-for-mcp/mcp"]
}
}
}
O VS Code usa o mesmo bloco como servers em .vscode/mcp.json em vez de mcpServers. Prefere uma Application Password em vez de OAuth? Crie o usuário agente dedicado de baixo privilégio que a aba Connection oferece e conecte-se pela ponte @automattic/mcp-wordpress-remote com as credenciais no bloco env dela:
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://example.com/wp-json/agent-abilities-for-mcp/mcp",
"WP_API_USERNAME": "your-agent-user",
"WP_API_PASSWORD": "PASTE-APPLICATION-PASSWORD-HERE"
}
}
}
}
Você não precisa escrever nenhum dos blocos manualmente: a aba Connection gera ambos, preenchidos com o seu endpoint real, com uma variante para Windows e uma verificação de acessibilidade.
Perguntas Frequentes
Mais ajuda: Documentação | Conectando um cliente | Segurança e divulgação | Fórum de suporte
Como conecto o Claude ao WordPress?
Instale o plugin, ative as habilidades que deseja na aba Abilities, copie o endpoint MCP da aba Connection e adicione-o ao Claude como um conector personalizado. Aprove o login uma vez no navegador. O aplicativo web claude.ai e o Claude Desktop usam o mesmo fluxo; o Claude Code conecta-se pela linha de comando.
O agente recebe acesso de administrador?
Não. O agente autentica-se como qualquer usuário do WordPress ao qual você o vincula. Aponte-o para o usuário dedicado de baixo privilégio que o plugin pode criar para você, e ele só poderá fazer o que esse usuário pode fazer. Cada habilidade também re-verifica a capacidade do usuário antes de executar, então uma conexão nunca pode chamar uma ferramenta que seu usuário não tem permissão de usar.
Quais controles de permissão tenho sobre o agente de IA?
O Agent Abilities for MCP oferece três camadas. Cada habilidade fica desligada até você ativá-la. O agente conecta-se como um usuário real do WordPress que você escolhe, então só pode fazer o que o papel desse usuário já permite. Cada chamada re-verifica a capacidade desse usuário antes de executar, e uma chamada que falha na verificação é negada e registrada.
Posso dar a uma conexão menos acesso do que a outra?
Sim. Além da lista global de habilidades ativadas, você pode adicionar uma lista de permissões por papel, uma lista de permissões por conexão, ou ambas, na tela Connections. Qualquer uma delas apenas restringe o que já foi ativado: uma habilidade ainda precisa passar pela lista global, depois pela lista do papel correspondente, e depois pela lista da conexão correspondente, antes que um agente possa chamá-la. Não há escopo mais granular abaixo de papel e conexão OAuth — uma Application Password herda todo o papel do seu usuário, sem limite separado por senha. Deixe a tela como está e nada muda; toda conexão existente continua funcionando exatamente como antes.
Existe um registro de auditoria do que o agente fez?
Sim. O Agent Abilities for MCP grava cada chamada de habilidade em um registro de auditoria no seu próprio banco de dados, incluindo tentativas negadas. Cada entrada registra o usuário atuante, o nome da habilidade, as chaves dos argumentos e uma nota curta do que a chamada tocou: apenas pequenos valores identificadores, como ids, nomes de meta keys, slugs e valores de status. Conteúdo de argumento em texto livre, como um corpo de post ou um endereço de e-mail, nunca é armazenado. Você pode limpar o registro pela tela administrativa.
É seguro conectar um agente de IA ao meu site WordPress?
Sim, quando a conexão é escopada, que é o que este plugin foi construído para fazer. O agente conecta-se como um usuário real do WordPress de menor privilégio que você escolhe, nunca uma chave equivalente a administrador. Cada habilidade fica desligada até você ativá-la, cada chamada re-verifica a capacidade do usuário antes de executar, e cada chamada é registrada, incluindo tentativas negadas. O plugin em si nunca detém uma chave equivalente a administrador.
O que um agente pode realmente fazer?
Apenas as habilidades que você ativou, e somente dentro das capacidades do usuário vinculado. O catálogo é de leituras e gravações protegidas sobre posts, páginas, termos, comentários, mídia, meta de posts e estrutura do site, além de histórico de revisões e uma busca que abrange todos os tipos de post de uma vez. Não há habilidade para alterar opções arbitrariamente, mudar papéis ou executar código. A única habilidade que busca uma URL remota é um upload de mídia: ela só aceita https, recusa um destino que resolva para um endereço privado, loopback ou link-local, nunca segue um redirecionamento e fica desligada até você ativá-la como qualquer outra habilidade. Um agente só pode escrever meta de posts para chaves que um administrador explicitamente permitiu, e chaves protegidas, com prefixo de sublinhado e de autenticação nunca podem ser permitidas. Exclusões movem conteúdo para a Lixeira onde a habilidade suporta, e as permanentes ficam desligadas por padrão e são limitadas por capacidade.
Um agente vai quebrar minha página do Elementor ou Divi?
Não, ele recusará a gravação. Elementor, Divi, Beaver Builder e Avada armazenam seu layout em outro lugar que não o conteúdo normal do post, então uma edição sem proteção poderia reportar sucesso enquanto não muda nada que você vê, ou corromper o markup do próprio construtor. O plugin verifica a propriedade do construtor de página antes de qualquer gravação de conteúdo e recusa a chamada com um erro nomeando o construtor que possui a página, então você descobre imediatamente em vez de descobrir depois. Edite essa página no próprio construtor dela. Isso é uma proteção de recusa, não uma integração com nenhum desses construtores, e o OptimizePress ainda não é coberto.
Como o plugin lida com ferramentas e acesso?
O Agent Abilities for MCP entrega tudo desligado, vincula o agente a um usuário do WordPress que você escolhe, re-verifica a capacidade desse usuário em cada chamada e registra cada chamada, incluindo negações. Você adiciona alcance conforme constrói confiança, não tudo de uma vez. Ele troca a quantidade bruta de ferramentas por controle que você pode auditar.
É gratuito?
Sim. O Agent Abilities for MCP é gratuito no WordPress.org, sem nível pago, sem chave de API para comprar e sem limites de uso adicionados pelo plugin.
Funciona com meus outros plugins?
Sim, para um conjunto de plugins suportados. Quando um está ativo, o Agent Abilities for MCP adiciona habilidades para ele sob as mesmas regras do núcleo: detectado automaticamente, desligado até você ativar, limitado por capacidade e registrado. Fora da caixa, ele cobre WooCommerce, Advanced Custom Fields e SEO (Yoast, Rank Math e All in One SEO). As habilidades do WooCommerce e ACF podem ler e escrever dados reais de clientes e pedidos, incluindo dados pessoais como nomes, e-mails e endereços, então ficam atrás de um aviso claro no admin e permanecem desligadas até você ativá-las. Além dessas integrações embutidas, o plugin também pode fazer a ponte de habilidades que qualquer um dos seus outros plugins registra pela WordPress Abilities API. Mais integrações estão planejadas.
Posso expor habilidades dos meus outros plugins?
Sim. O WordPress 6.9 permite que qualquer plugin registre habilidades, e o Agent Abilities for MCP pode fazer a ponte das declaradas pelos seus outros plugins ativos. Abra Other plugins no admin, onde elas são agrupadas pelo plugin que as registrou e começam desligadas. Ative uma e ela se torna uma ferramenta MCP governada sob as mesmas regras de tudo o resto: escopada ao usuário vinculado, verificada por capacidade em cada chamada, com limite de taxa e registrada. Você pode ativar ou desativar o conjunto inteiro de um plugin de uma vez, e nada é exposto até você escolher.
Um agente pode gerenciar meus eventos, ingressos ou listagens de diretório?
Sim, quando o plugin correspondente está ativo. Com o The Events Calendar ativo, um agente pode ler e gerenciar eventos, locais e organizadores; com o Event Tickets ativo, pode ler ingressos e participantes, embora nenhuma gravação de compra de ingresso seja exposta. Com o GeoDirectory ativo, pode ler e gerenciar listagens de negócios e lugares, mas essa integração fica desligada mesmo quando o plugin está ativo — você a ativa na aba Integrations, ao contrário da maioria das outras integrações, que simplesmente ficam desligadas até serem ativadas. Todas essas habilidades seguem as mesmas regras de tudo o resto: desligadas até você ativá-las, limitadas por capacidade e registradas.
Isso é o mesmo que a WordPress Abilities API, ou o adaptador MCP oficial?
É construído sobre ambos. O WordPress 6.9 traz a Abilities API e o MCP Adapter oficial; o Agent Abilities for MCP registra um conjunto curado e governado de habilidades sobre eles, em vez de inventar seu próprio protocolo ou transporte. Então não há servidor personalizado para confiar, e o plugin herda o comportamento do padrão. O que ele adiciona é a camada de governança: o catálogo desligado por padrão, a limitação por capacidade, os controles de segurança e o registro de auditoria.
Como isso é diferente de outros plugins MCP para WordPress?
A maioria dos plugins MCP para WordPress compete em quantas ferramentas podem expor. O Agent Abilities for MCP compete em controle. Tudo fica desligado até você ativar, o agente age como um usuário real do WordPress de menor privilégio em vez de uma chave equivalente a administrador, cada chamada re-verifica a capacidade desse usuário antes de executar, e cada chamada é registrada, incluindo negações. Ele se baseia na WordPress Abilities API oficial e no MCP Adapter em vez de um servidor feito à mão, então não há transporte personalizado para confiar. Ele troca a quantidade bruta de ferramentas por alcance que você pode auditar e ampliar conforme constrói confiança.
Qual é a diferença entre isso e a WordPress REST API?
A REST API expõe endpoints brutos. O MCP descreve as habilidades do seu site como ferramentas descobríveis que um agente de IA pode raciocinar e chamar, e este plugin envolve cada uma em uma camada de governança: desligada por padrão, limitada por capacidade em cada chamada e registrada. É o mesmo WordPress subjacente, governado para que um agente possa operá-lo dentro dos limites que você define.
Qual versão do WordPress preciso?
WordPress 6.9 ou mais recente, que é onde a Abilities API e o MCP Adapter oficial nos quais o plugin se baseia estão disponíveis. PHP 7.4 ou mais recente é necessário.
Quais clientes de IA funcionam?
Qualquer cliente MCP que possa alcançar o endpoint do seu site. Com OAuth, você cola a URL do endpoint no cliente e aprova a conexão uma vez no navegador. Aplicativos de nuvem hospedados (ChatGPT, Claude e Manus) conectam-se dessa forma por URL, sem ponte para instalar. Claude Desktop, Claude Code, Cursor, VS Code, Windsurf e Gemini CLI também conectam, alguns diretamente e outros pela ponte mcp-remote que roda na sua própria máquina. Você também pode conectar com uma Application Password em vez de OAuth, embora aplicativos de nuvem hospedados usem apenas OAuth. O aplicativo Gemini hospedado ainda não é suportado.
Funciona com o ChatGPT?
Sim. No ChatGPT, ative o modo de desenvolvedor, adicione seu site como um conector personalizado usando a URL do seu endpoint MCP e aprove a conexão uma vez via OAuth. Isso requer um plano do ChatGPT que permita conectores personalizados. Claude Desktop, Claude Code, Cursor, VS Code, Windsurf e Gemini CLI também funcionam, alguns diretamente e outros pela ponte mcp-remote que roda na sua própria máquina.
Preciso expor meu computador para conectar um site remoto?
Não. Seu site WordPress é o servidor MCP, então o endpoint já é público via HTTPS no próprio site, não no seu computador. Conectar um cliente hospedado como ChatGPT ou Claude a uma instalação WordPress remota significa colar a URL desse endpoint no cliente e aprovar um login OAuth no navegador. Sem túnel, sem proxy reverso, sem processo de ponte local para manter em execução. Uma ponte só é necessária para um cliente que não consegue abrir uma conexão MCP remota por conta própria, conforme abordado acima.
O ChatGPT pode editar meu site WordPress?
Apenas as partes que você permitir. O ChatGPT acessa seu site por meio de um conector personalizado que você mesmo adiciona, ele age como o usuário WordPress que aprovou a conexão e não vê nada além das habilidades que você ativou. Cada escrita é verificada por capacidade antes de ser executada e registrada no log de auditoria, e você pode interromper todas as escritas de uma vez com o modo somente leitura.
Estou no Windows e a configuração não inicia.
Os clientes MCP do Windows não conseguem iniciar o shim npx pelo nome. Envolva-o em cmd: defina command como cmd e coloque /c, npx no início de args. A aba Conexão tem uma aba Windows que gera isso para você.
Meu agente não consegue se conectar a um site local ou de staging.
Pilhas locais como DDEV, Local e Valet servem um certificado autoassinado que o Node rejeita, então o proxy nunca alcança o WordPress. Apenas para testes locais, adicione "NODE_TLS_REJECT_UNAUTHORIZED": "0" ao bloco env (a aba Conexão adiciona automaticamente quando detecta um site local). Não envie essa configuração para produção; um site público tem um certificado confiável e não precisa disso.
Meu agente não consegue se conectar e meu site está atrás do Cloudflare ou de outro CDN.
Um CDN ou firewall na frente do WordPress pode parar o agente antes que a solicitação dele chegue ao seu site. O culpado comum é a configuração "Bloquear bots de IA" do Cloudflare (e o Super Bot Fight Mode): o agente termina o login, mas a solicitação MCP dele é bloqueada na borda porque vem dos servidores do cliente de IA com um User-Agent de IA. O login aparece no Log de Atividades, e nenhuma chamada de habilidade o segue.
Para confirmar, abra o log de eventos de firewall ou segurança do seu CDN e procure uma solicitação bloqueada ao endpoint MCP do plugin (cujo caminho termina em /mcp) vinda do intervalo de IP do cliente de IA, por volta do horário em que você tentou conectar. A entrada nomeia a regra que a bloqueou.
A correção é deixar esse endpoint passar. No Cloudflare, desative "Bloquear bots de IA" em Segurança, Bots, ou adicione uma regra que ignore a proteção de bots para o caminho /mcp para que o restante do seu site permaneça coberto. Outros CDNs e plugins de segurança têm o mesmo tipo de lista de permissões ou exceção.
Existe limite de taxa?
Sim. Defina um limite por minuto na aba Configurações em "Limite de taxa (por minuto)". Cada conexão pode fazer esse número de chamadas de agente por minuto, contado por usuário de agente; 0 desativa o limite. Chamadas acima do limite são negadas e registradas na aba Log de Atividades, para que você possa identificar uma conexão que continua atingindo o limite.
Ele envia meu conteúdo para OpenAI, Anthropic ou Google?
Não. O plugin nunca se conecta à OpenAI, Anthropic, Google ou qualquer outro provedor de IA. Seu próprio cliente de IA se conecta ao seu site e chama as habilidades que você habilitou. O que seu cliente de IA faz com os resultados depois é entre você e quem fabrica esse cliente. (A única coisa que o próprio plugin pode buscar é uma URL, se você habilitar a habilidade de upload de URL — veja "Ele envia dados para algum lugar?" abaixo.)
Ele envia dados para algum lugar?
Nenhum provedor de IA e nenhuma telemetria. Seu agente fala diretamente com seu site. A única exceção é a habilidade upload-media-from-url, desativada por padrão: se você ativá-la, ela busca a URL que seu cliente de IA fornece (somente HTTPS, endereços privados e reservados recusados, sem redirecionamentos seguidos) para que esse arquivo possa ser adicionado à sua biblioteca de mídia. Essa busca é um GET HTTP comum — como qualquer solicitação a esse endereço, o destino vê a URL, o IP do seu site e quando a solicitação ocorreu — mas não carrega nenhum do seu conteúdo, credenciais ou outros dados do site; ela apenas puxa o arquivo na URL que você pediu para buscar.
O que o log de auditoria registra?
Cada chamada de habilidade, se iniciou, teve sucesso, erro ou foi negada, com o usuário atuante, o nome da habilidade, as chaves de argumento e uma breve nota do que a chamada tocou: apenas pequenos valores de identificação, como ids, nomes de chaves de meta, slugs e valores de status. Conteúdo de argumento em texto livre, um corpo de post ou um endereço de e-mail, nunca é armazenado. O log de atividades vive no seu próprio banco de dados e pode ser limpo na tela de administração.
Desinstalar o plugin revoga o acesso do meu agente?
Não por si só. Desinstalar remove as configurações do próprio plugin e o log de atividades e, somente se você ativou "Excluir dados na desinstalação" primeiro, também suas tabelas OAuth. Ele nunca remove o usuário de agente dedicado que o plugin pode criar para você, nem qualquer Senha de Aplicativo emitida para ele, porque essas são credenciais comuns de conta WordPress que existem fora dos dados do próprio plugin. Para cortar totalmente um agente, revogue a concessão OAuth dele na aba Conexão, ou exclua a Senha de Aplicativo ou a conta de usuário dele na tela Usuários, antes ou depois de remover o plugin.
Como reporto um problema de segurança?
Por favor, reporte problemas de segurança de forma privada, em vez de no fórum de suporte, para que uma correção possa ser lançada antes que os detalhes se tornem públicos. Use o contato de segurança listado neste repositório.
Serviços Externos
Este plugin não contata nenhum provedor de IA e não inclui análises ou telemetria.
Ele faz dois tipos de solicitações HTTP de saída por conta própria: a verificação de alcance da aba Conexão (uma chamada de mesma origem confirmando que seu endpoint MCP responde) e, somente quando você habilita a habilidade upload-media-from-url, desativada por padrão, uma busca da URL HTTPS exata que seu cliente de IA fornece para que esse arquivo possa ser adicionado à sua biblioteca de mídia. Essa busca é endurecida contra SSRF para alvos privados, reservados e baseados em redirecionamento, e não carrega nenhum do seu conteúdo, credenciais ou dados do site — ela apenas lê o que já é público nessa URL.
Conectar um cliente é feito pelo cliente, não por este plugin. Alguns alcançam seu endpoint diretamente; outros usam uma ponte como o mcp-remote ou @automattic/mcp-wordpress-remote de código aberto, executado em sua própria máquina e não incluído neste plugin.
Changelog
1.7.5
- Recurso: A aba Conexão troca a área de texto da lista de permissões por um seletor de caixas de seleção pesquisável e adiciona seletores de função e cliente, um controle de cópia do Client ID, tabelas paginadas e pesquisa de habilidades entre abas.
- Correção: Uma pesquisa de habilidades sem correspondência deixava o botão Salvar preso em um cartão vazio; a barra de salvar agora se esconde e retorna com os resultados.
- Correção: Os estados de hover e selecionado do seletor de cliente pareciam idênticos; o hover agora é apenas um contorno de borda.
- Correção: A ordem das habilidades agora sobrevive a um novo salvamento, uma pesquisa obsoleta é limpa na navegação por teclado, uma lista de permissões grande não renderiza mais todas as caixas de seleção no carregamento, e novos controles têm nomes acessíveis e traduções.
- Correção: Escritas de post, bloco e modelo agora confirmam o que foi aplicado, uma migração OAuth travada não pode mais reativar um interruptor que você desativou, contagens de comentários não sugerem mais comentários ocultos, e uma revogação de token falha não reporta mais sucesso.
1.7.4
- Recurso: 26 novas habilidades cobrem The Events Calendar, Event Tickets, Slim SEO, Avada e GeoDirectory, além de upload de mídia diretamente de uma URL. Todas permanecem desativadas até você ativá-las.
- Recurso: Um guarda de construtores de página recusa uma escrita que silenciosamente não faria nada em uma página de propriedade do Elementor, Divi, Beaver Builder ou Avada. Uma nova lista de permissões restringe o que cada função ou conexão pode alcançar.
- Correção: A atualização para mcp-adapter 0.6.1 corrige um bug de multisite onde uma conexão real de subsite era reportada como falha.
- Correção: Vários caminhos OAuth tratavam uma leitura de banco de dados falha como permissão concedida. Um cliente desativado, um registro de cliente ausente ou um limite de registro ilegível agora recusam a solicitação em vez de deixá-la passar.
- Correção: Concessões pertencentes a um usuário excluído são limpas, a tela Conexões mostra a função atual de cada identidade, e um lote de correções menores chega em WooCommerce, telas de administração e na aba de conexão.
1.7.3
- Correção: O plugin agora é totalmente compatível com um cache de objetos WordPress persistente (Redis, Memcached ou um drop-in do próprio host): um interruptor que você desativa permanece desativado, e uma alteração que não foi aplicada é reportada em vez de registrada como feita.
- Correção: Redefinir para padrões e excluir na desinstalação também limpam as entradas de cache de opções do próprio plugin, para que um cache obsoleto não possa trazer uma configuração de volta após uma redefinição.
1.7.2
- Recurso: A tela de consentimento que um agente vê no login foi reconstruída. Ela carrega uma marca real, seu Ícone do Site e o ícone do próprio conector quando o plugin o reconhece pelo host de redirecionamento verificado.
- Recurso: O Log de Atividades agora registra cada solicitação MCP que chega ao WordPress. Um login sem chamadas depois significa que um CDN ou firewall parou o agente antes de ele chegar.
- Correção: O ChatGPT não conseguia conectar em sites onde o registro dinâmico de cliente estava desativado. Ele tem seu próprio interruptor na aba Configurações novamente, ativado por padrão, e instalações existentes o ativam ao atualizar.
- Correção: Três bugs de conexão desapareceram: a etapa de autorização OAuth corrompia endereços de redirecionamento codificados em percentual, uma escrita de sessão falha devolvia um ID de sessão que não existia, e um esquema de ferramenta muito grande podia esgotar a memória enquanto a lista de ferramentas era construída.
- Correção: Correções menores de correção em WooCommerce, ACF e Rank Math, além de uma verificação de capacidade errada em delete-revision, opções OAuth deixadas para trás na desinstalação e um novo FAQ no readme para CDNs que bloqueiam o agente na borda.
1.7.1
- Correção: lang:"all" mediava um conjunto parcial de idiomas e ainda assim relatava sucesso. Agora ele consulta todos os idiomas WPML configurados para posts, páginas, mídia, termos, busca e produtos WooCommerce, e o auxiliar de contagem compartilhado soma todos eles.
- Correção: A visibilidade de uma ferramenta em tools/list podia divergir do que sua verificação de permissão em tempo de execução realmente permitia, em ambos os sentidos, ocultando ferramentas que um agente poderia usar e anunciando aquelas que não podia. A descoberta é reconciliada com as permissões em tempo de execução em tipos de post personalizados, páginas e campos de termo ACF.
- Correção: A rota de metadados de recurso protegido RFC 9728 retornava 404 no caminho que os agentes realmente solicitam, quebrando conexões Claude para pelo menos um usuário que a relatou. Agora ela resolve no URL com sufixo de caminho que a especificação exige.
- Correção: moderate-comment relatava falha quando um comentário já estava no estado solicitado (já aprovado, já spam e assim por diante), mesmo sem haver problema algum. Agora relata sucesso em uma operação sem efeito e não registra mais uma como erro de auditoria.
- Correção: Vários caminhos de código podiam interromper ou rejeitar uma chamada antes de terminá-la, deixando uma linha "iniciada" travada ou ilegível no log de auditoria em vez de um resultado real, inclusive em núcleos WordPress anteriores ao 7.1. Cada invocação agora recebe um token único e encerra sua linha corretamente.
- Correção: A saída em ponte da própria habilidade de um plugin de terceiros podia ocultar um objeto inseguro um ou dois níveis abaixo. A ponte agora faz recursão no resultado para encontrá-lo e recusa um objeto simples ou ambíguo em vez de assumir que é seguro. A saída em ponte não é redigida como a saída das próprias habilidades deste plugin, e o readme agora declara isso.
- Correção: Uploads de mídia agora passam pelo próprio tratamento de sideload do WordPress e re-sanitizam o conteúdo do anexo resultante, e o limite de tamanho em pixels que não correspondia mais a esse caminho foi removido.
- Correção: Um lote de correções menores de exatidão em WooCommerce, ACF, AIOSEO, Rank Math e Yoast: gravações e leituras passam pelas próprias funções de cada fornecedor em vez de rederivar seu comportamento, além de correções em descrições de ferramentas, invalidação de cache e algumas páginas que tinham o piso de descoberta errado.
- Tarefa: A desinstalação agora limpa ambos os eventos cron diários, não apenas o vinculado à exclusão de dados.
1.7.0
- Recurso: As seções na aba Habilidades agora têm um botão "Ativar todas as gravações" ao lado de "Ativar todas as leituras". Ele marca as gravações comuns e deixa exclusões e habilidades de alto risco intactas.
- Recurso: O log de auditoria registra mais. Exclusões permanentes nomeiam o que removeram, e atualizações de meta de termo, meta de usuário e configurações do site nomeiam as chaves que gravaram. Ele registra nomes e identificadores, não o texto livre que uma chamada carregava.
- Correção: Uma solicitação de autorização em andamento quando você revogava uma concessão ainda podia gerar um código, e o endpoint de token nunca re-verificava o consentimento, então esse código era resgatado em um token funcional depois que a tela dizia que a revogação havia sido bem-sucedida. O consentimento é verificado novamente no resgate.
- Correção: As configurações de gateway de pagamento retornavam chaves de credencial em camelCase por completo e não marcavam nenhuma como redigida. apiLoginID e transactionKey do Authorize.Net são o caso real.
- Correção: Quatro gravações ACF destruíam conteúdo armazenado e depois relatavam falha: um layout de conteúdo flexível irresolvível, limpeza por um endereço quase correspondente, uma verificação de meta protegida que lia o endereço do chamador em vez do ACF e uma gravação de subcampo caindo sob um nome não declarado. Todas são recusadas antes que qualquer coisa seja gravada.
- Correção: O WooCommerce contava reembolsos como pedidos, então uma loja com seis pedidos e três reembolsos relatava nove. Variações eram validadas contra um filtro de exibição em vez do produto pai, uma exclusão de variação relatava falha em caso de sucesso e uma consulta de pedido que lançava erro escapava de seu rollback.
- Correção: Duas recusas via MCP diziam "Permissão negada" quando esse não era o problema. Definir texto alternativo caía nisso porque o WordPress armazena alt sob uma chave protegida, e a recusa agora nomeia aafm-update-media. Uma chamada sem um argumento obrigatório também caía nisso e agora recebe o erro de esquema nomeando o que está faltando.
- Correção: Caracteres invisíveis são removidos do texto no caminho para o armazenamento, cobrindo campos WooCommerce, SEO e ACF, endereços de pedido e texto de post armazenado. Exclusões permanentes param de oferecer recuperação que o site não pode entregar, e uma habilidade que declara nenhum risco é tratada como exclusão permanente. Além de correções menores em zonas de envio, listagens de menu no WordPress 6.9, gravações de contêiner ACF, o assistente de primeira execução e mensagens de recusa que nomeavam a causa errada.
- Tarefa: Testado contra o WordPress 7.1. Uma passada de acessibilidade nas telas administrativas cobre operação por teclado, anéis de foco sob cores forçadas e nomes adequados em alternadores e cabeçalhos de tabela. A manutenção OAuth é mais robusta, com tabelas InnoDB para que o trabalho de token reverta e um cron de limpeza que se auto-repara em sub-sites. Um aviso agora pede uma avaliação no wordpress.org depois que o plugin carrega tráfego por um tempo, e pode ser dispensado permanentemente. Metadados de repositório de fornecedores não são mais enviados ao wordpress.org.
1.6.3
- Tarefa: Condensou o changelog para que o histórico completo de versões caiba no limite de comprimento da listagem do wordpress.org, em ambos os readmes. Mesmas versões, menos linhas, com as correções de segurança e integridade de dados ainda destacadas uma a uma.
- Tarefa: Corrigiu um comentário de código que exagerava levemente quando o short-circuit de um plugin consumidor é visível para o hook de liberação do limite de taxa.
1.6.2
- Recurso: O log de atividade administrativa pode filtrar por "Iniciada", o estado que uma chamada travada deixa para trás, correspondendo ao que a habilidade de log de atividade já expunha.
- Correção: Fechou uma lacuna de privilégio em que editar um cliente WooCommerce, ou gravar meta de usuário ou campos de usuário ACF, exigia apenas a capacidade de gerenciar WooCommerce e podia ler ou sobrescrever detalhes de qualquer conta. Isso agora exige uma capacidade real de edição de usuário e fica atrás do bloqueio de alto risco.
- Correção: O limite de taxa nos endpoints OAuth nunca tinha efeito em sites sem cache de objeto persistente, o que cobre a maioria da hospedagem compartilhada. Agora tem, e o limite por usuário não conta mais cada chamada duas vezes.
- Correção: Várias gravações WooCommerce relatavam sucesso quando nada acontecia: exclusões que não removiam nada, mudanças de status de pedido que falhavam ao aplicar e reembolsos por linha que silenciosamente se tornavam reembolsos totais. Cada uma é confirmada ou recusada antes de relatar sucesso agora, e um e-mail de cobrança inválido não apaga mais o endereço armazenado.
- Correção: Valores ruins que costumavam ser coagidos silenciosamente agora são recusados: datas de relatório de vendas e cupom não analisáveis, valores de cupom não numéricos, limites negativos, classes de imposto desconhecidas (que eram arquivadas como Padrão e mudavam o imposto no checkout) e um status de estoque definido enquanto o gerenciamento de estoque está ativo.
- Correção: Gravações de repeater, grupo e conteúdo flexível ACF salvavam suas linhas mas relatavam falha, então um agente tentaria novamente conteúdo que já havia publicado; e campos aninhados em layouts de conteúdo flexível ou clone eram sanitizados como texto simples, achatando rich text e deixando passar um link javascript:. Ambos são corrigidos, em qualquer profundidade de aninhamento.
- Correção: Apertou o que um agente pode ver e alcançar: uma ferramenta somente administrador habilitada podia vazar para a lista de ferramentas de uma conexão de privilégio inferior, uma leitura de cabeçalho SEO podia retornar para um tipo de post que o operador não havia exposto, e um chamador em IP bloqueado podia inundar o log de atividade com linhas de negação.
- Correção: A ativação em multisite agora cria as tabelas do plugin em todos os sites, incluindo sites adicionados depois; excluir um usuário relata que ele foi apenas removido do site atual em vez de totalmente excluído; e criar um usuário agente honra a configuração de adicionar novos usuários da rede.
- Correção: Corrigiu uma série de descrições de ferramentas e divulgações de operador que exageravam o comportamento (o que o log de atividade armazena, como os mapas ACF são chaveados, semântica de contagem, reversibilidade de revisão) e corrigiu um lote de defeitos menores de travamento e formato de resposta em posts, blocos, comentários, WPML e leituras SEO.
- Tarefa: Removeu comentários obsoletos e andaimes de teste mortos, e alinhou os stubs de teste WooCommerce com o que o plugin real faz.
1.6.1
- Recurso: Uma nova ação aafm_ability_resolved dispara quando uma chamada termina, para que um monitor de uptime ou um plugin de registro possa reagir a uma falha em vez de esperar alguém abrir o wp-admin.
- Recurso: A habilidade de log de atividade retorna o detalhe de cada entrada, para que um agente possa ler por que uma chamada falhou, não apenas que falhou.
- Correção: Mapas vazios de categoria, tag, campo personalizado, galeria, configurações e usuário retornavam um array onde o esquema declara um objeto, então um cliente MCP estrito rejeitava a resposta inteira. Relatado por um usuário externo como issue #81; a varredura que isso motivou corrigiu o mesmo defeito em todo o catálogo.
- Correção: Chamar uma habilidade em ponte de outro plugin com argumentos podia derrubar o site na 1.6.0, porque a ponte reescrevia o esquema do plugin de origem em um formato que o validador do núcleo WordPress não consegue ler. Essa reescrita foi removida.
- Correção: O log de atividade armazenava o texto bruto de um erro inesperado, que para um plugin como WooCommerce frequentemente cita o valor que causou a falha, como um e-mail ou um SKU. Agora registra o tipo e a localização do erro, que não podem carregar seus dados.
- Correção: Uma verificação de permissão que falhava inesperadamente retornava o erro subjacente ao agente conectado e podia esvaziar a lista inteira de ferramentas; agora nega a chamada e a registra.
- Correção: Leituras de método de envio retornavam as configurações globais legadas do WooCommerce, vazias para métodos de zona desde o WooCommerce 2.6, então um título ou custo que você acabou de gravar não aparecia; agora relatam a configuração real por instância. Uma variação não afirma mais gerenciar estoque que herda de seu pai.
- Correção: Validação de cupom e produto que costumava travar ou salvar um registro ruim agora retorna um erro limpo: um cupom percentual acima de 100 (incluindo um elevado acima de 100 por uma mudança posterior de tipo), um SKU de variação duplicado, um valor negativo e um máximo abaixo do mínimo.
- Tarefa: Corrigiu texto e um comentário de código: as duas leituras de método de envio e a nota da tela de consentimento indicam que um método carrega suas próprias configurações por instância, e o redator de configurações é descrito como a denylist de melhor esforço que é, não negação por padrão.
1.6.0
- Recurso: Modo somente leitura, um interruptor na aba Configurações que impede qualquer habilidade de gravação de se registrar como ferramenta MCP, independentemente do que estiver marcado, e cobre habilidades de outros plugins também. Ativá-lo ou desativá-lo não habilita nem desabilita nada por si só, então suas seleções sobrevivem, e terminar o Quick Connect sem escolher acesso de gravação o ativa em vez de marcar caixas.
- Recurso: Um botão "Ativar todas as leituras" nas abas Habilidades, Integrações e Ponte marca cada habilidade de leitura em uma seção e deixa as gravações intactas.
- Recurso: O cabeçalho da página declara a postura do site em cada aba (somente leitura, leitura mais gravação, ou leitura mais gravação com alto risco desbloqueado), calculada a partir do que realmente se registraria em vez da configuração armazenada. Ativar ou desativar o modo somente leitura é registrado no log de atividade.
- Correção: Um valor de reembolso com espaços ao redor é agora aparado antes da verificação numérica, várias listas que podiam ordenar diferente no PHP 7.4 do que no 8.x ordenam igual em todos os lugares, e uma habilidade de outro plugin que retorna um formato inesperado é capturada e relatada em vez de falhar mais adiante.
- Tarefa: A versão mínima do PHP agora é 7.4, reduzida de 8.0. A aba Configurações é reorganizada com controles de Segurança em destaque, a aba "Outros plugins" tem seu próprio nome e ícone, e a listagem lidera com o que o plugin oferece em vez do enquadramento genérico "para agentes de IA".
1.5.0
- Recurso: Oito habilidades do WooCommerce que movem dinheiro ou concedem autoridade (reembolsos, status e atualizações de pedidos, configurações de gateway de pagamento, criação e atualização de cupons e taxas) agora estão bloqueadas por padrão atrás de um único interruptor mestre auditado na aba Configurações.
- Recurso: O log de atividades registra alternâncias de habilidades e alterações de configurações, não apenas chamadas, com uma coluna de detalhes que nomeia o que mudou e vincula cada identificador à sua tela de edição, e pode ser exportado como CSV carregando o filtro atual.
- Recurso: Uma tentativa falha de Application Password contra o endpoint MCP agora é registrada e limitada por IP de origem, para que uma execução de preenchimento de credenciais não inunde o log.
- Correção: Criar um cliente WooCommerce agora exige a capacidade create-users, e listar ou ler um exige list-users, fechando uma lacuna que permitia a um chamador com apenas manage-WooCommerce ler o e-mail, endereço e telefone de qualquer usuário, incluindo administradores. Um Shop Manager padrão é negado em ambos os casos onde antes não era.
- Correção: Configurações de gateway de pagamento e envio podiam retornar segredos sob nomes de campos que a lista de redação não cobria, como passphrase e salt, e excluir uma variação de produto não verificava a capacidade do chamador naquele produto específico. Ambos foram corrigidos.
- Correção: Uma série de defeitos no log de administração: um identificador podia vincular ao objeto errado, as colunas Evento e Detalhe podiam desalinhar após filtragem, uma exportação grande podia truncar parecendo completa, e as contagens não atualizavam até recarregar.
- Tarefa: Esclarecido o texto sobre o que um Application Password concede, que desinstalar não revoga o acesso por si só, e que o escopo solicitado de uma concessão OAuth não limita o token; a nota da configuração de limite de taxa informa que ela vem desativada com um valor inicial sugerido.
1.4.3
- Correção: Leituras de mídia entregavam toda a biblioteca a qualquer um que pudesse enviar um arquivo ou editar uma postagem; um agente conectado como autor agora vê apenas o que enviou, e a contagem de mídia segue a mesma regra. Excluir um produto WooCommerce verifica se aquele produto específico era seu para excluir.
- Correção: Um SKU de produto duplicado ou código de cupom agora retorna uma mensagem nomeando a colisão em vez de um erro não capturado, e uma habilidade em ponte que respondia com uma lista simples onde o protocolo pede um objeto é sempre moldada como objeto antes de chegar ao fio.
- Correção: O ponteiro de erro 401 OAuth comparava o caminho da requisição com sensibilidade a maiúsculas, então uma requisição com maiúsculas diferentes não recebia ponteiro, e a resposta de autorização omitia o emissor que a RFC 9207 exige. Ambos foram corrigidos, também em redirecionamentos de erro.
- Tarefa: Reforçadas as verificações de build que protegem essas ferramentas, incluindo uma que passava silenciosamente qualquer habilidade cujo código não pudesse ler.
1.4.2
- Recurso: Cada entrada em cada ferramenta agora se explica, todas as 505, onde antes apenas três habilidades eram totalmente documentadas.
- Correção: O status da postagem era ignorado na criação: "criar uma postagem como rascunho" publicava ao vivo e relatava sucesso. A criação agora honra o status que você pede, trata agendamento e privado como publicação, e recusa um status que seu usuário não pode publicar, também em tipos de postagem personalizados.
- Correção: Atualizar um pedido WooCommerce com line_items adicionava itens em vez de alterá-los, aumentando silenciosamente o total; agora há um campo claro add_line_items, e uma requisição misturando IDs de produto válidos e inválidos é totalmente validada antes que qualquer coisa seja escrita. Um tipo de produto que não corresponde ao produto retorna um erro em vez de ser descartado.
- Tarefa: Adicionada uma verificação de build que falha quando qualquer entrada de ferramenta fica sem documentação, para que isso não volte a ocorrer.
1.4.1
- Correção: Erros OAuth voltavam no formato {code, message, data} do WordPress em vez do formato {error, error_description} que a RFC 6749 exige, então nenhum cliente OAuth padrão podia lê-los; relatado como issue #68, e errado desde o primeiro lançamento. Um corpo JSON malformado para uma rota OAuth escapava com o mesmo formato errado e sem cabeçalhos de cache.
- Correção: Respostas que carregam uma credencial estavam sem Pragma: no-cache ao lado de Cache-Control: no-store, incluindo a resposta de token.
- Correção: Chamar uma ferramenta que não existe ou está desligada retornava HTTP 404, que a especificação MCP reserva para uma sessão morta, então um erro comum dizia ao cliente para reconectar; agora retorna o erro certo. O documento de descoberta OAuth não anuncia mais um endpoint de registro de cliente quando o registro dinâmico está desligado.
- Correção: Cada habilidade agora declara openWorldHint false, que o esquema MCP de outra forma lê como "pode alcançar a internet aberta", o oposto do que o plugin realmente faz.
- Tarefa: Respostas OAuth com limite de taxa agora enviam Retry-After.
1.4.0
- Recurso: Um assistente Quick Connect de primeira execução conecta um novo administrador em uma tela: ative OAuth e copie o endpoint, ou crie um usuário agente dedicado e gere um application password, depois ligue leituras de conteúdo e, se quiser, escritas. Um ponteiro de menu cumprimenta uma instalação nova e aponta para a página do plugin.
- Correção: O passo de integração "Conecte seu agente" e a contagem de "Usuários agente" não leem mais qualquer application password como um agente conectado; eles rastreiam os usuários agente que este plugin criou ou uma conexão OAuth aprovada, então uma senha não relacionada para de mostrar um falso "concluído" ou inflar a contagem.
1.3.2
- Recurso: Leituras de conteúdo (postagens, páginas, busca, termos, mídia, produtos) agora aceitam um argumento opcional de idioma e relatam qual idioma retornaram, e uma leitura de item único pode buscar uma tradução específica. Sites sem WPML não são afetados.
- Correção: Em um site WPML, as listas de conteúdo retornavam apenas o idioma padrão enquanto os contadores relatavam todos os idiomas; as contagens agora correspondem ao idioma retornado, e as ferramentas de itens de menu não relatam mais uma falha falsa quando o filtro de idioma do WPML esconde o novo item da releitura.
- Tarefa: Adicionado um teste de contrato com WPML real e uma proteção que falha o build se uma habilidade somente leitura começar a escrever.
1.3.1
- Recurso: Habilidades do WooCommerce agora exigem WooCommerce 9.1 ou mais novo; abaixo disso elas simplesmente não registram, com uma razão clara na tela de Integrações em vez de um erro fatal.
- Recurso: O log de atividades atribui cada chamada ao seu cliente OAuth, mostra uma contagem de resultados para chamadas de lista e leitura, e deixa um marcador quando o log é limpo.
- Correção: Uma série de correções do WooCommerce: listar clientes pode filtrar por função para que um cliente em outra função permaneça visível, a autoria de notas de pedido é detectada corretamente, a ordem de exibição real e os valores salvos de um gateway de pagamento são relatados, o executor de reembolso não trava mais em um gateway sem método de imposto, e atualizações de atributos de produto funcionam entre versões do WooCommerce.
- Correção: Correções de SEO e conteúdo: os caminhos de cabeçalho e verificação de escrita do Rank Math e AIOSEO retornam um erro claro ou aceitam uma normalização benigna em vez de uma falha falsa, o pai de um termo deve pertencer à mesma taxonomia, count-media ignora a lixeira, upload-media falha claramente sem a extensão fileinfo, e update-site-settings relata falha quando o WordPress reverte silenciosamente um valor.
- Correção: Correções de administração e OAuth: habilidades de uma integração inativa sobrevivem a um salvamento de formulário, o seletor de usuário agente encontra usuários além da primeira página, uma linha filtrada é realmente ocultada, tentativas de bearer OAuth negadas são registradas, e a tela de consentimento e o redirecionamento de código nunca são armazenados em cache.
- Tarefa: Adicionada uma suíte de testes de contrato com fornecedores reais que roda contra código fixado de WooCommerce, Rank Math, AIOSEO e ACF para pegar regressões de formato de API antes do lançamento, e parou de enviar os metadados do pacote Node do mcp-adapter no zip.
1.3.0
- Recurso: A tela de consentimento OAuth avisa quando a conta que aprova uma conexão é administradora, a tela de configurações avisa antes que um bloqueio da REST API corte suas conexões OAuth, e o diretório Abilities Bridge mostra a permissão efetiva de cada habilidade em ponte.
- Correção: Novas instalações agora vêm com OAuth desligado por padrão, enquanto sites que já o tinham ativado o mantêm, e um caminho de phishing de concessão de consentimento que podia fazer um administrador aprovar um cliente malicioso está fechado.
- Correção: Governança endurecida: a porta de capacidade MCP verifica se o adaptador em execução ainda aplica seu filtro em vez de confiar em uma correspondência de texto, update-user exige edit_users, e uma habilidade em ponte sem anotação destrutiva é tratada como destrutiva em vez de assumida segura.
- Correção: Leituras do WooCommerce que falhavam em toda loja real são corrigidas: listagem de clientes (chamava uma função que o WooCommerce não tem), zonas de envio vazias, paginação de pedidos ignorada no armazenamento legado, e atributos de produto descartados na criação e apagados na atualização.
- Correção: Correções de SEO e conteúdo: o robots_noindex do Yoast estava invertido, então um agente escrevia o oposto do que pedia, imagens sociais do Rank Math e AIOSEO renderizam agora porque o plugin escreve o ID do anexo, escritas numéricas e booleanas do ACF pararam de relatar falha falsa, uma atualização parcial de item de menu não apaga mais campos intocados, e a verificação de publicação de página reconhece status públicos personalizados.
1.2.1
- Tarefa: O link do site do plugin agora aponta para agentabilitieswp.com em vez do repositório GitHub.
- Tarefa: Documentação atualizada para que a lista de clientes suportados corresponda ao que funciona: ChatGPT, Claude (o aplicativo web claude.ai e o Claude Desktop) e Manus conectam por URL via OAuth, enquanto Claude Code, Cursor, VS Code, Windsurf e Gemini CLI conectam da sua própria máquina.
1.2.0
- Recurso: Adicionado ChatGPT como opção de conexão e uma única entrada Claude que cobre tanto o aplicativo web quanto o Claude Desktop; aplicativos hospedados conectam por URL via OAuth, então não mostram mais os passos de application password, e o Manus conecta da mesma forma.
- Correção: Visitantes desconectados podiam ver "There has been a critical error" em todas as páginas quando outro plugin ativo verificava o usuário atual muito cedo no carregamento (The Events Calendar é um exemplo); o plugin agora espera terminar de carregar.
- Correção: A tela de Configurações salva corretamente os interruptores Enable OAuth, Dynamic Client Registration e validação estrita de blocos agora (eles estavam sendo desligados ao salvar), e não há mais tela branca quando o plugin standalone MCP Adapter está ativo junto com este.
- Correção: Reforçado o escopo de tokens OAuth para que um token de acesso MCP só possa autenticar o endpoint MCP e nunca outra rota REST, fechada uma condição rara que podia esgotar a memória durante a configuração da conexão, e publicação agora sempre exige permissão de publicação, incluindo para status públicos personalizados de postagem. Blocos válidos de Cover e Media & Text não são mais sinalizados como inválidos.
- Tarefa: Reforçados os auxiliares de trechos de conexão.
1.1.1
- Agentes de IA que escrevem páginas, postagens ou modelos agora são direcionados a manter o estilo de blocos nos atributos do bloco em vez de CSS inline, o erro que fazia os blocos mostrarem "conteúdo inesperado ou inválido" no editor.
- A marcação de blocos é verificada antes de ser salva, e qualquer coisa que quebraria no editor é sinalizada de volta ao agente para corrigir na próxima tentativa.
- Uma nova opção estrita sob controles de Segurança rejeita uma escrita diretamente quando sua marcação de bloco seria inválida, desligada por padrão para que sites existentes fiquem inalterados.
1.1.0
- Faça a ponte de habilidades de seus outros plugins: qualquer plugin ativo que registre habilidades por meio da API de Habilidades do WordPress agora pode ser exposto como uma ferramenta MCP governada, opt-in por habilidade e desativado por padrão, em uma nova tela "Habilidades de outros plugins" agrupada pelo plugin de origem.
- Ative ou desative as habilidades de um plugin inteiro de uma só vez, com o nome de cada plugin de origem exibido em maiúsculas e minúsculas.
- As habilidades em ponte operam sob a camada completa de governança: uma reavaliação de capacidade em cada chamada, limitação de taxa e o mesmo log de auditoria do catálogo integrado.
- Adicionado um exportador de catálogo WP-CLI,
wp aafm catalog export, que lista as habilidades detectáveis de um site como JSON. - Marca atualizada com um novo ícone, banner e uma marca correspondente no menu administrativo.
- Adicionado um blueprint do WordPress Playground para que a página do plugin possa oferecer uma prévia ao vivo com um clique.
1.0.0
- Lançamento inicial. 153 habilidades governadas: 83 no núcleo do WordPress (leituras e gravações protegidas para posts, páginas, termos, comentários, mídia, usuários, metadados de posts, revisões, blocos, modelos e estrutura do site, além de uma pesquisa que abrange todos os tipos de post), e 70 de integrações auto-detectadas para WooCommerce, Advanced Custom Fields, Yoast, Rank Math e All in One SEO. Construído sobre a API de Habilidades do WordPress e o Adaptador MCP oficial, sem transporte personalizado. Conecte-se via OAuth no navegador ou com um usuário de Senha de Aplicativo com privilégios mínimos. Tudo desativado por padrão, controle de capacidade em duas camadas, filtragem de ferramentas por conexão, controles de segurança opcionais (limite de taxa, lista de permissões de IP, rascunho forçado, limite de comprimento de título), um log de auditoria que registra negações e uma tela de conexão guiada com diagnósticos.
