web analytics

Pressable e MCP per WordPress: integrare AI nel hosting managed

17/06/2026

Cosa significa davvero managed hosting con AI integrata

Se hai letto AI per hosting WordPress: come offrire AI integrata ai clienti senza diventare un rivenditore OpenAI hai il quadro completo del business model lato hosting provider. Se hai letto WPVibe e MCP per WordPress: come gestire un sito intero parlando con Claude e ChatGPT 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'infrastruttura, prima ancora che il cliente installi un plugin.

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'MCP non è più un plugin che il cliente installa, è una capability di piattaforma.

Troverai l'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'agenzia può automatizzare senza scrivere un singolo prompt manuale.

Perché un hosting provider dovrebbe offrire MCP

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.

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

La scommessa di Pressable è stata: se diamo al cliente un'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.

Questo pattern è applicabile a qualsiasi hosting provider che abbia più di 500 clienti. Più sei grande, più il risparmio è significativo.

Cos'è MCP e perché è il protocollo giusto per questa integrazione

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.

Non è un plugin WordPress. Non è un'API REST tradizionale. È un'astrazione sopra le API esistenti, pensata perché un'AI possa usarle senza che tu scriva prompt artigianali per ogni chiamata. Un server MCP ben fatto espone capability come wp_site_get_status, wp_backup_create, wp_cache_purge e l'AI le chiama quando l'utente chiede "controlla se il mio sito è giù e fammi un backup di sicurezza".

Il vantaggio rispetto alle API REST tradizionali è duplice:

  1. L'AI sa cosa può fare senza che tu glielo spieghi ogni volta (grazie alla introspection del protocollo).
  2. Le risposte sono strutturate in modo che l'AI possa ragionarci sopra, non solo ricevere JSON.

Architettura: 4 layer del sistema Pressable

L'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.

Layer 1: il gateway di autenticazione

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).

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'importante è che ogni capability sia tracciata al singolo cliente.

Layer 2: il server MCP vero e proprio

Il server MCP è un'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.

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

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

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

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

Layer 3: la connessione al core di gestione

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.

L'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.

Layer 4: l'integrazione con il client AI

Il cliente finale (utente Pressable) interagisce con l'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'agenzia. La differenza è che il pannello chat è una UI controllata, mentre il client MCP espone le capability a prompt più articolati.

Le 4 capability che Pressable ha scelto di esporre

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.

Capability 1: site status e diagnostics

wp_site_get_status è 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.

Con MCP, il cliente chiede al pannello "come sta il mio sito" e ottiene risposta in 5 secondi con raccomandazioni operative concrete, non generiche. "Plugin XYZ non aggiornato da 30 giorni, vuoi che lo aggiorni?" è una risposta che un'AI con accesso al dato può dare in modo molto più utile di un operatore umano che deve aprire 4 schermate.

Capability 2: backup on-demand

wp_backup_create permette di creare un backup con un comando conversazionale. Il caso d'uso tipico è: "sto per aggiornare un plugin, fammi prima un backup di sicurezza". Prima dell'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'AI restituisce "Fatto. Backup 88472 creato, dimensione 1.2 GB, disponibile per 7 giorni".

Capability 3: cache purge intelligente

wp_cache_purge 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'AI identifica il sito, capisce dall'URL cosa pulire (tutto, solo un URL, solo i tag di cache relativi a una sezione), e risponde "Cache svuotata per /blog/, riprova tra 10 secondi".

Capability 4: staging environment

wp_staging_create è la capability più complessa. Crea un ambiente di staging su un sottodominio dedicato, copia il database e i file, e restituisce l'URL. Il caso d'uso: l'agenzia vuole testare un aggiornamento di WooCommerce su un sito del cliente prima di farlo in produzione. Con MCP, l'agenzia scrive a Claude "crea uno staging del sito cliente X partendo dal branch feature-woo-92" e l'AI orchestra l'operazione.

Setup pratico: come costruire un server MCP per il tuo hosting

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.

Step 1: installare il server MCP base

# installa l'SDK MCP per PHP
composer require mcp/sdk-php:^1.0

Step 2: creare un capability set di base

// File: mcp-server.php
require 'vendor/autoload.php';

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

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

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

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

// Capability 3: backup rapido
$server->registerTool(new Tool([
    'name' => 'wp_create_backup',
    'description' => 'Crea un backup del database e lo salva in /tmp/backups/<timestamp>.sql',
    'inputSchema' => [
        'type' => 'object',
        'properties' => [
            'site_path' => ['type' => 'string'],
        ],
        'required' => ['site_path']
    ],
    'handler' => 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 && wp db export $outfile --allow-root 2>&1");
        return json_encode(['file' => $outfile, 'size' => file_exists($outfile) ? filesize($outfile) : 0]);
    }
]));

$server->listen();

Step 3: proteggere l'endpoint con autenticazione

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.

// Autenticazione Bearer token per capability
$server->setAuthHandler(function($request) {
    $auth = $request->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
});

Step 4: logging e audit

// Log di ogni chiamata MCP per audit
$server->setMiddleware(function($request, $next) use ($server) {
    $start = microtime(true);
    $response = $next($request);
    $duration = round((microtime(true) - $start) * 1000, 2);

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

    return $response;
});

Cosa puoi automatizzare davvero con questo setup

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.

Monitoraggio mattutino

Un cron che ogni mattina alle 8:00 chiede all'AI di interrogare wp_get_status 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.

Risposta automatica ai clienti

Quando un cliente scrive "il mio sito è lento", l'AI del tuo pannello:

  1. Chiama wp_get_status per il sito del cliente.
  2. Analizza TTFB, plugin non aggiornati, errori recenti.
  3. Risponde con diagnosi specifica e proposta operativa.

Riduce i ticket di primo livello del 50-70%.

Workflow di aggiornamento WordPress sicuro

Prima di aggiornare plugin core o temi, l'AI:

  1. Chiama wp_create_backup con type=full.
  2. Esegue l'aggiornamento via WP-CLI.
  3. Chiama wp_get_status per verificare che non ci siano errori.
  4. Se ci sono errori, ripristina il backup e notifica.

È lo stesso workflow che un sysadmin esperto esegue manualmente, ma automatizzato.

Limiti e quando MCP non è la risposta giusta

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'analisi di un developer, non un tool MCP. Lo stesso vale per la risoluzione di bug profondi, decisioni di architettura, design di feature nuove.

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.

Costo operativo reale

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'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).

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.

Differenze rispetto a un hosting self-managed

Un server MCP su hosting self-managed è un'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.

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.

Caso d'uso reale: agenzia con 12 clienti

Un'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à:

  • Ticket di supporto di primo livello: da 35/settimana a 14/settimana (-60%).
  • Tempo speso in operazioni di routine (backup, cache, monitoring): da 12 ore/settimana a 3 ore/settimana.
  • Tempo di risposta medio al cliente: da 4 ore a 25 minuti (l'AI risponde subito per le richieste standard).
  • NPS cliente: da 42 a 67.

L'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.

Cosa cambia per il singolo sviluppatore

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.

Per un'agenzia con 5+ persone, invece, MCP è una delle poche innovazioni degli ultimi 5 anni che migliora strutturalmente l'operatività. Vale la pena investirci.

Differenze tra Pressable e altri managed hosting

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.

In ogni caso, MCP sta diventando uno standard di fatto per l'integrazione AI-hosting, ed è meglio posizionarsi presto che tardi.

Domande frequenti sull'integrazione MCP-hosting

Devo rifare tutto se cambio hosting? 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.

Quanto è sicuro esporre capability MCP a un'AI? Sicuro quanto l'autenticazione e l'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.

MCP funziona con qualsiasi AI? 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'SDK MCP. Gemini e altri LLM non hanno ancora supporto nativo ma è questione di mesi.

Il mio cliente finale deve configurare qualcosa? No, se l'MCP è esposto dal pannello di hosting, il cliente usa l'interfaccia chat del pannello e non vede mai i dettagli del protocollo. Zero configurazione lato cliente.

Posso usare MCP per operazioni che richiedono approvazione umana? Sì, il pattern raccomandato è: operazioni di lettura sono dirette, operazioni di scrittura richiedono conferma esplicita dell'utente via UI. L'AI prepara, l'utente approva, l'operazione viene eseguita.

Quanto traffico MCP genera in banda? Trascurabile. Una sessione tipica di un'agenzia con 20 clienti attivi genera 200-500 chiamate MCP al giorno. Poche centinaia di KB di traffico.

Checklist operativa per l'adozione

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

Riferimenti utili per approfondire

Autore articolo: Emilio Petrozzi

🌐 Creazione siti web dinamici e di commercio elettronico 🛍 assistenza WordPress 🌐 Con oltre 20 anni di esperienza nel settore, esperto nella realizzazione di soluzioni digitali personalizzate per il tuo business. 🚀

🔧 Offro assistenza WordPress completa, garantendo che il tuo sito sia sempre aggiornato e funzionante al meglio. 📈 Inoltre mi occupo dell'ottimizzazione per motori di ricerca (SEO), assicurando che il tuo sito sia sempre facilmente rintracciabile dai tuoi clienti. 💻

📢 Le mie campagne pubblicitarie web sono progettate per aumentare la visibilità del tuo brand e generare traffico di qualità verso il tuo sito. 🔒 Inoltre la sicurezza informatica è una priorità in modo tale da garantire i tuoi dati e quelli dei tuoi clienti.

🤝 Affidati a mrtux.it per un servizio professionale e di qualità, e porta il tuo business al successo nel mondo digitale! 🎯

🔑 #CreazioneSitiWeb #Ecommerce #AssistenzaWordPress #OttimizzazioneSEO #SicurezzaInformatica

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Aricoli correlati

Emilio Petrozzi  P. I.V.A. IT03080230604 - Professionista ai sensi della Legge 4/2013