From 9741b4761d52fba372b0b432e04bbd1436a9d8af Mon Sep 17 00:00:00 2001 From: Emanuel Almeida Date: Wed, 19 Aug 2026 06:30:09 +0100 Subject: [PATCH] feat(wordpress): nova skill mcp-full-cliente MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Documenta as 9 tools do MCP dedicado multi-site (mcp-full-cliente, porta 3204) para gestão do broker de licenças WordPress premium (full-customer, api.full.services) — estado de ligação, plugins geridos, catálogo, extracto de licenças da conta e reactivação controlada. --- wordpress/.claude-plugin/plugin.json | 2 +- wordpress/skills/mcp-full-cliente/SKILL.md | 62 ++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 wordpress/skills/mcp-full-cliente/SKILL.md diff --git a/wordpress/.claude-plugin/plugin.json b/wordpress/.claude-plugin/plugin.json index 7c33bd9..822d820 100644 --- a/wordpress/.claude-plugin/plugin.json +++ b/wordpress/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "wordpress", "description": "WordPress development, maintenance and optimization - plugins, themes, WooCommerce, Elementor, Crocoblock, EMCP Tools MCP (page building, content ops, security/performance audit), Elementor Pro/ElementsKit/PowerPack widget catalogs. Backed by NotebookLM notebooks.", - "version": "1.7.1", + "version": "1.8.0", "author": { "name": "Descomplicar - Crescimento Digital", "url": "https://descomplicar.pt" diff --git a/wordpress/skills/mcp-full-cliente/SKILL.md b/wordpress/skills/mcp-full-cliente/SKILL.md new file mode 100644 index 0000000..cba3d68 --- /dev/null +++ b/wordpress/skills/mcp-full-cliente/SKILL.md @@ -0,0 +1,62 @@ +--- +name: mcp-full-cliente +description: MCP dedicado (HTTP StreamableHTTP local, ligação `full-cliente` em ~/.claude.json, porta 3204) para gestão do plugin FULL.Cliente (full-customer, broker de licenças WordPress premium, api.full.services) no cluster CWP — ligação de sites, extracto real de licenças da conta, catálogo activo, plugins geridos e reactivação controlada via WP-CLI/wp eval sobre full-customer. Usar quando "full cliente", "licença full", "licenças compradas", "reactivar licença", "extracto licenças", "ligar site à full", "desligar site full", "auditoria licenças frota", ou qualquer consulta/gestão de licenças premium geridas pelo broker FULL.Cliente. +layer: wiki +--- + +# /mcp-full-cliente — MCP dedicado FULL.Cliente (broker de licenças WordPress) + +Projecto em `/media/ealmeida/Dados/Dev/mcp-full-cliente/` (TypeScript, SDK MCP +oficial, StreamableHTTP, porta `3204`). Substitui os comandos manuais +`wp eval-file` documentados na skill de conhecimento `full-cliente` por tools +estruturadas e tipadas com validação Zod. + +**Multi-site:** aceita o parâmetro `site` em todas as tools (default: +`descomplicar.pt`). Sites suportados: `descomplicar.pt`, +`starter.descomplicar.pt`, `emanuelalmeida.pt`, `ccv.descomplicar.pt`, +`care.descomplicar.pt`, `ecommerce.descomplicar.pt`, +`ecommerce-demo.descomplicar.pt`, `e-commerce.descomplicar.pt`. + +## Regra de ouro: "geridos" ≠ "comprado" + +- `fc_list_managed_plugins` (`plugin-repository/updates`) — plugins cujo + updater está actualmente substituído pela FULL **neste site**. +- `fc_get_account_licenses` (`account/licenses-extract`) — **fonte de verdade + da conta**: extracto de produtos comprados, licenças disponíveis e lista de + domínios em uso por produto. + +## Tools (9) + +### Leitura (6) +1. `fc_connection_status` — estado da ligação do site à FULL (`fc/connection-email` no usermeta de admin ou option legado) e email/user associados. +2. `fc_list_managed_plugins` — plugins geridos neste site específico. +3. `fc_list_catalog` — catálogo completo da FULL com pesquisa por nome/slug. +4. `fc_get_account_licenses` — extracto real de licenças da conta (compradas, disponíveis, domínios em uso por produto). +5. `fc_audit_fleet_licenses` — agregação dos domínios activos em toda a conta vs sites do cluster. +6. `fc_list_supported_sites` — lista estática dos sites suportados e caminhos de docroot. + +### Escrita com guardas (3) +7. `fc_connect_site` — liga um site à conta partilhada (`it@descomplicar.pt`), descobrindo automaticamente o ID de admin local ou aceitando `user_id`. Grátis (não consome licenças). +8. `fc_disconnect_site` — desliga localmente (requer `confirm: true`). **Aviso:** não liberta licenças no servidor da FULL (para libertar um domínio é necessário suporte da FULL). +9. `fc_reactivate_plugin` — reactiva licença de um plugin suportado de passo único (`astra-addon`, `seo-by-rank-math-pro`, `advanced-custom-fields-pro`, `wp-rocket`, `perfmatters`, `wpforms`, etc.). Requer `confirm: true` porque consome licença e abre ticket Zendesk na FULL. Exclui fluxos multi-step como `elementorPro` (OAuth) e `essentialAddons` (OTP). + +## Credenciais + +`.env` local (`WP_SSH_HOST=server`), sem tokens/API keys próprios — a +autenticação usa a sessão SSH root já configurada e o token de ligação +armazenado no usermeta do WordPress de cada site ligado. + +## Verificação + +Construído e testado ponta-a-ponta contra a API real da FULL e os sites +`descomplicar.pt` e `emanuelalmeida.pt` em 19-08-2026: 13/13 evaluations +automatizadas (`npm run eval:ci`). Deploy como processo `hub` persistente +(`mcp-full-cliente`, porta 3204, `http://127.0.0.1:3204/mcp`), registado em +`~/.claude.json` como `full-cliente`. + +## Skills relacionadas + +- `full-cliente` — skill de conhecimento profundo do broker: arquitectura do + plugin `full-customer`, endpoints da API `api.full.services`, fluxos + multi-step (OAuth Elementor Pro), e diagnóstico de licenças de fabricante + directo vs CodeCanyon vs FULL.