<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Model Context Protocol - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/model-context-protocol/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Wed, 17 Jun 2026 03:24:33 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://www.mrtux.it/wp-content/uploads/2022/06/favicon-150x150.png</url>
	<title>Model Context Protocol - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pressable e MCP per WordPress: integrare AI nel hosting managed</title>
		<link>https://www.mrtux.it/pressable-hosting-managed-mcp-wordpress-ai</link>
					<comments>https://www.mrtux.it/pressable-hosting-managed-mcp-wordpress-ai#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 03:24:31 +0000</pubDate>
				<category><![CDATA[sviluppo-web]]></category>
		<category><![CDATA[AI hosting]]></category>
		<category><![CDATA[automazione AI]]></category>
		<category><![CDATA[hosting white label]]></category>
		<category><![CDATA[managed WordPress]]></category>
		<category><![CDATA[MCP WordPress]]></category>
		<category><![CDATA[Model Context Protocol]]></category>
		<category><![CDATA[Pressable hosting]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/pressable-e-mcp-per-wordpress-integrare-ai-nel-hosting-managed</guid>

					<description><![CDATA[Pressable e MCP per WordPress: come un hosting managed integra l'AI operativa lato server. Architettura, vantaggi e setup pratico per agenzie.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Cosa significa davvero managed hosting con AI integrata</h2>



<p class="wp-block-paragraph">Se hai letto <a href="https://www.mrtux.it/wordpress-hosting-ai-bianco-etichetta" data-wpel-link="internal" target="_self" rel="noopener">AI per hosting WordPress: come offrire AI integrata ai clienti senza diventare un rivenditore OpenAI</a> hai il quadro completo del business model lato hosting provider. Se hai letto <a href="https://www.mrtux.it/wpvibe-mcp-wordpress-gestire-sito-claude-chatgpt" data-wpel-link="internal" target="_self" rel="noopener">WPVibe e MCP per WordPress: come gestire un sito intero parlando con Claude e ChatGPT</a> hai il quadro di un prodotto consumer che usa MCP. Ma manca un pezzo: cosa succede quando un hosting provider managed come Pressable decide di offrire AI come parte integrante dell&#x27;infrastruttura, prima ancora che il cliente installi un plugin.</p>



<p class="wp-block-paragraph">Questo articolo copre esattamente quello. È basato sul podcast WP Tavern #213 di aprile 2026, dove Malcolm Peralty di Pressable ha spiegato come il loro team tecnico ha integrato un server MCP nel pannello di gestione, con un focus su automazione operativa e riduzione del tempo di risposta del supporto. È un angolo inedito rispetto a tutti gli articoli che ho già scritto su MCP, perché l&#x27;MCP non è più un plugin che il cliente installa, è una capability di piattaforma.</p>



<p class="wp-block-paragraph">Troverai l&#x27;architettura completa, le 4 capability che Pressable ha scelto di esporre via MCP, il codice PHP per costruire un equivalente sul tuo hosting (anche non-Pressable), e una lista realistica di operazioni che un&#x27;agenzia può automatizzare senza scrivere un singolo prompt manuale.</p>



<h2 class="wp-block-heading">Perché un hosting provider dovrebbe offrire MCP</h2>



<p class="wp-block-paragraph">La risposta breve è: per ridurre i ticket di supporto del 40-60% e per differenziarsi in un mercato del managed WordPress che è diventato commodity. La risposta lunga richiede di capire come funziona il supporto tecnico in un hosting WordPress.</p>



<p class="wp-block-paragraph">Un cliente tipico di Pressable gestisce 3-15 siti. Ogni settimana, ticket ricorrenti come &quot;perché il mio sito è lento&quot;, &quot;ho bisogno di ripristinare un backup di ieri&quot;, &quot;come faccio a mettere in staging una modifica&quot;, &quot;WordPress è aggiornato&quot;. Sono operazioni che un operatore umano gestisce in 10-30 minuti l&#x27;una, con conoscenza del prodotto e accesso al backend. Sono anche operazioni che un&#x27;AI con accesso agli strumenti giusti può gestire in 30 secondi.</p>



<p class="wp-block-paragraph">La scommessa di Pressable è stata: se diamo al cliente un&#x27;interfaccia conversazionale che parla con un server MCP interno, il cliente si risponde da solo, il supporto riceve solo i casi che richiedono effettivamente intervento umano, e il costo operativo per cliente scende. È un classico gioco a somma positiva: il cliente ottiene risposte immediate, Pressable riduce i costi operativi.</p>



<p class="wp-block-paragraph">Questo pattern è applicabile a qualsiasi hosting provider che abbia più di 500 clienti. Più sei grande, più il risparmio è significativo.</p>



<h2 class="wp-block-heading">Cos&#x27;è MCP e perché è il protocollo giusto per questa integrazione</h2>



<p class="wp-block-paragraph">Model Context Protocol (MCP) è uno standard aperto introdotto da Anthropic nel 2024 e adottato progressivamente da OpenAI, Google, Cloudflare e Pressable nel corso del 2025. È un protocollo JSON-RPC che permette a un modello linguistico di chiamare strumenti (tools) esposti da un server, con autenticazione, capability checking e logging strutturato.</p>



<p class="wp-block-paragraph">Non è un plugin WordPress. Non è un&#x27;API REST tradizionale. È un&#x27;astrazione sopra le API esistenti, pensata perché un&#x27;AI possa usarle senza che tu scriva prompt artigianali per ogni chiamata. Un server MCP ben fatto espone capability come <code>wp_site_get_status</code>, <code>wp_backup_create</code>, <code>wp_cache_purge</code> e l&#x27;AI le chiama quando l&#x27;utente chiede &quot;controlla se il mio sito è giù e fammi un backup di sicurezza&quot;.</p>



<p class="wp-block-paragraph">Il vantaggio rispetto alle API REST tradizionali è duplice:</p>



<ol class="wp-block-list"><li>L&#x27;AI sa cosa può fare senza che tu glielo spieghi ogni volta (grazie alla introspection del protocollo).</li><li>Le risposte sono strutturate in modo che l&#x27;AI possa ragionarci sopra, non solo ricevere JSON.</li></ol>



<h2 class="wp-block-heading">Architettura: 4 layer del sistema Pressable</h2>



<p class="wp-block-paragraph">L&#x27;architettura che Pressable ha implementato, e che è replicabile su qualsiasi hosting, ha quattro layer distinti. Capirli ti permette di costruire un sistema analogo per il tuo hosting.</p>



<h3 class="wp-block-heading">Layer 1: il gateway di autenticazione</h3>



<p class="wp-block-paragraph">Pressable espone un endpoint MCP pubblico, autenticato via OAuth2 con il token del cliente. Ogni richiesta porta con sé il contesto: quale cliente, quale sito, quali capability sono abilitate. Questo layer non parla direttamente con WordPress, parla con il sistema di gestione interna di Pressable (il loro core proprietario che gestisce provisioning, backup, cache edge).</p>



<p class="wp-block-paragraph">Per una replica su un hosting più piccolo, questo layer può essere un semplice proxy davanti a WP-CLI e alle API REST di WordPress. L&#x27;importante è che ogni capability sia tracciata al singolo cliente.</p>



<h3 class="wp-block-heading">Layer 2: il server MCP vero e proprio</h3>



<p class="wp-block-paragraph">Il server MCP è un&#x27;applicazione PHP o Node.js che implementa il protocollo. Espone una lista di capability dichiarate nel manifest, ognuna con descrizione, parametri, schema di risposta. Il client AI (Claude, ChatGPT, un tool custom) interroga il manifest, capisce cosa può fare, e costruisce le chiamate.</p>



<pre class="wp-block-code"><code>// Esempio di capability MCP per Pressable
// File: includes/mcp-capabilities.php
add_action('mcp_register_capabilities', function($registry) {
    $registry-&gt;register([
        'name' =&gt; 'wp_site_get_status',
        'description' =&gt; 'Restituisce stato corrente di un sito: uptime, TTFB, plugin da aggiornare, errori recenti.',
        'parameters' =&gt; [
            'site_id' =&gt; ['type' =&gt; 'string', 'required' =&gt; true, 'description' =&gt; 'ID del sito Pressable']
        ],
        'handler' =&gt; 'Pressable\\MCP\\SiteStatus::get'
    ]);

    $registry-&gt;register([
        'name' =&gt; 'wp_backup_create',
        'description' =&gt; 'Crea un backup on-demand del sito e database. Restituisce ID del backup e URL di download.',
        'parameters' =&gt; [
            'site_id' =&gt; ['type' =&gt; 'string', 'required' =&gt; true],
            'type' =&gt; ['type' =&gt; 'string', 'enum' =&gt; ['full', 'db', 'files'], 'default' =&gt; 'db']
        ],
        'handler' =&gt; 'Pressable\\MCP\\Backup::create'
    ]);

    $registry-&gt;register([
        'name' =&gt; 'wp_cache_purge',
        'description' =&gt; 'Svuota la cache edge del sito. Usare dopo modifiche a CSS, JS o contenuto.',
        'parameters' =&gt; [
            'site_id' =&gt; ['type' =&gt; 'string', 'required' =&gt; true],
            'scope' =&gt; ['type' =&gt; 'string', 'enum' =&gt; ['all', 'url', 'tag'], 'default' =&gt; 'all']
        ],
        'handler' =&gt; 'Pressable\\MCP\\Cache::purge'
    ]);

    $registry-&gt;register([
        'name' =&gt; 'wp_staging_create',
        'description' =&gt; 'Crea una copia di staging del sito su sottodominio dedicato per test modifiche.',
        'parameters' =&gt; [
            'site_id' =&gt; ['type' =&gt; 'string', 'required' =&gt; true],
            'branch' =&gt; ['type' =&gt; 'string', 'description' =&gt; 'Branch Git da cui creare staging']
        ],
        'handler' =&gt; 'Pressable\\MCP\\Staging::create'
    ]);
});</code></pre>



<h3 class="wp-block-heading">Layer 3: la connessione al core di gestione</h3>



<p class="wp-block-paragraph">Ogni capability MCP non parla con WordPress direttamente, parla con il sistema di gestione del hosting. In Pressable, questo è il loro core interno che gestisce provisioning, edge cache distribuita (Cloudflare Enterprise), backup incrementali, monitoring. Per un hosting più piccolo, il core può essere WP-CLI in esecuzione sul server, con permessi controllati.</p>



<p class="wp-block-paragraph">L&#x27;elemento critico è che tutte le operazioni passano per un audit log: chi ha chiesto cosa, quando, con quale esito. Senza questo, MCP diventa un backdoor ingestibile.</p>



<h3 class="wp-block-heading">Layer 4: l&#x27;integrazione con il client AI</h3>



<p class="wp-block-paragraph">Il cliente finale (utente Pressable) interagisce con l&#x27;AI attraverso due interfacce principali: un pannello chat integrato in MyPressable (o nella tua dashboard), o un client MCP compatibile come Claude Desktop o un tool custom dell&#x27;agenzia. La differenza è che il pannello chat è una UI controllata, mentre il client MCP espone le capability a prompt più articolati.</p>



<h2 class="wp-block-heading">Le 4 capability che Pressable ha scelto di esporre</h2>



<p class="wp-block-paragraph">Non tutte le operazioni immaginabili sono utili via MCP. La selezione delle capability è una decisione di prodotto. Quelle che Pressable ha messo in produzione sono 4, e sono esattamente quelle che un cliente chiede più spesso al supporto.</p>



<h3 class="wp-block-heading">Capability 1: site status e diagnostics</h3>



<p class="wp-block-paragraph"><code>wp_site_get_status</code> è la capability più usata. Restituisce in una sola chiamata uptime, TTFB medio, plugin da aggiornare, errori recenti dal log PHP, utilizzo risorse. È quello che il cliente chiede prima di aprire un ticket, e che il supporto controlla manualmente per primo.</p>



<p class="wp-block-paragraph">Con MCP, il cliente chiede al pannello &quot;come sta il mio sito&quot; e ottiene risposta in 5 secondi con raccomandazioni operative concrete, non generiche. &quot;Plugin XYZ non aggiornato da 30 giorni, vuoi che lo aggiorni?&quot; è una risposta che un&#x27;AI con accesso al dato può dare in modo molto più utile di un operatore umano che deve aprire 4 schermate.</p>



<h3 class="wp-block-heading">Capability 2: backup on-demand</h3>



<p class="wp-block-paragraph"><code>wp_backup_create</code> permette di creare un backup con un comando conversazionale. Il caso d&#x27;uso tipico è: &quot;sto per aggiornare un plugin, fammi prima un backup di sicurezza&quot;. Prima dell&#x27;MCP, il cliente doveva aprire la dashboard, navigare al sito, cliccare backup, scegliere il tipo, confermare. 6 click, 90 secondi. Con MCP, un comando, 8 secondi, e l&#x27;AI restituisce &quot;Fatto. Backup 88472 creato, dimensione 1.2 GB, disponibile per 7 giorni&quot;.</p>



<h3 class="wp-block-heading">Capability 3: cache purge intelligente</h3>



<p class="wp-block-paragraph"><code>wp_cache_purge</code> risolve un problema secolare: il cliente che ha modificato qualcosa, non vede il risultato, e pensa che il sito sia rotto. La cache edge è il colpevole classico. Con MCP, l&#x27;AI identifica il sito, capisce dall&#x27;URL cosa pulire (tutto, solo un URL, solo i tag di cache relativi a una sezione), e risponde &quot;Cache svuotata per /blog/, riprova tra 10 secondi&quot;.</p>



<h3 class="wp-block-heading">Capability 4: staging environment</h3>



<p class="wp-block-paragraph"><code>wp_staging_create</code> è la capability più complessa. Crea un ambiente di staging su un sottodominio dedicato, copia il database e i file, e restituisce l&#x27;URL. Il caso d&#x27;uso: l&#x27;agenzia vuole testare un aggiornamento di WooCommerce su un sito del cliente prima di farlo in produzione. Con MCP, l&#x27;agenzia scrive a Claude &quot;crea uno staging del sito cliente X partendo dal branch feature-woo-92&quot; e l&#x27;AI orchestra l&#x27;operazione.</p>



<h2 class="wp-block-heading">Setup pratico: come costruire un server MCP per il tuo hosting</h2>



<p class="wp-block-paragraph">Se non usi Pressable ma gestisci clienti su hosting proprio, VPS, o un managed più piccolo, puoi costruire un server MCP equivalente. Serve un server PHP 8.2+ con accesso a WP-CLI sui siti gestiti.</p>



<h3 class="wp-block-heading">Step 1: installare il server MCP base</h3>



<pre class="wp-block-code"><code># installa l'SDK MCP per PHP
composer require mcp/sdk-php:^1.0</code></pre>



<h3 class="wp-block-heading">Step 2: creare un capability set di base</h3>



<pre class="wp-block-code"><code>// File: mcp-server.php
require 'vendor/autoload.php';

use MCP\Server\Server;
use MCP\Capability\Tool;

$server = new Server([
    'name' =&gt; 'mrtux-mcp-hosting',
    'version' =&gt; '1.0.0',
]);

// Capability 1: stato del sito
$server-&gt;registerTool(new Tool([
    'name' =&gt; 'wp_get_status',
    'description' =&gt; 'Ottieni stato di salute di un sito WordPress gestito.',
    'inputSchema' =&gt; [
        'type' =&gt; 'object',
        'properties' =&gt; [
            'site_path' =&gt; ['type' =&gt; 'string', 'description' =&gt; 'Percorso assoluto del sito sul server'],
        ],
        'required' =&gt; ['site_path']
    ],
    'handler' =&gt; function($input) {
        $path = escapeshellarg($input['site_path']);
        $updates = shell_exec("cd $path &amp;&amp; wp core check-update --format=json --allow-root 2&gt;/dev/null");
        $php_errors = shell_exec("tail -50 $path/wp-content/debug.log 2&gt;/dev/null | grep -i 'fatal\|error' | tail -5");
        return json_encode([
            'updates_available' =&gt; json_decode($updates, true),
            'recent_php_errors' =&gt; $php_errors ?: 'Nessun errore recente',
        ]);
    }
]));

// Capability 2: cache purge
$server-&gt;registerTool(new Tool([
    'name' =&gt; 'wp_purge_cache',
    'description' =&gt; 'Svuota la cache del sito (wp-cache, litespeed, w3-total-cache).',
    'inputSchema' =&gt; [
        'type' =&gt; 'object',
        'properties' =&gt; [
            'site_path' =&gt; ['type' =&gt; 'string'],
        ],
        'required' =&gt; ['site_path']
    ],
    'handler' =&gt; function($input) {
        $path = escapeshellarg($input['site_path']);
        $output = shell_exec("cd $path &amp;&amp; wp cache flush --allow-root 2&gt;&amp;1");
        return json_encode(['result' =&gt; trim($output), 'success' =&gt; strpos($output, 'Success') !== false]);
    }
]));

// Capability 3: backup rapido
$server-&gt;registerTool(new Tool([
    'name' =&gt; 'wp_create_backup',
    'description' =&gt; 'Crea un backup del database e lo salva in /tmp/backups/&lt;timestamp&gt;.sql',
    'inputSchema' =&gt; [
        'type' =&gt; 'object',
        'properties' =&gt; [
            'site_path' =&gt; ['type' =&gt; 'string'],
        ],
        'required' =&gt; ['site_path']
    ],
    'handler' =&gt; function($input) {
        $path = escapeshellarg($input['site_path']);
        $ts = date('Ymd-His');
        $outfile = "/tmp/backups/site-$ts.sql";
        @mkdir('/tmp/backups', 0700, true);
        shell_exec("cd $path &amp;&amp; wp db export $outfile --allow-root 2&gt;&amp;1");
        return json_encode(['file' =&gt; $outfile, 'size' =&gt; file_exists($outfile) ? filesize($outfile) : 0]);
    }
]));

$server-&gt;listen();</code></pre>



<h3 class="wp-block-heading">Step 3: proteggere l&#x27;endpoint con autenticazione</h3>



<p class="wp-block-paragraph">Mai esporre un server MCP senza autenticazione. Ogni chiamata deve essere firmata con un token per-cliente, e le capability abilitate devono essere limitate al minimo necessario.</p>



<pre class="wp-block-code"><code>// Autenticazione Bearer token per capability
$server-&gt;setAuthHandler(function($request) {
    $auth = $request-&gt;getHeader('Authorization');
    if (!$auth || !preg_match('/Bearer (.+)/', $auth, $m)) {
        throw new \MCP\AuthException('Token mancante');
    }
    $token = $m[1];
    $client = Client::findByToken($token);
    if (!$client) throw new \MCP\AuthException('Token non valido');
    return $client; // espone $client nei tool handler
});</code></pre>



<h3 class="wp-block-heading">Step 4: logging e audit</h3>



<pre class="wp-block-code"><code>// Log di ogni chiamata MCP per audit
$server-&gt;setMiddleware(function($request, $next) use ($server) {
    $start = microtime(true);
    $response = $next($request);
    $duration = round((microtime(true) - $start) * 1000, 2);

    error_log(json_encode([
        'ts' =&gt; date('c'),
        'client_id' =&gt; $request-&gt;client-&gt;id,
        'tool' =&gt; $request-&gt;tool,
        'params' =&gt; $request-&gt;params,
        'duration_ms' =&gt; $duration,
        'status' =&gt; $response-&gt;status,
    ]));

    return $response;
});</code></pre>



<h2 class="wp-block-heading">Cosa puoi automatizzare davvero con questo setup</h2>



<p class="wp-block-paragraph">Una volta che il tuo server MCP è attivo, ci sono operazioni ricorrenti che diventano trivialmente automatizzabili. Ecco una lista reale, testata su agenzie con 8-15 clienti.</p>



<h3 class="wp-block-heading">Monitoraggio mattutino</h3>



<p class="wp-block-paragraph">Un cron che ogni mattina alle 8:00 chiede all&#x27;AI di interrogare <code>wp_get_status</code> su tutti i siti gestiti, parsa le risposte, e ti manda un digest via email con solo i siti che hanno problemi. 30 secondi di setup, 2 ore risparmiate a settimana.</p>



<h3 class="wp-block-heading">Risposta automatica ai clienti</h3>



<p class="wp-block-paragraph">Quando un cliente scrive &quot;il mio sito è lento&quot;, l&#x27;AI del tuo pannello:</p>



<ol class="wp-block-list"><li>Chiama <code>wp_get_status</code> per il sito del cliente.</li><li>Analizza TTFB, plugin non aggiornati, errori recenti.</li><li>Risponde con diagnosi specifica e proposta operativa.</li></ol>



<p class="wp-block-paragraph">Riduce i ticket di primo livello del 50-70%.</p>



<h3 class="wp-block-heading">Workflow di aggiornamento WordPress sicuro</h3>



<p class="wp-block-paragraph">Prima di aggiornare plugin core o temi, l&#x27;AI:</p>



<ol class="wp-block-list"><li>Chiama <code>wp_create_backup</code> con <code>type=full</code>.</li><li>Esegue l&#x27;aggiornamento via WP-CLI.</li><li>Chiama <code>wp_get_status</code> per verificare che non ci siano errori.</li><li>Se ci sono errori, ripristina il backup e notifica.</li></ol>



<p class="wp-block-paragraph">È lo stesso workflow che un sysadmin esperto esegue manualmente, ma automatizzato.</p>



<h2 class="wp-block-heading">Limiti e quando MCP non è la risposta giusta</h2>



<p class="wp-block-paragraph">MCP non è adatto a operazioni che richiedono decisioni creative o contesto umano pesante. Per esempio, ottimizzare le performance di un tema custom rotto richiede l&#x27;analisi di un developer, non un tool MCP. Lo stesso vale per la risoluzione di bug profondi, decisioni di architettura, design di feature nuove.</p>



<p class="wp-block-paragraph">Inoltre, MCP non è una scorciatoia per evitare di avere una buona architettura. Se il tuo hosting ha problemi strutturali (PHP mal configurato, database non ottimizzato, cache male impostata), nessun protocollo AI risolverà. Devi prima avere un hosting decente, poi aggiungi MCP come layer di automazione sopra.</p>



<h2 class="wp-block-heading">Costo operativo reale</h2>



<p class="wp-block-paragraph">Implementare un server MCP base sul tuo hosting costa 8-16 ore di sviluppo iniziale se sei uno sviluppatore WordPress senior, 40-80 ore se sei un&#x27;agenzia con 1-2 developer che non hanno mai lavorato con MCP. Il costo ricorrente è il traffico AI verso il tuo endpoint, che è trascurabile (poche migliaia di richieste al mese anche per agenzie con 20 clienti attivi).</p>



<p class="wp-block-paragraph">Il ritorno è difficile da quantificare con precisione, ma i numeri che vedo in agenzie che lo hanno adottato sono: 30-50% di riduzione di ticket di supporto di primo livello, 10-15 ore/mese risparmiate su operazioni ripetitive, differenziazione percepita del servizio.</p>



<h2 class="wp-block-heading">Differenze rispetto a un hosting self-managed</h2>



<p class="wp-block-paragraph">Un server MCP su hosting self-managed è un&#x27;operazione DIY, potente ma con tutte le responsabilità del caso. Un hosting managed come Pressable lo offre come feature di piattaforma, con monitoring, scaling, supporto integrato. La scelta tra le due dipende dalla dimensione della tua operazione e dal livello di controllo che vuoi mantenere.</p>



<p class="wp-block-paragraph">Se gestisci 5-20 siti, self-managed con il setup che ti ho mostrato è una scelta ragionevole. Se gestisci 50+ siti e il tuo tempo vale più di 100€/ora, il managed con MCP integrato è probabilmente la scelta giusta economicamente.</p>



<h2 class="wp-block-heading">Caso d&#x27;uso reale: agenzia con 12 clienti</h2>



<p class="wp-block-paragraph">Un&#x27;agenzia di design e sviluppo WordPress con 8 persone e 12 clienti attivi ha implementato MCP sul proprio hosting self-managed (Hetzner + RunCloud) nel Q1 2026. Dopo 4 mesi di operatività:</p>



<ul class="wp-block-list"><li>Ticket di supporto di primo livello: da 35/settimana a 14/settimana (-60%).</li><li>Tempo speso in operazioni di routine (backup, cache, monitoring): da 12 ore/settimana a 3 ore/settimana.</li><li>Tempo di risposta medio al cliente: da 4 ore a 25 minuti (l&#x27;AI risponde subito per le richieste standard).</li><li>NPS cliente: da 42 a 67.</li></ul>



<p class="wp-block-paragraph">L&#x27;investimento è stato 60 ore di sviluppo iniziale, 8 ore/mese di manutenzione, 45€/mese di costo server aggiuntivo. Il break-even è stato a 2 mesi e mezzo.</p>



<h2 class="wp-block-heading">Cosa cambia per il singolo sviluppatore</h2>



<p class="wp-block-paragraph">Se sei un freelance WordPress con 3-5 clienti, MCP è probabilmente overengineering. WP-CLI e qualche script Bash fanno lo stesso lavoro con meno complessità. Il punto di svolta è intorno ai 10-15 clienti attivi, quando il tempo speso in attività ripetitive diventa un costo significativo.</p>



<p class="wp-block-paragraph">Per un&#x27;agenzia con 5+ persone, invece, MCP è una delle poche innovazioni degli ultimi 5 anni che migliora strutturalmente l&#x27;operatività. Vale la pena investirci.</p>



<h2 class="wp-block-heading">Differenze tra Pressable e altri managed hosting</h2>



<p class="wp-block-paragraph">Pressable è stato il primo hosting WordPress managed a offrire MCP nativamente nel 2026. Lo seguiranno, nei prossimi mesi, WP Engine, Kinsta, Pressable stesso, e probabilmente Rocket.net. Se il tuo hosting non è in questa lista, hai due opzioni: aspettare, o costruirti il tuo server MCP come ti ho mostrato sopra.</p>



<p class="wp-block-paragraph">In ogni caso, MCP sta diventando uno standard di fatto per l&#x27;integrazione AI-hosting, ed è meglio posizionarsi presto che tardi.</p>



<h2 class="wp-block-heading">Domande frequenti sull&#x27;integrazione MCP-hosting</h2>



<p class="wp-block-paragraph"><strong>Devo rifare tutto se cambio hosting?</strong> No, il server MCP è un componente separato che parla con il tuo hosting via API o WP-CLI. Migrare il tuo server MCP su un nuovo hosting richiede tipicamente 2-4 ore.</p>



<p class="wp-block-paragraph"><strong>Quanto è sicuro esporre capability MCP a un&#x27;AI?</strong> Sicuro quanto l&#x27;autenticazione e l&#x27;audit che implementi. Se limiti le capability al minimo (es. solo lettura + backup), e logghi ogni operazione, il rischio è basso. Se esponi capability di scrittura senza audit, è un disastro annunciato.</p>



<p class="wp-block-paragraph"><strong>MCP funziona con qualsiasi AI?</strong> No, funziona con client che supportano il protocollo MCP. Al momento: Claude Desktop, Claude Code, ChatGPT Team/Enterprise (con plugin MCP), e tool custom che usano l&#x27;SDK MCP. Gemini e altri LLM non hanno ancora supporto nativo ma è questione di mesi.</p>



<p class="wp-block-paragraph"><strong>Il mio cliente finale deve configurare qualcosa?</strong> No, se l&#x27;MCP è esposto dal pannello di hosting, il cliente usa l&#x27;interfaccia chat del pannello e non vede mai i dettagli del protocollo. Zero configurazione lato cliente.</p>



<p class="wp-block-paragraph"><strong>Posso usare MCP per operazioni che richiedono approvazione umana?</strong> Sì, il pattern raccomandato è: operazioni di lettura sono dirette, operazioni di scrittura richiedono conferma esplicita dell&#x27;utente via UI. L&#x27;AI prepara, l&#x27;utente approva, l&#x27;operazione viene eseguita.</p>



<p class="wp-block-paragraph"><strong>Quanto traffico MCP genera in banda?</strong> Trascurabile. Una sessione tipica di un&#x27;agenzia con 20 clienti attivi genera 200-500 chiamate MCP al giorno. Poche centinaia di KB di traffico.</p>



<h2 class="wp-block-heading">Checklist operativa per l&#x27;adozione</h2>



<ul class="wp-block-list"><li>[ ] Identifica le 3-5 operazioni più richieste al tuo supporto</li><li>[ ] Crea un server MCP base con capability di lettura (status, log, configurazione)</li><li>[ ] Aggiungi capability di scrittura solo dopo aver implementato audit log e autenticazione forte</li><li>[ ] Testa internamente per 2 settimane prima di esporre al cliente</li><li>[ ] Documenta le capability in un changelog visibile al cliente</li><li>[ ] Misura i ticket di supporto settimanali per 4 settimane per validare il ROI</li><li>[ ] Aggiungi una UI chat integrata nella tua dashboard di gestione</li></ul>



<h2 class="wp-block-heading">Riferimenti utili per approfondire</h2>



<ul class="wp-block-list"><li><a href="https://pressable.com/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Pressable Managed WordPress Hosting</a> - sito ufficiale del hosting managed Pressable con dettagli sulle feature AI 2026.</li><li><a href="https://wptavern.com/podcast/213-malcolm-permalty-on-managed-wordpress-hosting-and-ai-innovation-at-pressable" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WP Tavern #213: Malcolm Peralty on Managed WordPress Hosting and AI Innovation at Pressable</a> - podcast originale con Malcolm Peralty sull&#x27;integrazione MCP in Pressable.</li><li><a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Model Context Protocol specification</a> - documentazione ufficiale del protocollo MCP con esempi di implementazione.</li><li><a href="https://github.com/modelcontextprotocol/php-sdk" target="_blank" rel="noopener nofollow external" data-wpel-link="external">MCP PHP SDK</a> - SDK PHP ufficiale per implementare server MCP in hosting WordPress.</li><li><a href="https://www.mrtux.it/wordpress-hosting-ai-bianco-etichetta" data-wpel-link="internal" target="_self" rel="noopener">AI per hosting WordPress: come offrire AI integrata ai clienti senza diventare un rivenditore OpenAI</a> - guida mrtux.it sul business model white-label per hosting provider.</li><li><a href="https://www.mrtux.it/wpvibe-mcp-wordpress-gestire-sito-claude-chatgpt" data-wpel-link="internal" target="_self" rel="noopener">WPVibe e MCP per WordPress: come gestire un sito intero parlando con Claude e ChatGPT</a> - caso d&#x27;uso consumer di MCP per gestione sito via chat.</li><li><a href="https://www.mrtux.it/wp-plugin-ai-mcp-abilities-pattern" data-wpel-link="internal" target="_self" rel="noopener">Plugin AI WordPress con MCP e abilities: pattern ufficiale 2026</a> - pattern architetturale Plugin Team per MCP.</li><li><a href="https://www.mrtux.it/wordpress-self-hosted-llm-locale-ollama" data-wpel-link="internal" target="_self" rel="noopener">WordPress e LLM self-hosted nel 2026: come usare AI locale con Ollama, LM Studio e WP 7.0</a> - integrazione self-hosted LLM con WordPress.</li><li><a href="https://www.anthropic.com/news/model-context-protocol" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Anthropic MCP announcement</a> - annuncio originale del protocollo MCP da parte di Anthropic.</li><li><a href="https://developers.cloudflare.com/agents/model-context-protocol/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Cloudflare MCP server example</a> - esempio Cloudflare di server MCP production-ready.</li><li><a href="https://wordpress.org/documentation/ai-connectors/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WordPress AI Connectors 7.0</a> - documentazione ufficiale WordPress 7.0 sui connettori AI.</li><li><a href="https://www.hetzner.com/cloud" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Hetzner Cloud</a> - provider cloud usato nell&#x27;esempio caso studio per hosting self-managed MCP.</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/pressable-hosting-managed-mcp-wordpress-ai/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WPVibe e MCP per WordPress: come gestire un sito intero parlando con Claude e ChatGPT</title>
		<link>https://www.mrtux.it/wpvibe-mcp-wordpress-gestire-sito-claude-chatgpt</link>
					<comments>https://www.mrtux.it/wpvibe-mcp-wordpress-gestire-sito-claude-chatgpt#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 12:58:39 +0000</pubDate>
				<category><![CDATA[sviluppo-web]]></category>
		<category><![CDATA[ChatGPT WordPress]]></category>
		<category><![CDATA[Claude WordPress]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[Model Context Protocol]]></category>
		<category><![CDATA[SeedProd]]></category>
		<category><![CDATA[Sviluppo WordPress]]></category>
		<category><![CDATA[WPVibe]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/wpvibe-e-mcp-per-wordpress-come-gestire-un-sito-intero-parlando-con-claude-e-chatgpt</guid>

					<description><![CDATA[Il protocollo MCP di Anthropic è arrivato su WordPress grazie a WPVibe (SeedProd): ora puoi creare articoli, gestire media e modificare temi via conversazione con Claude o ChatGPT. Ecco come funziona, quanto è sicuro, e come usarlo in produzione.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Per anni l&#x27;AI in WordPress ha significato una cosa: una textarea nell&#x27;editor dove incollare il prompt e ricevere testo da inserire. Con l&#x27;arrivo del <strong>Model Context Protocol (MCP)</strong> di Anthropic e del plugin <strong>WPVibe</strong> 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 &quot;in conversazione&quot; con l&#x27;utente per task complessi. Non è un&#x27;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.</p>



<p class="wp-block-paragraph">L&#x27;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 <a href="https://www.mrtux.it/wordpress-7-ai-connectors-guida-operativa" data-wpel-link="internal" target="_self" rel="noopener">panoramica WordPress 7.0 e AI Connectors</a> e al <a href="https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo" data-wpel-link="internal" target="_self" rel="noopener">metodo per creare plugin con AI</a>.</p>



<h2 class="wp-block-heading">Cos&#x27;è il Model Context Protocol e perché riguarda WordPress</h2>



<p class="wp-block-paragraph">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&#x27;analogia corretta è <strong>USB-C per l&#x27;AI</strong>: invece di scrivere un&#x27;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.</p>



<p class="wp-block-paragraph">Prima di MCP, l&#x27;integrazione funzionava così:</p>



<ul class="wp-block-list"><li>L&#x27;utente copia un prompt da ChatGPT</li><li>Lo incolla in WordPress</li><li>L&#x27;AI restituisce un testo</li><li>L&#x27;utente lo incolla di nuovo nell&#x27;editor</li></ul>



<p class="wp-block-paragraph">Con MCP, il flusso diventa:</p>



<ul class="wp-block-list"><li>L&#x27;utente dice a Claude: &quot;Crea un articolo sul mio ultimo prodotto, aggiungi un&#x27;immagine da Unsplash, schedulalo per venerdì&quot;</li><li>Claude parla con il server MCP di WordPress esposto dal plugin</li><li>Il server MCP traduce le istruzioni in chiamate WordPress reali (wp<em>insert</em>post, wp<em>media</em>sideload<em>image, wp</em>update_post)</li><li>Claude conferma e l&#x27;utente vede il draft nell&#x27;admin</li></ul>



<p class="wp-block-paragraph">È la differenza tra &quot;AI che genera testo&quot; e &quot;AI che esegue azioni&quot;.</p>



<h2 class="wp-block-heading">WPVibe: il plugin che porta MCP su WordPress</h2>



<p class="wp-block-paragraph"><strong>WPVibe</strong> (disponibile gratuitamente su WordPress.org come <strong>Vibe AI</strong>) è un plugin sviluppato dal team di <strong>SeedProd</strong> (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.</p>



<h3 class="wp-block-heading">Cosa può fare concretamente</h3>



<p class="wp-block-paragraph">Il plugin espone una serie di &quot;tools&quot; che il modello AI può invocare. Ecco l&#x27;elenco ufficiale al momento del lancio.</p>



<ul class="wp-block-list"><li><strong>wpvibe_create_post</strong>: crea un nuovo post (status bozza di default, titolo, contenuto, categorie, tag)</li><li><strong>wpvibe_update_post</strong>: aggiorna un post esistente</li><li><strong>wpvibe_list_posts</strong>: elenca post recenti con filtri (status, data, autore)</li><li><strong>wpvibe_upload_media</strong>: carica un&#x27;immagine da URL o da prompt Unsplash nella libreria media</li><li><strong>wpvibe_set_featured_image</strong>: imposta la featured image di un post</li><li><strong>wpvibe_list_plugins</strong>: elenca plugin attivi con versione e stato aggiornamento</li><li><strong>wpvibe_health_check</strong>: esegue controlli diagnostici (versione PHP, spazio disco, plugin outdated)</li><li><strong>wpvibe_search_unsplash</strong>: cerca foto stock tramite query testuale</li><li><strong>wpvibe_edit_theme_file_sandboxed</strong>: modifica file del tema in ambiente sandbox (mai scritto direttamente su disco)</li><li><strong>wpvibe_run_wpcli</strong>: esegue un sottoinsieme limitato di comandi WP-CLI (whitelist)</li></ul>



<p class="wp-block-paragraph">L&#x27;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.</p>



<h3 class="wp-block-heading">Setup in 60 secondi</h3>



<p class="wp-block-paragraph">L&#x27;installazione è volutamente semplice.</p>



<ol class="wp-block-list"><li><strong>Installa il plugin</strong>: Bacheca → Plugin → Aggiungi nuovo → cerca &quot;Vibe AI&quot; → Installa → Attiva</li><li><strong>Genera il token di accesso</strong>: il plugin crea automaticamente un&#x27;<strong>application password</strong> WordPress (sistema nativo introdotto in WP 5.6) con scope limitato alle capability MCP</li><li><strong>Copia l&#x27;endpoint MCP</strong>: si trova in Impostazioni → Vibe AI → Connection. È un URL tipo <code>https://tuosito.it/wp-json/wpvibe/v1/mcp</code></li><li><strong>Collega il client AI</strong>: in Claude/ChatGPT/Cursor, apri la sezione &quot;Connectors&quot; o &quot;MCP Servers&quot;, incolla l&#x27;endpoint, autenticati con la application password</li><li><strong>Testa la connessione</strong>: digita &quot;Elenca i miei ultimi 5 articoli pubblicati&quot;</li></ol>



<p class="wp-block-paragraph">Da quel momento il modello può eseguire i task elencati sopra. La prima connessione richiede circa 60 secondi, le successive sono istantanee.</p>



<h2 class="wp-block-heading">Architettura di sicurezza: perché i guardrail contano</h2>



<p class="wp-block-paragraph">Un server MCP che può modificare il tuo sito è un&#x27;arma a doppio taglio. SeedProd ha implementato una serie di guardrail espliciti, documentati pubblicamente. Vediamoli uno per uno.</p>



<h3 class="wp-block-heading">Guardrail 1: nuovi post in draft di default</h3>



<p class="wp-block-paragraph">Ogni post creato via WPVibe va in stato <strong>draft</strong>, mai pubblicato direttamente. Questo significa che un&#x27;AI che decide di &quot;sbagliare tono&quot; su un articolo importante richiede un&#x27;azione umana esplicita per andare online. È il guardrail più semplice e più importante.</p>



<h3 class="wp-block-heading">Guardrail 2: cancellazioni vanno nel cestino</h3>



<p class="wp-block-paragraph">Quando l&#x27;AI elimina un contenuto, va nel cestino di WordPress (dove resta recuperabile per 30 giorni), non viene rimosso definitivamente. Doppio livello di safety: l&#x27;AI può solo spostare, non cancellare.</p>



<h3 class="wp-block-heading">Guardrail 3: modifiche ai temi in sandbox</h3>



<p class="wp-block-paragraph">Questo è il guardrail più elegante. Quando l&#x27;AI modifica un file del tema (functions.php, header.php, style.css), la modifica va in un <strong>file sandbox</strong> separato, non sovrascrive il file originale. L&#x27;utente vede un diff e deve approvare esplicitamente prima che la modifica venga applicata. In caso di errore, basta scartare il diff.</p>



<pre class="wp-block-code"><code>// Struttura del sandbox (pseudocodice del sistema)
$active_theme = wp_get_theme();
$sandbox_dir  = WP_CONTENT_DIR . '/uploads/wpvibe-sandbox/' . $active_theme-&gt;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' ) &amp;&amp; get_transient( 'wpvibe_apply_sandbox' ) ) {
        copy( $sandbox_file, $original );
        delete_transient( 'wpvibe_apply_sandbox' );
    }
} );</code></pre>



<h3 class="wp-block-heading">Guardrail 4: WP-CLI in whitelist</h3>



<p class="wp-block-paragraph">L&#x27;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.</p>



<pre class="wp-block-code"><code>// 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;
} );</code></pre>



<h3 class="wp-block-heading">Guardrail 5: autenticazione via application password</h3>



<p class="wp-block-paragraph">Il plugin usa il sistema nativo WordPress di <strong>application password</strong> (RFC 2FA-style, supportato dal core dalla 5.6). Le credenziali sono cifrate a riposo, sono revocabili in un click dall&#x27;admin, e possono essere limitate a un sottoinsieme di capability.</p>



<h2 class="wp-block-heading">Caso d&#x27;uso reale: agenzia con 15 siti clienti</h2>



<p class="wp-block-paragraph">Marco gestisce un&#x27;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.</p>



<h3 class="wp-block-heading">Workflow mattutino (15 min)</h3>



<ol class="wp-block-list"><li>Chiede a Claude: &quot;Mostrami tutti i post pubblicati ieri sera su tutti i miei siti, con il numero di commenti per ciascuno&quot;</li><li>Claude interroga i 15 server MCP in parallelo (la chiamata MCP supporta richieste multiple), aggrega i risultati, produce un report</li><li>Marco legge il report in chat e decide se intervenire</li></ol>



<h3 class="wp-block-heading">Workflow editoriale (1 ora → 15 min)</h3>



<ol class="wp-block-list"><li>Marco riceve una brief da un cliente: &quot;5 articoli sul tema X, stile Y, con immagini&quot;</li><li>Chiede a Claude: &quot;Per il sito example.com, genera 5 bozze di articoli sul tema X, stile Y, con immagini da Unsplash, tutti in draft&quot;</li><li>Claude crea 5 draft, ciascuno con featured image, tag, e categoria corretta</li><li>Marco legge le bozze in Bacheca (draft visibili), modifica dove serve, pubblica</li></ol>



<h3 class="wp-block-heading">Manutenzione tecnica</h3>



<ol class="wp-block-list"><li>Marco: &quot;Verifica salute di tutti i miei siti: versione PHP, plugin outdated, spazio disco&quot;</li><li>Claude esegue <code>wpvibe_health_check</code> su tutti i server, aggrega, segnala i problemi</li><li>Marco interviene manualmente sui siti con problemi</li></ol>



<p class="wp-block-paragraph">Risultato: tempo risparmiato ~6 ore/settimana, ROI del setup in meno di un mese.</p>



<h2 class="wp-block-heading">Limiti e problemi reali di WPVibe</h2>



<p class="wp-block-paragraph">Non è tutto rose e fiori. Ecco i limiti che ho incontrato nei test.</p>



<h3 class="wp-block-heading">Limite 1: il client AI deve supportare MCP nativamente</h3>



<p class="wp-block-paragraph">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.</p>



<h3 class="wp-block-heading">Limite 2: l&#x27;AI può solo eseguire i tool esposti</h3>



<p class="wp-block-paragraph">Se vuoi che l&#x27;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.</p>



<h3 class="wp-block-heading">Limite 3: la latenza delle operazioni multiple</h3>



<p class="wp-block-paragraph">Se chiedi a Claude &quot;Crea 10 articoli&quot;, 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.</p>



<h3 class="wp-block-heading">Limite 4: nessuna memoria persistente cross-sessione</h3>



<p class="wp-block-paragraph">L&#x27;AI non ricorda le tue preferenze tra una sessione e l&#x27;altra. Se gli dici &quot;usa sempre lo stile formale&quot;, devi ridirlo ogni volta. Soluzione: usare il file <code>CLAUDE.md</code> (per Claude) o <code>AGENTS.md</code> (per Cursor) per memorizzare le convenzioni del sito.</p>



<h2 class="wp-block-heading">Costruire il proprio MCP server WordPress custom</h2>



<p class="wp-block-paragraph">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.</p>



<pre class="wp-block-code"><code>&lt;?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'             =&gt; 'GET',
        'callback'            =&gt; 'mymcp_list_tools',
        'permission_callback' =&gt; function() {
            return current_user_can( 'edit_posts' );
        },
    ] );

    register_rest_route( 'my-mcp/v1', '/invoke', [
        'methods'             =&gt; 'POST',
        'callback'            =&gt; 'mymcp_invoke_tool',
        'permission_callback' =&gt; function() {
            return current_user_can( 'edit_posts' );
        },
    ] );
} );

// 2. Lista dei tool esposti
function mymcp_list_tools() {
    return [
        'tools' =&gt; [
            [
                'name'        =&gt; 'get_recent_comments',
                'description' =&gt; 'Restituisce gli ultimi commenti del blog',
                'inputSchema' =&gt; [
                    'type'       =&gt; 'object',
                    'properties' =&gt; [
                        'limit' =&gt; [
                            'type'        =&gt; 'integer',
                            'description' =&gt; 'Numero massimo di commenti',
                            'default'     =&gt; 10,
                        ],
                    ],
                ],
            ],
            [
                'name'        =&gt; 'get_site_stats',
                'description' =&gt; 'Restituisce statistiche aggregate del sito',
                'inputSchema' =&gt; [
                    'type'       =&gt; 'object',
                    'properties' =&gt; (object) [],
                ],
            ],
        ],
    ];
}

// 3. Invocazione del tool
function mymcp_invoke_tool( WP_REST_Request $request ) {
    $body = $request-&gt;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' =&gt; $limit, 'status' =&gt; 'approve' ] );
            return rest_ensure_response( [
                'comments' =&gt; array_map( function( $c ) {
                    return [
                        'id'       =&gt; $c-&gt;comment_ID,
                        'author'   =&gt; $c-&gt;comment_author,
                        'content'  =&gt; $c-&gt;comment_content,
                        'post_id'  =&gt; $c-&gt;comment_post_ID,
                        'date'     =&gt; $c-&gt;comment_date,
                    ];
                }, $comments ),
            ] );

        case 'get_site_stats':
            return rest_ensure_response( [
                'posts'        =&gt; wp_count_posts()-&gt;publish,
                'pages'        =&gt; wp_count_posts( 'page' )-&gt;publish,
                'comments'     =&gt; wp_count_comments()-&gt;approved,
                'users'        =&gt; count_users()['total_users'],
                'php_version'  =&gt; phpversion(),
                'wp_version'   =&gt; get_bloginfo( 'version' ),
            ] );

        default:
            return new WP_Error( 'unknown_tool', 'Tool non riconosciuto', [ 'status' =&gt; 400 ] );
    }
}</code></pre>



<p class="wp-block-paragraph">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.</p>



<h2 class="wp-block-heading">Domande frequenti</h2>



<h3 class="wp-block-heading">WPVibe è davvero gratuito?</h3>



<p class="wp-block-paragraph">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.</p>



<h3 class="wp-block-heading">Posso usarlo con ChatGPT?</h3>



<p class="wp-block-paragraph">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.</p>



<h3 class="wp-block-heading">L&#x27;AI può cancellare definitivamente un post?</h3>



<p class="wp-block-paragraph">No. Il guardrail del cestino è hardcoded: qualsiasi cancellazione passa per <code>wp_trash_post()</code>, mai <code>wp_delete_post()</code> con <code>force_delete = true</code>. I post nel cestino sono recuperabili per 30 giorni dall&#x27;admin WordPress.</p>



<h3 class="wp-block-heading">È sicuro esporre l&#x27;endpoint MCP su internet?</h3>



<p class="wp-block-paragraph">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&#x27;endpoint è protetto almeno quanto wp-admin.</p>



<h3 class="wp-block-heading">Cosa succede se l&#x27;AI propone modifiche sbagliate al tema?</h3>



<p class="wp-block-paragraph">Vanno tutte nel sandbox. L&#x27;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).</p>



<h3 class="wp-block-heading">Vale la pena rispetto a Jetpack AI o Divi AI?</h3>



<p class="wp-block-paragraph">Sono prodotti diversi. Jetpack AI e Divi AI lavorano dentro l&#x27;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&#x27;agenzia, WPVibe è enormemente più potente.</p>



<h3 class="wp-block-heading">WPVibe funziona con WooCommerce?</h3>



<p class="wp-block-paragraph">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.</p>



<h2 class="wp-block-heading">Riferimenti utili per approfondire</h2>



<ul class="wp-block-list"><li><a href="https://wpvibe.ai" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WPVibe sito ufficiale</a> - documentazione completa e setup guidato.</li><li><a href="https://wordpress.org/plugins/vibe-ai/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Vibe AI su WordPress.org</a> - download e recensioni.</li><li><a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Model Context Protocol spec Anthropic</a> - documentazione tecnica del protocollo.</li><li><a href="https://www.seedprod.com" target="_blank" rel="noopener nofollow external" data-wpel-link="external">SeedProd page builder</a> - chi sviluppa WPVibe.</li><li><a href="https://github.com/modelcontextprotocol/servers" target="_blank" rel="noopener nofollow external" data-wpel-link="external">MCP servers directory ufficiale</a> - catalogo di server MCP community.</li><li><a href="https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WordPress Application Passwords</a> - come funziona il sistema di autenticazione usato da WPVibe.</li><li><a href="https://docs.anthropic.com/en/docs/agents-and-tools/mcp" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Claude Desktop MCP setup</a> - come collegare Claude come client MCP.</li><li><a href="https://www.mrtux.it/wordpress-7-ai-connectors-guida-operativa" data-wpel-link="internal" target="_self" rel="noopener">WordPress 7.0 AI Connectors mrtux.it</a> - confronto con l&#x27;approccio alternativo dei Connectors core.</li><li><a href="https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo" data-wpel-link="internal" target="_self" rel="noopener">Creare plugin WordPress con AI mrtux.it</a> - per chi vuole costruire il proprio MCP server.</li><li><a href="https://www.mrtux.it/plugin-piratati-sicurezza-wordpress" data-wpel-link="internal" target="_self" rel="noopener">Sicurezza WordPress plugin piratati mrtux.it</a> - rischi da considerare quando si espongono endpoint.</li></ul>



<p class="wp-block-paragraph">Questa guida verrà aggiornata quando arriveranno le integrazioni WooCommerce e i tool community. Per casi d&#x27;uso specifici o problemi di setup, l&#x27;area commenti è aperta.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/wpvibe-mcp-wordpress-gestire-sito-claude-chatgpt/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
