L'obiettivo a lungo termine: rendere Joomla più facile ed efficiente da usare per i proprietari di siti, consentendo una collaborazione senza soluzione di continuità tra Joomla e gli strumenti basati sull'intelligenza artificiale.
Perché MCP è importante per Joomla
La roadmap di Joomla identifica l'usabilità e l'efficienza per i proprietari di siti come una sfida fondamentale. MCP offre una soluzione promettente. Si tratta di un protocollo che consente agli agenti AI di leggere in modo sicuro le risorse ed eseguire azioni in sistemi esterni.
Applicato a Joomla, un server MCP potrebbe consentire agli amministratori di:
- creare automaticamente categorie, articoli e menu da una mappa del sito o da un PDF
- generare titoli e meta descrizioni ottimizzati per la SEO in blocco
- applicare aggiornamenti delle estensioni su più siti
- creare landing page per i prossimi lanci di prodotti
Fondamentalmente, il server MCP non è concepito come una funzionalità riservata esclusivamente ai “super amministratori”. L'iniziativa mira a una soluzione facile da configurare, leggera e accessibile a un'ampia gamma di utenti.
Decisioni architetturali chiave
Durante lo sprint, abbiamo concordato diversi principi di progettazione importanti. Il server MCP dovrebbe essere integrato direttamente nel core di Joomla piuttosto che funzionare come servizio autonomo. PHP è stato scelto come linguaggio di implementazione per allinearsi ai requisiti di sistema di Joomla ed evitare ulteriori dipendenze. Ciò creerà un server MCP direttamente integrato con il core di Joomla, fornendo un'esperienza utente semplice.
La comunicazione viene gestita tramite un endpoint HTTP che segue lo standard di trasporto MCP “Streamable HTTP”. L'autenticazione si basa inizialmente su token specifici MCP gestiti nel backend, con un server OAuth Joomla generico previsto come passo successivo.
Le effettive capacità MCP - strumenti, risorse e prompt - sono implementate come plugin per garantire l'estensibilità.
Cosa è stato realizzato
Lo sprint di scoperta ha portato a una prova di concetto completamente funzionante: è stato sviluppato un componente UI backend che consente agli amministratori di creare connessioni client MCP, generare token di autenticazione e configurare i client di conseguenza. Parallelamente, è stato implementato un endpoint di servizio web MCP funzionale. Questo endpoint convalida i token in entrata, inizializza il server MCP, registra tutte le funzionalità disponibili fornite dai plugin e le espone ai client connessi. Per dimostrare questa architettura in azione, è stato creato un plugin MCP iniziale in grado di recuperare le informazioni di sistema come risorsa e di svuotare la cache di Joomla come strumento. Da un capo all'altro, abbiamo collegato con successo un client al server ed eseguito chiamate di inizializzazione, ping, risorse e strumenti, convalidando l'approccio complessivo.
Cosa succederà dopo
Sebbene la prova di concetto sia promettente, abbiamo identificato diverse aree che richiedono ulteriore lavoro. Il componente backend necessita di pulizia, script di installazione adeguati e test automatizzati per renderlo pronto per la produzione.
Per quanto riguarda l'autenticazione, è previsto un server OAuth generico per Joomla, che include ambiti dedicati per MCP e servizi web per semplificare l'onboarding per client come l'applicazione desktop Claude.
L'implementazione del server MCP stesso sarà rivista, compreso il benchmarking del pacchetto attualmente utilizzato e il potenziale passaggio a un'implementazione di riferimento ufficiale per ridurre lo sforzo di manutenzione a lungo termine. Anche il codice che registra le funzionalità relative a MCP offerte dai plugin e la necessità di supporto per le sessioni MCP saranno rivalutati.
Un obiettivo importante per la fase successiva saranno i plugin. Abbiamo in programma di creare un plugin generico che racchiuda i servizi web Joomla esistenti, rendendo possibile l'esposizione delle operazioni CRUD (EN create, read, update, delete: IT crea, leggi, aggiorna, elimina) per tutte le entità (articoli, categorie, utenti, campi, voci di menu, ecc.) con un codice aggiuntivo minimo. Ciò include la definizione dei campi e degli endpoint disponibili per tipo di entità, poiché MCP come standard si basa molto su definizioni rigorose dei campi disponibili. Sono inoltre in programma plugin aggiuntivi per attività non CRUD e risorse di documentazione generiche per agenti AI.
Guardando al futuro
Questo sprint di scoperta segna un primo entusiasmante passo verso l'amministrazione di Joomla assistita dall'intelligenza artificiale. Adottando MCP in modo flessibile, estensibile e nativo per Joomla, il progetto apre nuove possibilità per i proprietari di siti, gli sviluppatori e l'ecosistema più ampio. Il lavoro è solo all'inizio e il futuro sembra promettente.
Alcuni articoli pubblicati sulla rivista Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'autore su un argomento specifico e potrebbero non essere in linea con la posizione ufficiale del progetto Joomla.