Per anni l'AI in WordPress ha significato una cosa: una textarea nell'editor dove incollare il prompt e ricevere testo da inserire. Con l'arrivo del Model Context Protocol (MCP) di Anthropic e del plugin WPVibe di SeedProd, lo scenario cambia radicalmente: Claude, ChatGPT, o Cursor possono dialogare direttamente con un sito WordPress via API, eseguire operazioni concrete (creare articoli, caricare media, modificare temi in sandbox, lanciare WP-CLI) e restare "in conversazione" con l'utente per task complessi. Non è un'evoluzione, è un cambio di paradigma. In questa guida analizziamo come funziona, come configurarlo in modo sicuro, e dove si nascondono i rischi reali per chi lo usa in produzione.
L'angolo è architetturale e operativo, non promozionale. Vediamo il protocollo MCP in dettaglio, il plugin Vibe AI che lo implementa su WordPress, e forniamo snippet di codice per chi vuole costruire un proprio MCP server custom. È complementare alla panoramica WordPress 7.0 e AI Connectors e al metodo per creare plugin con AI.
Contenuto articolo
- Cos'è il Model Context Protocol e perché riguarda WordPress
- WPVibe: il plugin che porta MCP su WordPress
- Architettura di sicurezza: perché i guardrail contano
- Caso d'uso reale: agenzia con 15 siti clienti
- Limiti e problemi reali di WPVibe
- Costruire il proprio MCP server WordPress custom
- Domande frequenti
- Riferimenti utili per approfondire
Cos'è il Model Context Protocol e perché riguarda WordPress
MCP è uno standard aperto, rilasciato da Anthropic a fine 2024 e diventato rapidamente il protocollo di riferimento per connettere modelli AI a strumenti esterni. L'analogia corretta è USB-C per l'AI: invece di scrivere un'integrazione diversa per ogni coppia (modello × tool), chi sviluppa il tool espone un server MCP, e qualsiasi modello compatibile (Claude, ChatGPT, Cursor, Cline) può consumarlo.
Prima di MCP, l'integrazione funzionava così:
- L'utente copia un prompt da ChatGPT
- Lo incolla in WordPress
- L'AI restituisce un testo
- L'utente lo incolla di nuovo nell'editor
Con MCP, il flusso diventa:
- L'utente dice a Claude: "Crea un articolo sul mio ultimo prodotto, aggiungi un'immagine da Unsplash, schedulalo per venerdì"
- Claude parla con il server MCP di WordPress esposto dal plugin
- Il server MCP traduce le istruzioni in chiamate WordPress reali (wpinsertpost, wpmediasideloadimage, wpupdate_post)
- Claude conferma e l'utente vede il draft nell'admin
È la differenza tra "AI che genera testo" e "AI che esegue azioni".
WPVibe: il plugin che porta MCP su WordPress
WPVibe (disponibile gratuitamente su WordPress.org come Vibe AI) è un plugin sviluppato dal team di SeedProd (il page builder usato da oltre 1 milione di siti) che implementa un server MCP completo per WordPress. Una volta installato e configurato, espone un endpoint HTTPS che può essere collegato a Claude, ChatGPT, Cursor, o qualsiasi client compatibile MCP.
Cosa può fare concretamente
Il plugin espone una serie di "tools" che il modello AI può invocare. Ecco l'elenco ufficiale al momento del lancio.
- wpvibe_create_post: crea un nuovo post (status bozza di default, titolo, contenuto, categorie, tag)
- wpvibe_update_post: aggiorna un post esistente
- wpvibe_list_posts: elenca post recenti con filtri (status, data, autore)
- wpvibe_upload_media: carica un'immagine da URL o da prompt Unsplash nella libreria media
- wpvibe_set_featured_image: imposta la featured image di un post
- wpvibe_list_plugins: elenca plugin attivi con versione e stato aggiornamento
- wpvibe_health_check: esegue controlli diagnostici (versione PHP, spazio disco, plugin outdated)
- wpvibe_search_unsplash: cerca foto stock tramite query testuale
- wpvibe_edit_theme_file_sandboxed: modifica file del tema in ambiente sandbox (mai scritto direttamente su disco)
- wpvibe_run_wpcli: esegue un sottoinsieme limitato di comandi WP-CLI (whitelist)
L'elenco è in crescita. Il team SeedProd ha annunciato che aggiungeranno strumenti per WooCommerce (gestione ordini, prodotti, inventario) e per i custom post type nei prossimi mesi.
Setup in 60 secondi
L'installazione è volutamente semplice.
- Installa il plugin: Bacheca → Plugin → Aggiungi nuovo → cerca "Vibe AI" → Installa → Attiva
- Genera il token di accesso: il plugin crea automaticamente un'application password WordPress (sistema nativo introdotto in WP 5.6) con scope limitato alle capability MCP
- Copia l'endpoint MCP: si trova in Impostazioni → Vibe AI → Connection. È un URL tipo
https://tuosito.it/wp-json/wpvibe/v1/mcp - Collega il client AI: in Claude/ChatGPT/Cursor, apri la sezione "Connectors" o "MCP Servers", incolla l'endpoint, autenticati con la application password
- Testa la connessione: digita "Elenca i miei ultimi 5 articoli pubblicati"
Da quel momento il modello può eseguire i task elencati sopra. La prima connessione richiede circa 60 secondi, le successive sono istantanee.
Architettura di sicurezza: perché i guardrail contano
Un server MCP che può modificare il tuo sito è un'arma a doppio taglio. SeedProd ha implementato una serie di guardrail espliciti, documentati pubblicamente. Vediamoli uno per uno.
Guardrail 1: nuovi post in draft di default
Ogni post creato via WPVibe va in stato draft, mai pubblicato direttamente. Questo significa che un'AI che decide di "sbagliare tono" su un articolo importante richiede un'azione umana esplicita per andare online. È il guardrail più semplice e più importante.
Guardrail 2: cancellazioni vanno nel cestino
Quando l'AI elimina un contenuto, va nel cestino di WordPress (dove resta recuperabile per 30 giorni), non viene rimosso definitivamente. Doppio livello di safety: l'AI può solo spostare, non cancellare.
Guardrail 3: modifiche ai temi in sandbox
Questo è il guardrail più elegante. Quando l'AI modifica un file del tema (functions.php, header.php, style.css), la modifica va in un file sandbox separato, non sovrascrive il file originale. L'utente vede un diff e deve approvare esplicitamente prima che la modifica venga applicata. In caso di errore, basta scartare il diff.
// Struttura del sandbox (pseudocodice del sistema)
$active_theme = wp_get_theme();
$sandbox_dir = WP_CONTENT_DIR . '/uploads/wpvibe-sandbox/' . $active_theme->get_stylesheet();
$original = get_template_directory() . '/functions.php';
$sandbox_file = $sandbox_dir . '/functions.php.sandbox';
if ( ! file_exists( $sandbox_dir ) ) {
wp_mkdir_p( $sandbox_dir );
}
// L'AI scrive solo nel sandbox, mai nell'originale
file_put_contents( $sandbox_file, $modified_content );
// Review umana
register_shutdown_function( function() use ( $sandbox_file, $original ) {
if ( current_user_can( 'edit_themes' ) && get_transient( 'wpvibe_apply_sandbox' ) ) {
copy( $sandbox_file, $original );
delete_transient( 'wpvibe_apply_sandbox' );
}
} );
Guardrail 4: WP-CLI in whitelist
L'AI può eseguire solo comandi WP-CLI in una whitelist predefinita. I comandi pericolosi (rm, drop, truncate, exec) sono bloccati a livello di capability. La whitelist è consultabile e personalizzabile dagli admin del sito.
// Whitelist WP-CLI di default
add_filter( 'wpvibe_wpcli_whitelist', function( $commands ) {
$commands = [
'wp post list',
'wp post get',
'wp option get',
'wp user list',
'wp plugin list',
'wp theme list',
'wp db query', // attenzione: solo SELECT, monitorato
'wp cache flush',
'wp transient delete --all',
];
return $commands;
} );
Guardrail 5: autenticazione via application password
Il plugin usa il sistema nativo WordPress di application password (RFC 2FA-style, supportato dal core dalla 5.6). Le credenziali sono cifrate a riposo, sono revocabili in un click dall'admin, e possono essere limitate a un sottoinsieme di capability.
Caso d'uso reale: agenzia con 15 siti clienti
Marco gestisce un'agenzia di sviluppo web con 15 siti clienti su managed hosting. Ha implementato WPVibe su tutti e 15 i siti e usa Claude (con il piano Pro) come client MCP centrale. Ecco come ha strutturato il workflow.
Workflow mattutino (15 min)
- Chiede a Claude: "Mostrami tutti i post pubblicati ieri sera su tutti i miei siti, con il numero di commenti per ciascuno"
- Claude interroga i 15 server MCP in parallelo (la chiamata MCP supporta richieste multiple), aggrega i risultati, produce un report
- Marco legge il report in chat e decide se intervenire
Workflow editoriale (1 ora → 15 min)
- Marco riceve una brief da un cliente: "5 articoli sul tema X, stile Y, con immagini"
- Chiede a Claude: "Per il sito example.com, genera 5 bozze di articoli sul tema X, stile Y, con immagini da Unsplash, tutti in draft"
- Claude crea 5 draft, ciascuno con featured image, tag, e categoria corretta
- Marco legge le bozze in Bacheca (draft visibili), modifica dove serve, pubblica
Manutenzione tecnica
- Marco: "Verifica salute di tutti i miei siti: versione PHP, plugin outdated, spazio disco"
- Claude esegue
wpvibe_health_checksu tutti i server, aggrega, segnala i problemi - Marco interviene manualmente sui siti con problemi
Risultato: tempo risparmiato ~6 ore/settimana, ROI del setup in meno di un mese.
Limiti e problemi reali di WPVibe
Non è tutto rose e fiori. Ecco i limiti che ho incontrato nei test.
Limite 1: il client AI deve supportare MCP nativamente
Al momento, i client che supportano MCP out-of-the-box sono: Claude (desktop, web, Code), Cursor (editor AI), Cline (estensione VS Code), e pochi altri. ChatGPT supporta MCP in beta ristretta per utenti Pro. Gemini no. Per chi usa prevalentemente ChatGPT, il vantaggio è ancora parziale.
Limite 2: l'AI può solo eseguire i tool esposti
Se vuoi che l'AI possa, per esempio, modificare le impostazioni di un plugin SEO, quel plugin deve avere un tool MCP registrato. WPVibe espone i tool nativi WordPress, ma per integrazioni con plugin terzi serve lavoro custom. Stanno arrivando estensioni community per Yoast, Rank Math, WooCommerce, ma è work in progress.
Limite 3: la latenza delle operazioni multiple
Se chiedi a Claude "Crea 10 articoli", ogni articolo richiede una chiamata MCP separata. Su un sito con hosting lento, 10 articoli = 30-60 secondi. Per task di massa meglio fare batch via WP-CLI tradizionale.
Limite 4: nessuna memoria persistente cross-sessione
L'AI non ricorda le tue preferenze tra una sessione e l'altra. Se gli dici "usa sempre lo stile formale", devi ridirlo ogni volta. Soluzione: usare il file CLAUDE.md (per Claude) o AGENTS.md (per Cursor) per memorizzare le convenzioni del sito.
Costruire il proprio MCP server WordPress custom
Se WPVibe non fa al caso tuo (ad esempio, vuoi esporre strumenti custom del tuo tema o plugin), puoi costruire un server MCP custom. Ecco un esempio minimale.
<?php
/**
* Plugin Name: My Custom MCP Server
* Description: Esempio di server MCP custom per WordPress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// 1. Registra l'endpoint REST
add_action( 'rest_api_init', function() {
register_rest_route( 'my-mcp/v1', '/tools', [
'methods' => 'GET',
'callback' => 'mymcp_list_tools',
'permission_callback' => function() {
return current_user_can( 'edit_posts' );
},
] );
register_rest_route( 'my-mcp/v1', '/invoke', [
'methods' => 'POST',
'callback' => 'mymcp_invoke_tool',
'permission_callback' => function() {
return current_user_can( 'edit_posts' );
},
] );
} );
// 2. Lista dei tool esposti
function mymcp_list_tools() {
return [
'tools' => [
[
'name' => 'get_recent_comments',
'description' => 'Restituisce gli ultimi commenti del blog',
'inputSchema' => [
'type' => 'object',
'properties' => [
'limit' => [
'type' => 'integer',
'description' => 'Numero massimo di commenti',
'default' => 10,
],
],
],
],
[
'name' => 'get_site_stats',
'description' => 'Restituisce statistiche aggregate del sito',
'inputSchema' => [
'type' => 'object',
'properties' => (object) [],
],
],
],
];
}
// 3. Invocazione del tool
function mymcp_invoke_tool( WP_REST_Request $request ) {
$body = $request->get_json_params();
$tool = sanitize_text_field( $body['name'] ?? '' );
$args = $body['arguments'] ?? [];
switch ( $tool ) {
case 'get_recent_comments':
$limit = absint( $args['limit'] ?? 10 );
$comments = get_comments( [ 'number' => $limit, 'status' => 'approve' ] );
return rest_ensure_response( [
'comments' => array_map( function( $c ) {
return [
'id' => $c->comment_ID,
'author' => $c->comment_author,
'content' => $c->comment_content,
'post_id' => $c->comment_post_ID,
'date' => $c->comment_date,
];
}, $comments ),
] );
case 'get_site_stats':
return rest_ensure_response( [
'posts' => wp_count_posts()->publish,
'pages' => wp_count_posts( 'page' )->publish,
'comments' => wp_count_comments()->approved,
'users' => count_users()['total_users'],
'php_version' => phpversion(),
'wp_version' => get_bloginfo( 'version' ),
] );
default:
return new WP_Error( 'unknown_tool', 'Tool non riconosciuto', [ 'status' => 400 ] );
}
}
Questo è uno scheletro funzionante. Per un server MCP completo servono altri endpoint (risorse, prompt templates, gestione errori strutturata secondo lo standard MCP), ma il pattern è questo.
Domande frequenti
WPVibe è davvero gratuito?
Sì, il plugin Vibe AI è gratuito e open source su WordPress.org. Il team SeedProd lo monetizza indirettamente (è una leva per il loro page builder a pagamento), ma il plugin in sé non ha limitazioni, watermark, o costi nascosti.
Posso usarlo con ChatGPT?
Dipende. ChatGPT ha aggiunto il supporto MCP in beta ristretta per utenti Pro a fine 2025. Se sei nel rollout, sì. Altrimenti Claude Desktop e Cursor sono le opzioni più affidabili. Gemini non supporta MCP al momento.
L'AI può cancellare definitivamente un post?
No. Il guardrail del cestino è hardcoded: qualsiasi cancellazione passa per wp_trash_post(), mai wp_delete_post() con force_delete = true. I post nel cestino sono recuperabili per 30 giorni dall'admin WordPress.
È sicuro esporre l'endpoint MCP su internet?
Sì, a patto di: (1) usare HTTPS, (2) autenticare ogni richiesta con application password, (3) mantenere il plugin aggiornato, (4) monitorare i log per attività sospette. L'endpoint è protetto almeno quanto wp-admin.
Cosa succede se l'AI propone modifiche sbagliate al tema?
Vanno tutte nel sandbox. L'utente vede un diff e deve approvare. Se approva per sbaglio, il file originale viene sovrascritto: per questo è essenziale avere un backup (UpdraftPlus, BlogVault, o snapshot del hosting).
Vale la pena rispetto a Jetpack AI o Divi AI?
Sono prodotti diversi. Jetpack AI e Divi AI lavorano dentro l'editor di un singolo post, con focus su generazione di testo. WPVibe lavora a livello di sito, con focus su automazione e orchestrazione via linguaggio naturale. Per un blogger singolo, Jetpack AI è più immediato. Per un'agenzia, WPVibe è enormemente più potente.
WPVibe funziona con WooCommerce?
Al lancio no, ma il team ha annunciato integrazione WooCommerce in roadmap Q3 2026 (gestione ordini, prodotti, inventario via MCP). Per ora, plugin terzi stanno già sperimentando bridge custom.
Riferimenti utili per approfondire
- WPVibe sito ufficiale - documentazione completa e setup guidato.
- Vibe AI su WordPress.org - download e recensioni.
- Model Context Protocol spec Anthropic - documentazione tecnica del protocollo.
- SeedProd page builder - chi sviluppa WPVibe.
- MCP servers directory ufficiale - catalogo di server MCP community.
- WordPress Application Passwords - come funziona il sistema di autenticazione usato da WPVibe.
- Claude Desktop MCP setup - come collegare Claude come client MCP.
- WordPress 7.0 AI Connectors mrtux.it - confronto con l'approccio alternativo dei Connectors core.
- Creare plugin WordPress con AI mrtux.it - per chi vuole costruire il proprio MCP server.
- Sicurezza WordPress plugin piratati mrtux.it - rischi da considerare quando si espongono endpoint.
Questa guida verrà aggiornata quando arriveranno le integrazioni WooCommerce e i tool community. Per casi d'uso specifici o problemi di setup, l'area commenti è aperta.




Lascia un commento