Skip to content

Releases: marreiradigital/mrr-mcp-builders

v1.8.1

Choose a tag to compare

@marreiradigital marreiradigital released this 21 Jul 00:52

Correção do conector OAuth (Claude.ai / ChatGPT)

Conectar o Claude.ai/ChatGPT como conector falhava — tipicamente com "não foi possível registrar no serviço de login" ou, quando passava do registro, "cliente não aprovado" na primeira tentativa.

  • A primeira conexão não falha mais. O cliente OAuth nascia "pendente" e a tela de autorização recusava clientes pendentes — mas o app registra e vai direto para a autorização no mesmo fluxo. Agora a própria tela de consentimento (só acessível a um administrador logado, que vê o app, o redirect e os escopos) já aprova o cliente ao autorizar. Apenas clientes revogados continuam bloqueados.
  • Registro dinâmico (DCR) mais tolerante: o limite subiu de 5 para 20 por hora por IP — o app registra um cliente novo a cada tentativa, e 5/h travava reconexões legítimas com temporarily_unavailable.
  • Falhas de OAuth agora vão para o audit log (registro, autorização e token), com o motivo — para diagnosticar conexões que não completam.
  • A permissão options (1.8.0) passou a ser anunciada no discovery OAuth.

Recomendado para quem conecta via Claude.ai / ChatGPT. Sem quebras.

v1.8.0

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 19:31

Poder total do CLI sobre plugins e ferramentas de terceiros

Esta versão resolve um ponto que vinha do feedback: o CLI geral não aparecia para a IA conectada por conector, e não alcançava a configuração/dados dos plugins de terceiros.

  • O CLI geral agora aparece como tools MCP. Com o CLI ligado (enable_general_cli), as operações passam a aparecer no tools/list como tools wp_*wp_list_plugins, wp_activate_plugin, wp_create_post, wp_update_option, wp_db_query, wp_exec_php e outras. Antes o CLI só existia como rotas REST, invisível para conectores puros (Claude.ai / ChatGPT), que só chamam o que está no tools/list. Agora a IA conectada por conector controla plugins, temas, conteúdo, banco e configuração direto pelo MCP.
  • CRUD de configurações (wp_options) — nova ability options. É onde praticamente todo plugin de terceiro guarda a config (WooCommerce, Yoast, WPForms…). Ler, buscar por trecho do nome, escrever e remover options. Segredos são redigidos na leitura; as options do próprio plugin são protegidas.
  • Meta privada e de terceiros. Ler e gravar _price, _sku, _stock (WooCommerce), _yoast_wpseo_* e campos ACF; term meta e user meta (com proteção contra escalonamento de privilégio).
  • O CLI enxerga todos os CPTs. Listar posts sem informar o tipo agora inclui os CPTs internos de plugins, e a criação aceita qualquer post type registrado.

Segurança: a autorização das tools passou a ser conferida por tool (ability do token + trava dupla), cobrindo inclusive os sub-comandos do run_batch. Os poderes perigosos continuam desligados de fábrica (master switch + ability + flags específicas). Sem quebras de compatibilidade.

v1.7.0

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 18:22

O que muda para quem usa

  • Termo de Responsabilidade com aceite obrigatório no painel. O primeiro acesso pede o aceite (registrado com usuário, data, IP e versão do termo). Quem já usa o plugin vê a tela uma única vez após atualizar — os endpoints MCP continuam funcionando normalmente nesse meio-tempo.
  • Wizard guiado ramificado. Configuração passo a passo do zero ao autoteste: termo → builder → tier de IA → escolha da conexão (token manual para Claude Code/Cursor/VS Code, ou conector OAuth para Claude.ai/ChatGPT), com URLs e um bloco de instruções prontos para copiar e colar na IA. O botão "Rever guia" reabre o assistente quando quiser.
  • Visual repaginado. Tema claro creme/terracota como padrão e modo escuro automático (com toggle) — no painel, na tela de autorização OAuth e no site da documentação.
  • Skill dinâmica. GET /skill agora entrega o documento com as URLs reais do seu site: a IA só precisa da URL da skill; todos os endpoints vão listados nela com o domínio certo. O /describe também lista os quatro endpoints, com a skill primeiro.
  • A skill instrui explicitamente a montar interfaces completas em um único run_batch, evitando bloqueio por rate-limit de hosts durante a estilização.
  • Nova seção "Aviso Legal" no readme do plugin.

Sem quebras de compatibilidade — tokens, conectores e integrações existentes continuam funcionando.

v1.6.2 — corrige tools/list rejeitado por clientes estritos (Claude Code)

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 16:40

Instalação: baixe marreira-mcp-builders.zip abaixo e envie em Plugins → Adicionar novo → Enviar plugin. Se você está na 1.6.0+, o próprio painel oferece esta atualização.

Atualize se o seu cliente MCP conecta mas não mostra nenhuma tool.

Correção

Clientes MCP com validação estrita não carregavam nenhuma tool.

As tools sem argumentos declaravam inputSchema.properties como array vazio do PHP, e o json_encode serializa isso como []. O JSON Schema exige que properties seja um objeto ({}), então clientes que validam de verdade — o Claude Code, por exemplo — recusavam o tools/list inteiro, não só a tool problemática.

O sintoma enganava: o servidor conectava normalmente e nenhuma tool ficava disponível.

Status: ! Connected · tools fetch failed
Issue: Invalid input: expected record, received array (at tools.15.inputSchema.properties)

Eram 11 tools nos dois builders, e o /describe sofria do mesmo problema — não só o tools/list.

Documentação

  • Nova seção Problemas comuns no README, com este sintoma e com uma dica para hosts LiteSpeed: o throttle por user-agent pode retornar 429 durante o handshake do Claude Code, antes de a requisição chegar ao plugin. Registrar o MCP com um User-Agent próprio resolve.

Reportado por @HermesMacedo em #1 — com diagnóstico, reprodução e patch. Obrigado.

Changelog completo: CHANGELOG.md

v1.6.1 — corrige o link do autor no painel

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 15:32

Instalação: baixe marreira-mcp-builders.zip abaixo e envie em Plugins → Adicionar novo → Enviar plugin.

Se você já está na 1.6.0, o próprio painel do WordPress oferece esta atualização — não precisa baixar nada.

Correções

  • Author URI apontava para um endereço fora do ar. A 1.6.0 corrigiu só o Plugin URI; o link do nome do autor na lista de plugins continuou quebrado para todos os usuários. Agora Plugin URI, Author URI e Update URI apontam todos para o site do plugin.
  • O link do autor no modal "Ver detalhes" passou a sair do próprio manifesto de atualização, em vez de repetir a URL no código.

Changelog completo: CHANGELOG.md

v1.6.0 — atualização pelo painel do WordPress

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 14:48

Instalação: baixe marreira-mcp-builders.zip abaixo e envie em Plugins → Adicionar novo → Enviar plugin.

Esta é a última vez que você precisa atualizar na mão. A partir da 1.6.0 o plugin passa a oferecer "Atualizar agora" direto no painel do WordPress.

Atualização pelo painel

O plugin não está no WordPress.org, então até agora atualizar era baixar o zip e reenviar — e quem instalou não ficava sabendo que saiu versão nova, inclusive correção de segurança.

  • "Atualizar agora" no wp-admin, servindo o zip destas Releases.
  • Coluna "Atualizações automáticas" do WordPress passa a funcionar para este plugin (é a nativa do núcleo).
  • Link "Checar atualização" nas ações do plugin, para checagem imediata (a checagem normal fica 12h em cache).
  • "Ver detalhes da versão" abre o modal com as informações e o link das notas da release.

Usa o mecanismo oficial do WordPress para plugins hospedados fora do WordPress.org (header Update URI: + filtro update_plugins_{hostname}, disponível desde a WP 5.8) — não um hack no transient de updates. De quebra, isso impede que um plugin homônimo publicado no WordPress.org sequestre as atualizações deste.

A checagem lê um manifesto servido pelo próprio site do plugin, não a API do GitHub: a API limita a 60 requisições por hora por IP, e em hospedagem compartilhada vários sites saem pelo mesmo IP — a checagem falharia justo em quem mais precisa.

Segurança

  • O manifesto de atualização diz o que instalar, mas não de onde: o pacote é recusado se não vier das Releases deste repositório. Sem essa trava, um comprometimento do site que serve o manifesto viraria execução de código arbitrário em todo site com o plugin.

Correções

  • Plugin URI apontava para um endereço fora do ar (erro 520), deixando quebrado o link "Visitar site do plugin" que aparece no painel de todo usuário. Agora aponta para o site do plugin.
  • Os links de versão do changelog apontavam para o mesmo endereço fora do ar; agora vão para a tag da release.

Changelog completo: CHANGELOG.md

v1.5.1 — auditoria completa (13 + 10 correções)

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 14:21

Instalação: baixe marreira-mcp-builders.zip abaixo e envie em Plugins → Adicionar novo → Enviar plugin.

Atualize se você usa o conector OAuth. Até a 1.4.0, revogar um conector no painel não cortava o acesso: o refresh token continuava rotacionando indefinidamente.

Roda em PHP 7.4, 8.0, 8.1, 8.2, 8.3 e 8.4 (o php -l roda em todas a cada push).

Correções de segurança

  • Revogar um conector não cortava o acesso. O Rest_Guard nunca consultava o status do client e o refresh continuava rotacionando — cada rotação renovava por mais 30 dias. Acesso permanente apesar da revogação.
  • A trava dupla sumia na renovação do token. Desligar allow_php_exec não tirava o escopo exec de uma conexão OAuth já existente: a trava valia só na emissão inicial.
  • Bricks: desligar o anti-RCE liberava injeção de <script> no <head>. O toggle existe para permitir o elemento Code (que entra inerte e exige assinatura manual), mas desativava junto a checagem das page settings — e customScriptsHeader executa sem assinatura nenhuma.
  • Headers de proxy sem validação. Com MMCB_TRUST_PROXY, dava para mandar X-Real-IP: <ip da allowlist> e furar a allowlist. A constante agora aceita uma lista de IPs de proxy.
  • Ativar snippet contornava allow_php_exec. Snippet ativo executa PHP em toda requisição; agora exige a mesma flag do /exec/php.
  • Elementor: árvores sem limite de profundidade derrubavam o processo antes de qualquer validação.
  • safe_theme_path() validava só o diretório pai imediato — um symlink acima permitia gravar fora do tema.

Correções

  • /cli/db/query executava um SQL diferente do pedido. As strings literais eram esvaziadas para análise e a versão esvaziada é que era executada: WHERE post_status = 'publish' virava = ''. Toda query com literal voltava vazia ou errada, sem erro — a IA concluía que a tabela estava vazia.
  • Elementor: CPTs eram gravados como documento de página, e o Elementor abria com a classe errada.
  • Bricks: o gerador de ID ignorava os IDs já em uso — colisão fazia insert/duplicate falhar com "Id duplicado".
  • state='0' era descartado do redirect OAuth, violando a RFC 6749.
  • uninstall.php deixava as duas tabelas OAuth no banco.
  • Tokens OAuth acumulavam sem limpeza (cada renovação insere uma linha).
  • Rate limit tinha corrida em requisições simultâneas; throttle não contava token revogado.
  • MCP: notifications/initialized com id não recebia resposta.
  • Painel: horários misturavam fusos (token de 1h aparecia expirando 4h depois).

Novo

  • A aba Conectores mostra conexão de verdade: conectado / desconectado / nunca conectou / acesso revogado, com a data do último uso. Antes ela só mostrava o status de registro e nunca dizia se o app tinha realmente conectado.
  • CI roda php -l em 7.4/8.0/8.1/8.3/8.4 a cada push, com um job que trava o Requires PHP do header, do readme e o piso da matriz no mesmo valor.

Changelog completo: CHANGELOG.md

v1.5.0

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 14:19

Versão 1.5.0 do MarreiraMCP Builders. Veja o CHANGELOG para os detalhes desta versão.

v1.4.0

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 14:19

Versão 1.4.0 do MarreiraMCP Builders. Veja o CHANGELOG para os detalhes desta versão.

v1.3.1

Choose a tag to compare

@marreiradigital marreiradigital released this 16 Jul 14:19

Versão 1.3.1 do MarreiraMCP Builders. Veja o CHANGELOG para os detalhes desta versão.