Chi ha guardato l'estensibilità di ChatGPT l'ultima volta un anno fa trova un vocabolario che si è spostato due volte e una sostanza che si è spostata una sola. La parola plugin è tornata, e non significa più quello che significava nel 2023. La documentazione per sviluppatori di OpenAI definisce ora un plugin come un pacchetto di tre cose: skill, un server MCP e una UI facoltativa. Le skill aggiungono flussi di lavoro ripetibili attorno agli strumenti; il server MCP fornisce gli strumenti e l'accesso ai sistemi esterni; la UI è un insieme di risorse che alcuni strumenti restituiscono per la visualizzazione dentro ChatGPT.
La conseguenza pratica è facile da mancare. Un plugin è un involucro di distribuzione attorno a un server MCP — non un suo sostituto, e nemmeno un prerequisito per usarne uno. Il che significa che se l'obiettivo è far leggere a ChatGPT i propri file, appunti o trascrizioni di riunione, costruire un plugin significa di solito prendere il problema dal verso sbagliato. La directory e il protocollo sono due livelli diversi, e uno solo dei due si mette di mezzo.
Questo articolo separa quei livelli, usando la documentazione di OpenAI e la specifica Agent Plugins nello stato in cui si trovavano il 15 agosto 2026.
Secondo la pagina di OpenAI sull'architettura dei plugin, un plugin può contenere skill, un server MCP o entrambi. Nessuno dei due è sempre necessario. Le sole skill bastano «quando le istruzioni e gli strumenti già disponibili al modello sono sufficienti a completare il compito»; il server MCP compare quando il plugin deve raggiungere un servizio, autenticare un utente o eseguire comportamenti su un'infrastruttura gestita da qualcuno.
La divisione del lavoro tra i due merita di essere interiorizzata, perché è la stessa divisione che vale per qualsiasi configurazione di un assistente, plugin o no:
| Parte | A che cosa serve |
|---|---|
| Server MCP | Dati aggiornati, autenticazione, autorizzazione, azioni controllate |
| Skill | Sequenze di strumenti, punti di decisione, requisiti sull'output, esempi, modelli |
| UI | Risorse restituite da alcuni strumenti, mostrate in ChatGPT |
Non è un'idea specifica di ChatGPT. È lo stesso ragionamento di perché le descrizioni degli strumenti da sole non bastano: un server dice al modello che cosa può fare, una skill gli dice come questo team vuole che sia fatto. Impacchettarli insieme significa semplicemente che i due viaggiano come un'unica unità.
ChatGPT e Codex condividono una sola directory di plugin, e le schede pubbliche
sono individuabili da entrambi. Entrarci è un processo di pubblicazione con
requisiti di pubblicazione. La guida di OpenAI non lascia dubbi sul lato
hosting: per l'invio di un plugin pubblico il server MCP va distribuito su un
endpoint HTTPS stabile e raggiungibile pubblicamente, che supporti il trasporto
MCP streamable HTTP e che di norma risponde a un URL terminante in /mcp.
L'endpoint deve restare raggiungibile per la revisione del plugin e la verifica
del dominio, e la documentazione esclude esplicitamente l'uso di un tunnel
temporaneo o di un endpoint locale per l'invio pubblico.
Va letta come un'affermazione sulle schede in directory, non su MCP. Tutto ciò che contiene — HTTPS pubblico, URL stabile, revisione, verifica del dominio — esiste perché a installare la cosa saranno degli sconosciuti. Niente di tutto questo serve perché un assistente usi un server di strumenti. È la tassa dell'app store, e si paga quando si spedisce ad altre persone.
Perché il formato non è la directory. Il 6 agosto 2026 l'impacchettamento stesso è diventato uno standard aperto: Agent Plugins 1.0.0, con un comitato tecnico direttivo che raccoglie maintainer di Amazon, Cursor, Microsoft, OpenAI e Vercel, e con supporto al lancio in ChatGPT e Codex, Cursor, GitHub Copilot, Kiro e VS Code. L'obiettivo dichiarato è una base minima di interoperabilità: si impacchettano i componenti una volta invece di riordinarli per ogni client.
La struttura è volutamente noiosa. Un plugin è una directory con plugin.json
nella radice (sono richiesti solo $schema e name), le Agent Skills in
skills/, una sottodirectory ciascuna con un SKILL.md, e la configurazione
del server MCP in mcp.json. E mcp.json descrive tre trasporti: stdio per
un sottoprocesso locale avviato da un comando, streamable-http per un endpoint
remoto e sse per il vecchio trasporto 2024-11-05. La regola di conformità è
esplicita: un client che supporta i server MCP di Agent Plugins deve supportare
almeno uno tra stdio e streamable-http, e dovrebbe supportarli entrambi.
Quindi un plugin il cui server MCP gira interamente sul portatile di chi lo usa è un plugin valido. Semplicemente non è pubblicabile nella directory pubblica di OpenAI, che è un'affermazione diversa da «non ammesso». VS Code, per esempio, installa Agent Plugins da un marketplace o direttamente dall'URL di un repository Git, e i server MCP dei plugin compaiono accanto a quelli di spazio di lavoro e utente. Cursor supporta lo standard accanto al proprio formato e li gestisce entrambi dalla pagina Customize.
Saltare il plugin. Collegare il server.
config.toml, e un processo locale avviato da un
comando è un caso di prima classe: command, più args, env e cwd
facoltativi. Si aggiunge con codex mcp add, dalle impostazioni dei server MCP
dell'app desktop oppure modificando direttamente ~/.codex/config.toml.La distinzione tra queste superfici non è estetica. Un server stdio locale è un programma che il client avvia e con cui parla tramite standard input e output: nessuna porta aperta, nessun token emesso e niente che viaggi verso terzi lungo la strada per l'assistente. Un endpoint ospitato significa un operatore, una credenziale e un percorso di rete — uno scambio ragionevole per un servizio che vive davvero nel cloud, e strano per i propri appunti.
Una cosa che il cambio di impacchettamento non altera: se un assistente possa
agire lo decide il client, non il plugin. Codex espone quattro modalità di
approvazione — auto, prompt, writes e approve — dove writes chiede
conferma per gli strumenti non marcati come di sola lettura, impostabile
globalmente tramite default_tools_approval_mode oppure per singolo strumento.
VS Code, al contrario, tratta i server MCP dei plugin come implicitamente
attendibili una volta installato il plugin: a differenza dei server di spazio di
lavoro, non fanno comparire una richiesta di fiducia separata all'avvio. Vale la
pena saperlo prima di installare un plugin da un marketplace poco familiare.
È anche il motivo per cui «sola lettura» è una proprietà che un server dichiara,
non una promessa che una directory fa rispettare. Il server di Speak-Y pubblica
i comandi che modificano dati — assegnare tag a una registrazione, rinominare i
partecipanti, condividere in un canale di team — come tali, così il client chiede
conferma prima di eseguirli; la lettura è locale e non richiede nient'altro in
esecuzione. Un client può essere vincolato alla sola lettura aggiungendo
--read-only agli args del server, dopodiché i comandi che modificano non gli
vengono proprio offerti.
Per chi costruisce un'integrazione destinata ad altre persone, i plugin sono ormai la forma giusta: un pacchetto, un manifest, più client e una directory che raggiunge ChatGPT e Codex in una volta sola. Per chi cerca di dare al proprio assistente il proprio contesto, nulla di quel macchinario si applica, e ricorrervi costa una bolletta di hosting e una coda di revisione per risolvere un problema che una riga in un file di configurazione risolve già.
Speak-Y prende deliberatamente la seconda strada. Il suo server MCP è un processo locale, gratuito su ogni piano incluso Free, installabile con un clic da Impostazioni → Integrazioni — la panoramica su MCP descrive che cosa un assistente può leggere e modificare. Se resta da decidere quale assistente puntarci, il confronto tra client copre chi può avviare un server locale e chi no.
Un pacchetto, non un protocollo. La documentazione per sviluppatori di OpenAI lo definisce come skill, un server MCP e una UI facoltativa: le skill aggiungono flussi di lavoro ripetibili, il server MCP fornisce gli strumenti e l'accesso ai sistemi esterni, la UI è un insieme di risorse restituite da alcuni strumenti. Il server MCP è facoltativo — un plugin fatto solo di istruzioni e risorse può consistere di sole skill.
No. Pubblicare un plugin serve a distribuire un'integrazione ad altre persone attraverso la directory condivisa di ChatGPT e Codex. Per dare a un assistente accesso ai dati presenti sulla propria macchina si punta il client direttamente a un server MCP — Codex e l'app desktop di ChatGPT accettano un server stdio locale in config.toml, Cursor e VS Code in mcp.json. Nessuna scheda in directory, nessuna revisione, nessun hosting.
Il formato lo consente: la specifica Agent Plugins 1.0.0 definisce voci di mcp.json per i trasporti stdio, streamable-http e sse, e un client conforme deve supportare almeno stdio o streamable-http. La directory pubblica di OpenAI no: per l'invio di un plugin pubblico il server deve trovarsi su un endpoint HTTPS stabile e raggiungibile pubblicamente, e la documentazione esclude esplicitamente un endpoint locale o un tunnel temporaneo. Verificato il 15 agosto 2026.
MCP è il protocollo con cui un assistente parla a un server di strumenti. Agent Plugins, pubblicato il 6 agosto 2026, è un formato di impacchettamento che dice dove stanno le parti di un plugin: plugin.json nella radice, le skill in skills/, la configurazione del server MCP in mcp.json. Il suo comitato tecnico direttivo comprende maintainer di Amazon, Cursor, Microsoft, OpenAI e Vercel, e i client al lancio sono ChatGPT e Codex, Cursor, GitHub Copilot, Kiro e VS Code.
No, e non ha bisogno di esserlo. Speak-Y distribuisce un server MCP locale che il client avvia sulla macchina di chi lo usa, così registrazioni e trascrizioni vengono lette dalla libreria su disco invece di essere caricate su un endpoint gestito da qualcun altro. Si installa con un clic da Impostazioni → Integrazioni ed è gratuito su ogni piano, incluso Free.