MCP - Model Context Protocol for Joomla!
Um plugin Joomla que fornece uma API baseada em tarefas para gerenciar conteúdo e conectar-se com IA, automação de fluxos de trabalho e ferramentas internas.
Documentação
MCP - Model Context Protocol para Joomla!
O MCP é um plugin de sistema leve e poderoso para Joomla que fornece um Model Context Protocol — uma API simples baseada em tarefas para gerenciamento de conteúdo. Ele atua como uma ponte simplificada entre seu site Joomla e o mundo moderno de IA, automação de fluxos de trabalho e ferramentas internas. Saiba mais em Model Context Protocol.
O Problema
A API REST integrada do Joomla é abrangente, mas sua complexidade pode ser um obstáculo para integração rápida. Agentes de IA modernos e plataformas de automação de fluxos de trabalho prosperam com "ferramentas" ou endpoints simples e previsíveis para executar ações específicas. Eles precisam de um protocolo claro para interagir com fontes de dados externas sem exigir configurações complexas e específicas de cada serviço.
A Solução: MCP (Model Context Protocol)
O MCP estabelece um protocolo simples para modelos e serviços de IA interagirem com seu conteúdo Joomla. Ele fornece uma API plana de endpoint único, onde uma ação é especificada por um parâmetro task. Esse design torna incrivelmente fácil para qualquer aplicativo criar, atualizar ou recuperar artigos e categorias — fornecendo e recebendo contexto por meio de um protocolo padronizado.
Ele autentica usando o sistema nativo de Token de API do Joomla, garantindo que todas as operações sejam seguras e respeitem os níveis de permissão do usuário associado ao token.
Principais Recursos
- Protocolo Simples: Sem rotas RESTful complexas para aprender. Apenas uma URL e um parâmetro
task. - Seguro: Utiliza o sistema
Web Services - Authentication - Tokennativo do Joomla. - Leve: Um único plugin sem dependências externas.
- Pronto para IA: Projetado para servir como a "ferramenta" perfeita para agentes de IA e fluxos de automação lerem e gravarem no seu banco de dados Joomla.
- Endpoints Essenciais: Cobre as tarefas mais comuns de gerenciamento de conteúdo.
O Superpoder de IA e Automação de Fluxos de Trabalho
É aqui que o MCP realmente se destaca. Ele transforma seu CMS Joomla de uma plataforma isolada em um componente dinâmico e integrado dos seus fluxos de trabalho automatizados e pipelines de conteúdo orientados por IA.
Para Automação de Fluxos de Trabalho (Make.com, n8n, Zapier, etc.)
Plataformas como Make.com e n8n são construídas em torno da conexão de serviços por meio de chamadas de API. O MCP fornece os endpoints perfeitos para seus módulos genéricos de "Requisição HTTP".
Exemplo de Uso: Um feed RSS aciona um fluxo de trabalho no n8n. Um nó de IA reescreve o conteúdo e, em seguida, um nó de Requisição HTTP usa o Model Context Protocol (
task=mcp.create_article) para publicar instantaneamente o novo artigo no seu site Joomla.
Para Frameworks de Agentes de IA (crewAI, AutoGen, etc.)
Agentes de IA precisam de "ferramentas" para interagir com o mundo real. Os endpoints do MCP são os blocos de construção perfeitos para essas ferramentas, permitindo que os agentes gerenciem conteúdo de forma autônoma.
Exemplo de Uso: Você atribui a um agente crewAI a tarefa "Escreva uma postagem de blog sobre as últimas tendências de IA e publique em nosso site".
- O
ResearcherAgentnavega na web.- O
WriterAgentcompõe o artigo.- O
PublisherAgentrecebe uma ferramentapublish_to_joomla, que usa o Model Context Protocol para chamar o endpointmcp.create_article. A equipe de IA conclui toda a tarefa sem intervenção humana.
Para Ferramentas Internas e Scripts (Windmill, Superblocks, etc.)
Plataformas como Windmill permitem que você crie rapidamente painéis administrativos internos e execute scripts. O MCP fornece uma camada de abstração limpa para interagir com o Joomla.
Exemplo de Uso: Sua equipe de marketing quer um painel simples no Windmill para publicar rapidamente comunicados à imprensa. Um desenvolvedor cria uma interface simples. O botão "Publicar" aciona um script que usa o Model Context Protocol para enviar o conteúdo ao vivo instantaneamente.
Instalação e Configuração
- Baixar: Baixe o arquivo
plg_system_mcp_vX.X.X.zipmais recente da página de Releases. - Instalar: No painel do Administrador do Joomla, vá para
System->Install->Extensionse envie o arquivo zip. - Habilitar Plugin: Vá para
System->Manage->Pluginse pesquise por "MCP". Habilite o plugin. - Gerar um Token de API de Usuário:
- Vá para
Users->Managee selecione o usuário ao qual deseja conceder acesso à API. As permissões desse usuário serão respeitadas.- Clique na aba "Joomla API Token".
- Clique em "Criar um Novo Token" para gerar uma chave de API. Copie esta chave com segurança.
- Vá para
Uso da API
Nota: Esta é a Versão 2.0 com tarefas de API consolidadas e arquitetura aprimorada.
- Endpoint:
https://www.yoursite.com/index.php - Método:
POST - Cabeçalho de Autenticação:
X-Joomla-Token: YOUR_JOOMLA_API_TOKEN - Parâmetro de Consulta:
task=mcp.your_task
Tarefas Disponíveis
| Tarefa | Descrição | Exemplo de Corpo JSON |
|---|---|---|
mcp.info | Retorna informações do plugin e status de autenticação. | null |
mcp.get_article | Recupera um único artigo por ID. | {"article_id": 124} |
mcp.get_articles | Recupera uma lista de todos os artigos. | null ou {"catid": 8, "state": 1, "limit": 10} |
mcp.get_categories | Recupera uma lista de todas as categorias de conteúdo. | null |
mcp.get_tags | Recupera uma lista de todas as tags. | null |
mcp.create_article | Cria um novo artigo. | {"title": "My Title", "articletext": "<p>Content</p>", "catid": 2, "published": true} |
mcp.update_article | Atualiza o conteúdo e/ou estado do artigo (consolidado). | {"article_id": 124, "title": "Updated Title", "state": 0} ou {"article_id": 126, "state": -2} |
Exemplo: Requisição curl Completa
Veja como criar um novo artigo publicado na categoria de ID 8.
curl -X POST \
-H "X-Joomla-Token: YOUR_JOOMLA_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "New Article via MCP", "articletext": "<p>This content was published by an automated workflow!</p>", "catid": 8, "published": true}' \
"[https://www.yoursite.com/index.php?task=mcp.create_article](https://www.yoursite.com/index.php?task=mcp.create_article)"
Usando MCP com Ferramentas de Automação de Fluxos de Trabalho
Integração com n8n
- Crie um Nó HTTP:
- Adicione um nó de Requisição HTTP ao seu fluxo de trabalho.
- Defina o Método como
POST. - Defina a URL como
https://<your_joomla_website_url>/index.php. - Adicione um parâmetro de consulta:
task=mcp.<your_task>(ex.:task=mcp.create_article).
- Defina o Método como
- Adicione um nó de Requisição HTTP ao seu fluxo de trabalho.
- Adicione Cabeçalhos:
- Adicione um cabeçalho:
X-Joomla-Tokencom o valor<your_joomla_api_token>.
- Adicione um cabeçalho:
- Adicione o Corpo JSON:
- Adicione o payload JSON para a tarefa que deseja executar (ex.: criar ou atualizar um artigo).
Integração com Make.com
- Crie um Cenário:
- Adicione um módulo HTTP ao seu cenário.
- Defina o Método como
POST. - Defina a URL como
https://<your_joomla_website_url>/index.php.
- Defina o Método como
- Adicione um módulo HTTP ao seu cenário.
- Adicione Parâmetros de Consulta:
- Adicione um parâmetro de consulta:
task=mcp.<your_task>(ex.:task=mcp.get_article).
- Adicione um parâmetro de consulta:
- Adicione Cabeçalhos:
- Adicione um cabeçalho:
X-Joomla-Tokencom o valor<your_joomla_api_token>.
- Adicione um cabeçalho:
- Adicione o Corpo JSON:
- Adicione o payload JSON para a tarefa que deseja executar.
Mudanças na Versão 2.0
Melhorias Implementadas
- Consolidação de Tarefas:
- As tarefas
manage_article_stateemove_article_to_trashforam consolidadas na tarefaupdate_article. Agora você pode atualizar conteúdo e estado em uma única chamada.- Use
{"article_id": 123, "state": -2}para mover para a lixeira,{"article_id": 123, "state": 0}para despublicar, etc.
- Use
- As tarefas
- Novos Recursos:
- Adicionada a tarefa
mcp.get_tagspara recuperar todas as tags- Adicionada a tarefa
mcp.infopara informações do plugin e status de autenticação - Suporte aprimorado de filtragem e paginação para
get_articles
- Adicionada a tarefa
- Adicionada a tarefa
- Arquitetura de Código:
- Totalmente refatorado com classes de manipulador organizadas
- Sistema de autenticação aprimorado
- Melhor tratamento de erros e validação
- Respostas JSON simplificadas com carimbos de data/hora
- Totalmente refatorado com classes de manipulador organizadas