Skip to Content

Agent Pilot

Agent Pilot trasforma il tuo sito WordPress in un server MCP (Model Context Protocol) remoto e sicuro. Installalo, connetti Claude — da claude.ai sul web, da Claude Desktop o da Claude Code — e il tuo sito diventa qualcosa che Claude può davvero gestire: cercare articoli e prodotti, redigere e modificare pagine in linea con il brand, aggiornare gli ordini WooCommerce, moderare i commenti, svuotare le cache e molto altro.

La parte difficile nel dare a un’AI l’accesso al tuo sito è farlo in modo sicuro. Agent Pilot è costruito attorno a questo problema. Ogni connessione passa per un handshake OAuth 2.1 completo, ogni token di accesso è legato a uno specifico utente WordPress e ogni tool ricontrolla le capability di quell’utente prima di essere eseguito. Claude non può mai fare di più della persona che lo ha autorizzato — e tutto ciò che fa viene scritto in un log di audit che puoi consultare e revocare in qualsiasi momento.

Agent Pilot OAuth consent screen
La schermata di consenso: prima che qualsiasi connessione funzioni, un amministratore effettua il login e approva esattamente ciò che l’agente può fare. L’agente eredita le capability di quell’utente — mai di più.

Punti di forza

  • Basato su standard e indipendente dal client. Un server MCP conforme sul transport Streamable-HTTP con OAuth 2.1 completo (authorization code + PKCE + refresh, Dynamic Client Registration). Funziona da subito con i connettori personalizzati di claude.ai, con Claude Desktop e con Claude Code.
  • Multi-utente e multi-istanza. Connetti più istanze di Claude — anche come utenti WordPress diversi. Ogni token è legato all’utente che lo ha approvato e limitato al ruolo di quell’utente. Il connettore di uno shop manager vede solo ciò che uno shop manager può fare.
  • 25 tool integrati su quattro scope di permessi — lettura, creazione di contenuti, WooCommerce e gestione del sito — più uno scope opzionale di knowledge base di Chatbot Pilot e qualsiasi tool che altri plugin Pilot contribuiscono (fatturazione, posta transazionale, sicurezza, SEO, abbonamenti).
  • Controllo dei tool per ruolo e per utente. Una schermata Tools dedicata abilita o disabilita ogni tool — o un intero scope — per qualsiasi ruolo WordPress o singolo utente. Gli amministratori ottengono tutto per impostazione predefinita; ogni altro ruolo parte vuoto e gli viene concesso esattamente ciò di cui ha bisogno.
  • Modifiche chirurgiche ai contenuti. wp_replace_in_post esegue modifiche mirate di tipo trova-e-sostituisci, così Claude può correggere un refuso su una pagina Divi o Elementor senza riscrivere migliaia di righe di markup del page builder.
  • Difesa in profondità. Una schermata di consenso, doppi controlli scope-su-capability, conferma per singola chiamata per le azioni distruttive, un log di audit completo, rate limiting, una allowlist IP opzionale e la rotazione delle chiavi con un click.
  • Crittografato a riposo. La chiave di firma OAuth viene generata all’attivazione e memorizzata in forma crittografata con i salt di WordPress (oppure conservata in un file esterno al database, se preferisci).
  • Nessun lock-in, nessuna telemetria. Self-hosted. I tuoi dati e le credenziali del tuo provider AI non passano mai dai nostri server.

Come funziona

Due standard aperti svolgono il lavoro pesante:

  • OAuth 2.1 risponde alla domanda “chi può entrare, e per fare cosa?”. Quando un client Claude raggiunge il tuo sito per la prima volta non ha alcun token, quindi viene indirizzato a un flusso di login e consenso. Un amministratore approva un insieme di scope e il client riceve un token di accesso firmato e a tempo limitato.
  • MCP (Model Context Protocol) risponde alla domanda “cosa può davvero fare l’agente?”. Una volta autenticato, Claude chiama un unico endpoint che espone una lista di toolwp_list_posts, wp_save_post, wc_list_orders e così via. Claude vede solo i tool che il suo token è autorizzato a usare.

La discovery, il login, il consenso e lo scambio del token avvengono tutti automaticamente la prima volta che aggiungi il connettore. Da quel momento in poi Claude si riconnette in modo silenzioso usando il suo refresh token.

Requisiti

ComponenteConsigliato
WordPress5.8 o successivo (testato fino alla 7.0)
PHP8.0 o successivo
WooCommerce7.0+ (opzionale — i tool Woo compaiono solo quando è attivo)
Chatbot Pilotopzionale — i tool della knowledge base compaiono solo quando è attivo
HTTPSRichiesto per claude.ai web; consigliato ovunque
Salt di WordPressAUTH_KEY / SECURE_AUTH_KEY univoci in wp-config.php (usati per crittografare la chiave di firma)
Raggiungibilitàclaude.ai si connette dal cloud Anthropic, quindi il sito deve essere raggiungibile pubblicamente per il client web (i client locali possono usare un URL locale)

Installazione

  1. Apri Plugin → Aggiungi nuovo → Carica plugin nell’area admin di WordPress e carica il file ZIP di Agent Pilot.
  2. Attiva Agent Pilot. All’attivazione crea le sue tabelle nel database, assegna la capability manage_agent_pilot agli amministratori e genera automaticamente le chiavi di firma OAuth.
  3. Apri Agent Pilot → Connectors. Copia l’URL dell’endpoint MCP mostrato in alto — è quell’indirizzo che fornisci a Claude.
  4. Aggiungi il connettore nel tuo client Claude (vedi sotto) e completa il login
    • consenso una tantum.

Connettere Claude

Tutto ciò che serve a un client si trova nella schermata Connectors: l’endpoint MCP, l’issuer OAuth e un comando pronto da incollare per Claude Code.

Agent Pilot Connectors admin screen
La schermata Connectors — i dettagli di connessione in alto, poi i connettori registrati, i token di accesso attivi (uno per utente/connessione), la rotazione delle chiavi e un log di audit in tempo reale dell’attività recente.

claude.ai (web) e Claude Desktop

In Claude, apri Settings → Connectors → Add custom connector e incolla il tuo endpoint MCP (ad esempio https://your-site.com/wp-json/agent-pilot/v1/mcp). Claude apre la pagina di login del tuo sito, tu approvi la schermata di consenso e il connettore è pronto. Il client web si connette dal cloud di Anthropic, quindi il tuo sito deve essere raggiungibile su HTTPS pubblico.

Claude Code

claude mcp add --transport http agent-pilot https://your-site.com/wp-json/agent-pilot/v1/mcp

Claude Code avvia il flusso OAuth nel tuo browser; dopo l’approvazione, i tool sono disponibili nella tua sessione. Esegui /mcp per vederli, oppure chiedi semplicemente a Claude di fare qualcosa — “elenca gli ultimi cinque articoli in bozza”, “mostrami gli ordini in elaborazione di questa settimana”.

Scegliere come quale utente agisce l’agente

La schermata di consenso viene eseguita come l’utente WordPress autenticato e il token risultante eredita le capability di quell’utente. Per una connessione strettamente delimitata, crea un utente WordPress dedicato con un ruolo limitato (più la capability manage_agent_pilot per consentirgli di autorizzare) e approva il connettore mentre sei loggato come quell’utente. L’agente potrà quindi fare esattamente ciò che quell’utente può fare — e niente di più.

Cosa può fare Claude

I tool sono raggruppati in quattro scope. Durante il consenso decidi quali scope riceve un connettore; al momento della chiamata ogni tool verifica inoltre la capability WordPress dell’utente legato. Entrambi i controlli devono andare a buon fine.

Lettura (wp.read)

Ispezione del sito in sola lettura. Sicura da concedere ampiamente.

ToolCosa fa
wp_get_site_infoNome del sito, URL, versioni, tema attivo, stato di WooCommerce, conteggi dei contenuti
wp_get_site_contextTema, palette di colori, tipografia, block pattern e un articolo recente — così i contenuti generati rispettano il tuo stile
wp_list_postsCerca ed elenca articoli, pagine e qualsiasi custom post type
wp_get_postRecupera un singolo articolo/pagina con il contenuto completo e i metadati
wp_list_termsElenca i termini delle tassonomie (categorie, tag, categorie prodotto…)
wc_list_products / wc_get_productCerca e leggi i prodotti WooCommerce
wc_list_orders / wc_get_orderCerca e leggi gli ordini con le relative voci
wc_list_customersCerca i clienti con numero di ordini e spesa totale

Scrittura contenuti (wp.content.write)

Crea e modifica contenuti. Le azioni distruttive richiedono un flag confirm esplicito.

ToolCosa fa
wp_save_postCrea un nuovo articolo/pagina/CPT o aggiorna completamente uno esistente
wp_replace_in_postTrova e sostituisci mirato all’interno di una pagina — il modo sicuro per correggere un refuso o una riga su una pagina creata con page builder (vedi sotto)
wp_delete_postSposta nel cestino o elimina definitivamente un articolo (confirm richiesto)
wp_upload_mediaImporta un’immagine/file da un URL nella libreria media
wc_save_productCrea o aggiorna un prodotto WooCommerce
wc_save_orderAggiorna lo stato di un ordine o aggiungi una nota all’ordine
wp_commentsElenca e modera i commenti (approva, disapprova, spam, cestino)

Gestione del sito (wp.manage)

Operazioni amministrative. Ogni modifica distruttiva richiede conferma.

ToolCosa fa
wp_optionsLeggi o aggiorna un’opzione WordPress (gli aggiornamenti richiedono confirm; i segreti dei plugin sono bloccati)
wp_pluginsElenca, attiva o disattiva i plugin (confirm)
wp_themesElenca i temi installati o cambia il tema attivo (confirm)
wp_usersElenca, leggi, crea, aggiorna o elimina utenti — con protezioni contro l’eliminazione di te stesso o dell’ultimo amministratore (confirm)
wp_maintenanceSvuota la object cache, rigenera le rewrite rule, cancella i transient

Knowledge base (wp.kb)

Disponibile solo quando Chatbot Pilot è attivo.

ToolCosa fa
kb_searchRicerca semantica (embedding) sulla tua knowledge base di Chatbot Pilot
kb_statsStatistiche di indicizzazione: file scansionati/indicizzati, chunk, ultima esecuzione
kb_reindexAvvia una reindicizzazione in background (richiede la capability di gestione)

Tool da altri plugin

Agent Pilot è estensibile: qualsiasi plugin può registrare i propri scope e tool MCP, che poi fluiscono automaticamente attraverso la discovery, la schermata di consenso e la schermata Tools. Ogni scope contribuito viene mappato su una capability WordPress proprio come quelli integrati, quindi si applica lo stesso doppio controllo scope-e-capability. In tutta la suite Pilot questo include già:

PluginAggiunge la possibilità di
Invoice PilotLeggere le fatture ed emetterne una a partire da un ordine WooCommerce
Mail PilotSfogliare il log degli invii e inviare un’email tramite il mailer del sito
Security PilotLeggere lo stato di sicurezza e il log degli attacchi, bloccare o sbloccare un IP
AI SEO PilotLeggere i campi SEO di un articolo e impostarne meta description, focus keyword e schema
SubscriptionsVisualizzare gli abbonamenti degli utenti, lo stato e le date di fatturazione

La schermata Tools — accesso per ruolo e per utente

Gli scope decidono a grandi linee cosa può fare un connettore; la schermata Agent Pilot → Tools ti consente di andare più nel dettaglio, abilitando o disabilitando singoli tool — o un intero scope — per un ruolo WordPress o un utente specifico.

Schermata Tools di Agent Pilot — accesso ai tool per ruolo e per utente
La schermata Tools: scegli un ruolo (o cerca un utente), poi imposta ogni tool o scope su Predefinito, Attivato o Disattivato. I tool distruttivi sono segnalati e i tool contribuiti da altri plugin Pilot compaiono raggruppati sotto i propri scope.
  • Impostazioni predefinite sicure per l’admin. Gli amministratori ottengono ogni tool per impostazione predefinita. Ogni altro ruolo parte con nessun tool — concedi esattamente ciò di cui ha bisogno, per scope o per singolo tool.
  • Tre stati per riga. Predefinito, Attivato o Disattivato. Una regola a livello di tool prevale su una regola a livello di scope; tra i ruoli di un utente, un Disattivato vince sempre.
  • Override per utente. Digita un nome o un’email per caricare un singolo utente e regolare il suo accesso indipendentemente dal suo ruolo.
  • Solo restrittivo, e tracciato. Questo livello si colloca sopra il consenso agli scope OAuth e le capability di WordPress — può togliere tool, mai concedere qualcosa che l’utente legato non potesse già fare. Ogni chiamata bloccata viene scritta nel log di audit.

Modificare in sicurezza le pagine dei page builder

Le pagine costruite con Divi, Elementor, WPBakery e builder simili memorizzano il loro layout come migliaia di righe di shortcode o JSON dentro post_content. Riscrivere tutto solo per correggere un refuso è rischioso — un solo carattere fuori posto può rompere la pagina.

wp_replace_in_post risolve questo problema. Invece di sovrascrivere l’intera pagina, fornisci a Claude il testo esatto da trovare e la sua sostituzione, e cambiano solo quei byte — il markup del builder circostante viene preservato byte per byte. Supporta più modifiche in una singola chiamata (ad esempio un refuso e una riga di FAQ), si rifiuta di agire quando il testo cercato non viene trovato e per default richiede che lo snippet sia unico, così nulla viene cambiato per errore.

Suggerimento: chiedi prima a Claude di leggere la pagina con wp_get_post così copia il testo esatto, e di eseguire wp_maintenance al termine se il builder mette in cache una versione statica della pagina.

Modello di sicurezza

Agent Pilot stratifica diverse protezioni indipendenti:

  • OAuth 2.1, non una chiave condivisa. Grant di tipo authorization-code con PKCE e refresh token. I token di accesso sono JWT firmati a vita breve; non c’è alcuna password statica che possa trapelare.
  • Legato a un utente. Ogni token porta con sé l’utente WordPress che lo ha approvato. Le chiamate ai tool vengono eseguite come quell’utente, quindi le regole di ruolo e capability si applicano esattamente come in wp-admin.
  • Scope e capability. Uno scope dice “questo connettore può scrivere contenuti”; il controllo di capability dice “questo utente è effettivamente autorizzato a farlo.” Entrambi devono passare, a ogni chiamata.
  • Limitazione dei tool per ruolo / per utente. Oltre agli scope, la schermata Tools può disabilitare singoli tool (o interi scope) per un ruolo o un singolo utente. È un livello solo restrittivo — sempre applicato, e ogni chiamata bloccata viene tracciata.
  • Un consenso che puoi leggere. La schermata di approvazione indica il nome del connettore, mostra l’host richiedente ed elenca ogni permesso richiesto — segnalando quelli che il tuo account non può effettivamente concedere.
  • Le azioni distruttive sono protette. Eliminare contenuti, cambiare plugin/temi/utenti o aggiornare opzioni richiede un confirm esplicito nella richiesta, a meno che tu non contrassegni deliberatamente un connettore come attendibile.
  • Tutto viene tracciato. Autorizzazioni, registrazioni, ogni chiamata a un tool e ogni tentativo fallito vengono registrati con utente, connettore, timestamp e IP.
  • Rate limiting e allowlist IP. Limiti di richieste per connettore, più una allowlist CIDR opzionale per deployment a tenuta stagna.
  • Revoca e rotazione. Disabilita un connettore o un singolo token con un click, oppure ruota le chiavi di firma per invalidare tutti i token in una sola volta.

La schermata Connectors

Agent Pilot → Connectors è la cabina di comando:

  • Connect Claude to this site — l’endpoint MCP, l’issuer OAuth e l’URL dei metadata della risorsa protetta, più un comando da copiare e incollare per Claude Code.
  • Registered connectors — ogni client che si è registrato (ciascuna istanza di Claude è una voce a sé), con il suo tipo e un Revoke con un click.
  • Active access tokens — una riga per ogni connessione attiva, con l’utente, il connettore, gli scope concessi e la scadenza, ciascuno revocabile singolarmente.
  • Signing keysRotate keys invalida immediatamente tutti i token emessi; i connettori semplicemente si riautorizzano.
  • Recent activity — una traccia di audit in tempo reale. Una normale nuova connessione appare come auth_fail (la sonda di discovery iniziale) → dcr (registrazione) → authorize (approvata) → voci tool_call mentre Claude lavora. Le sonde non autenticate che appaiono come auth_fail sono attese per qualsiasi endpoint pubblico.

Riferimento impostazioni

Configura il comportamento sotto Agent Pilot → Settings.

Agent Pilot settings
La schermata delle impostazioni.
ImpostazioneScopo
Enable MCP serverInterruttore principale. Quando è disattivato, gli endpoint OAuth e MCP restituiscono 503.
Accept new connectorsConsente la Dynamic Client Registration. claude.ai web ne ha bisogno per auto-registrarsi; disattivala per congelare la lista dei connettori.
Trust connectors (skip confirmations)Quando è attivo, i tool distruttivi vengono eseguiti senza il flag confirm per chiamata. Lascialo disattivato per sicurezza.
Access-token lifetimePer quanto tempo è valido un token di accesso, in secondi (i refresh token estendono la sessione).
MCP rate limitNumero massimo di richieste MCP al minuto, per connettore.
IP allowlistLista CIDR opzionale. Vuota = consenti tutti. Nota che claude.ai si connette da IP del cloud Anthropic.
Extra redirect hostsHost di redirect OAuth aggiuntivi da accettare in fase di registrazione. claude.ai / claude.com e localhost sono sempre consentiti.
Audit-log retentionPer quanti giorni conservare le voci di audit prima della pulizia automatica.
Remove all data on uninstallQuando è abilitato, eliminando il plugin si rimuovono le sue tabelle, opzioni e la capability.

Multi-utente e multi-istanza

Poiché ogni token è legato a un utente WordPress, puoi connettere molti agenti contemporaneamente con raggio d’azione diverso:

  • Connetti Claude Desktop come editor per i contenuti quotidiani e Claude Code come amministratore per la manutenzione del sito.
  • Dai a un collega il suo connettore sotto il suo account WordPress — il log di audit attribuisce ogni azione alla persona giusta.
  • Le connessioni concorrenti sono isolate; la sessione e i permessi di un agente non sconfinano mai in quelli di un altro.

Risoluzione dei problemi

Il connettore autorizza ma Claude non elenca mai i tool. È quasi sempre una discrepanza nell’URL. Assicurati di aver usato l’endpoint MCP esatto mostrato nella schermata Connectors e che il tuo sito sia raggiungibile su HTTPS dal client.

Ogni richiesta mostra auth_fail anche con un token. Alcune configurazioni Apache/nginx rimuovono l’header Authorization prima che raggiunga PHP. Aggiungi una regola di rewrite per farlo passare (la stessa correzione usata per le application password di WordPress).

claude.ai non riesce a raggiungere il sito. Il client web si connette dal cloud di Anthropic — un URL localhost non funzionerà. Usa un dominio HTTPS raggiungibile pubblicamente.

Un tool restituisce “forbidden”. All’utente WordPress legato manca la capability per quell’azione. Autorizza come utente con il ruolo giusto, oppure concedi la capability.

Un tool distruttivo si rifiuta di eseguire. Ha bisogno di "confirm": true nella richiesta (oppure abilita Trust connectors). Chiedi a Claude di riprovare con la conferma.

Il sito è andato in white-screen dopo l’attivazione insieme a un altro plugin. Svuota l’opcache di PHP (o riavvia PHP) una volta dopo l’attivazione se il loader condiviso di un plugin affine è stato messo in cache in uno stato incoerente.

Disinstallazione

La disattivazione ferma il server e i job pianificati. L’eliminazione del plugin ne rimuove il codice; lascia i tuoi dati al loro posto a meno che tu non abbia abilitato Remove all data on uninstall nelle impostazioni, nel qual caso le sue tabelle, opzioni e la capability manage_agent_pilot vengono rimosse.

Last updated on