n8n e MCP: collegare i tuoi workflow a un LLM locale
n8n e MCP si combinano in entrambe le direzioni: n8n può esporre i suoi workflow come strumenti MCP grazie al nodo MCP Server Trigger, e un agente n8n può chiamare gli strumenti di un server MCP esterno grazie al nodo MCP Client Tool. Questa guida mostra entrambe le configurazioni, con un agente che gira su un modello locale servito da Ollama, e poi come proteggere gli URL che n8n pubblica. Si basa sulla documentazione ufficiale di n8n e non tratta i server MCP di terze parti scritti per controllare n8n, che sono un altro argomento.
#n8n e MCP: due nodi, due direzioni di flusso
Il Model Context Protocol (MCP) è un protocollo aperto che descrive come un'applicazione di IA scopre e chiama strumenti forniti da un server. Se il concetto ti è nuovo, la guida «MCP: che cos'è?» getta le basi; qui si dà per acquisito il vocabolario client, server e strumento.
In n8n, MCP compare sotto forma di due nodi della famiglia IA (pacchetto n8n-nodes-langchain). Rispondono a due esigenze opposte, ed è facile confonderli leggendo i tutorial.
- MCP Server Trigger: n8n diventa server
- Il nodo pubblica un URL MCP. Ogni strumento che gli colleghi (un sub-workflow, una richiesta HTTP, uno strumento integrato) diventa uno strumento MCP che un client esterno può elencare e chiamare. Uso tipico: dare al tuo assistente locale l'accesso a «crea un ticket», «cerca nel CRM» o «invia un riepilogo», senza dargli le tue credenziali.
- MCP Client Tool: n8n diventa client
- Il nodo si collega come strumento sotto un nodo AI Agent. Si connette a un server MCP esistente, recupera il suo elenco di strumenti e li mette a disposizione dell'agente. Uso tipico: un workflow pianificato in cui l'agente legge file, interroga un database o consulta una documentazione tramite un server MCP già attivo.
- Cosa MCP non cambia
- La scelta del modello resta indipendente. L'agente n8n può girare su Ollama; anche il client che chiama il tuo MCP Server Trigger può usare un modello locale. MCP trasporta solo la descrizione degli strumenti e le loro chiamate, non il modello.
I due nodi possono coesistere nella stessa istanza: un workflow «server» che espone alcune azioni di business e un workflow «agente» che utilizza uno o più server MCP. Nulla impedisce nemmeno a un agente n8n di chiamare l'MCP Server Trigger di un altro workflow della stessa istanza, il che equivale a scomporre un grande agente in blocchi riutilizzabili.
#Prerequisiti
Approfitta della nostra esperienza e di un percorso guidato per andare oltre con i tuoi agenti locali e le tue automazioni.
- Spazio online a vita
- PDF + file
- Garanzia di rimborso di 30 giorni
- Un'istanza n8n recente
- Self-hosted, preferibilmente con Docker. I nodi MCP sono comparsi nel 2025 e da allora si sono evoluti (transport, opzioni di autenticazione): aggiorna n8n e fai riferimento a ciò che mostra il tuo editor. L'installazione vera e propria è descritta nella guida n8n con Docker.
- Ollama raggiungibile da n8n
- Ollama è in ascolto per impostazione predefinita su http://localhost:11434. Se n8n gira in un container, localhost indica il container, non la tua macchina: servirà un altro indirizzo (vedi passaggio 1).
- Un modello che gestisce le chiamate agli strumenti
- Un agente è utile solo se il modello sa produrre chiamate a strumenti strutturate. Scegli un modello la cui scheda Ollama mostri la capacità tools, per esempio della famiglia Qwen3. In Q4_K_M, un 8B sta in circa 5 GB di VRAM e un 14B in circa 9 GB, il che resta comodo su una RTX 3060 da 12 GB o una RTX 4070 da 12 GB.
- Per il passo 2
- Un server MCP accessibile via HTTP. I server avviati solo in locale tramite stdio (un comando npx o uvx) non sono raggiungibili così come sono da n8n: serve un server in ascolto su un URL.
- Per il passaggio 4
- Un client MCP in grado di comunicare con un server remoto: LM Studio, Open WebUI, Claude Desktop tramite un gateway, oppure l'inspector ufficiale del protocollo per i test.
#Passaggio 1: un agente n8n collegato a un modello locale
Entrambe le direzioni di MCP passano per un agente, lato n8n o lato client. Inizia quindi verificando che n8n riesca a comunicare con il tuo modello locale. La connessione di base è trattata nel dettaglio nella guida n8n + Ollama; ecco lo stretto necessario.
Se n8n gira in Docker e Ollama direttamente sull'host, aggiungi al servizio n8n una voce che faccia puntare host.docker.internal alla macchina host. Con Docker Desktop (macOS, Windows), questo nome esiste già; su Linux, devi dichiararlo.
Su Linux, Ollama per impostazione predefinita è in ascolto solo su 127.0.0.1: un container non riuscirà a raggiungerlo tramite host-gateway finché non avrai impostato OLLAMA_HOST=0.0.0.0 nel servizio Ollama. Se entrambi girano nello stesso file Compose, usa piuttosto il nome del servizio, per esempio http://ollama:11434.
- 01Creare l'agenteIn un nuovo workflow, aggiungi un trigger Chat Trigger (comodo per i test), poi un nodo AI Agent.
- 02Collegare il modelloSull'ingresso Chat Model dell'agente, aggiungi Ollama Chat Model. Crea la credenziale Ollama con l'URL di base http://host.docker.internal:11434 (o http://localhost:11434 se n8n non è in un container), poi seleziona qwen3:8b.
- 03Provare senza strumentiApri la chat del workflow e fai una domanda semplice. Una risposta conferma il collegamento da n8n a Ollama; il resto della guida aggiunge strumenti sopra.
#Passaggio 2: usare un server MCP da un agente n8n
Il nodo MCP Client Tool si collega all'ingresso Tool dell'AI Agent, come qualsiasi strumento. In esecuzione interroga il server MCP, recupera l'elenco degli strumenti con la loro descrizione e il loro schema di parametri, e li presenta al modello. È il modello a decidere di chiamare un certo strumento con certi argomenti; n8n si occupa di inoltrare la chiamata e restituire il risultato.
- 01Aggiungere il nodoSotto l'agente creato al passaggio 1, clicca sul + dell'ingresso Tool e scegli MCP Client Tool.
- 02Inserire l'endpointIncolla l'URL del server MCP e scegli il transport offerto da quel server. La documentazione di n8n cita lo streaming HTTP (streamable HTTP), transport attuale del protocollo, e i Server-Sent Events (SSE), più vecchi e ancora serviti da alcuni server. Se il server documenta un URL che termina con /sse, in genere si tratta di SSE; altrimenti prova HTTP.
- 03Scegliere l'autenticazioneNessuna, Bearer (un token inviato nell'header Authorization) oppure un header personalizzato, a seconda di ciò che richiede il server. Le opzioni esatte dipendono dalla tua versione di n8n; il token viene salvato come credenziale n8n, non in chiaro nel workflow.
- 04Filtrare gli strumentiIl parametro Tools to Include offre All, Selected o All Except. Preferisci Selected: un modello locale da 8B sceglie meglio tra tre strumenti ben descritti che tra trenta, e limiti ciò che l'agente può attivare.
- 05TestareChiedi nella chat un'azione che richiede lo strumento. Nel log di esecuzione dell'agente vedi lo strumento chiamato, gli argomenti generati dal modello e la risposta del server.
Promemoria pratico: n8n deve poter raggiungere il server MCP. Un server avviato sul tuo computer all'indirizzo localhost:3000 non è visibile dal container n8n; vale la stessa regola di host.docker.internal o del nome del servizio Docker.
#Passaggio 3: esporre i tuoi workflow con l'MCP Server Trigger
È la direzione più richiesta dietro la ricerca «n8n mcp»: trasformare automazioni esistenti in strumenti che un assistente può chiamare. L'MCP Server Trigger si distingue dai trigger classici: non avvia una sequenza di nodi, si collega solo a nodi strumento e li pubblica.
- 01Creare il workflow serverCrea un nuovo workflow e aggiungi il nodo MCP Server Trigger. Mostra un URL di test e un URL di produzione, oltre a un campo Path che determina la parte finale dell'URL. Se vuoi, sostituisci l'identificativo casuale con un percorso leggibile, ma fai in modo che resti difficile da indovinare.
- 02Collegare gli strumentiFai clic sull'ingresso Tool del trigger e aggiungi degli strumenti. Il più utile è lo strumento che chiama un altro workflow n8n (Call n8n Workflow Tool): la tua automazione esistente diventa uno strumento MCP. Puoi anche collegare HTTP Request Tool o strumenti di integrazione forniti da n8n.
- 03Curare nome e descrizioneIl client vede solo il nome dello strumento, la sua descrizione e lo schema dei suoi parametri. È questo il testo che il modello legge per decidere se fare una chiamata. Scrivi una descrizione esplicita, in una o due frasi: cosa fa lo strumento, i parametri attesi, cosa restituisce.
- 04Definire i parametri del sub-workflowNel workflow richiamato, dichiara i campi di input previsti (ad esempio titolo e priorità di un ticket). Il client MCP riceverà questo schema e il modello compilerà i valori.
- 05Testare e poi attivareL'URL di test risponde solo mentre l'editor è in ascolto di un evento di test; le esecuzioni compaiono allora nel canvas. L'URL di produzione funziona solo dopo che il workflow è stato attivato. Tieni l'URL di test per la messa a punto e dai l'URL di produzione ai tuoi client.
L'indirizzo di base riprende quello che n8n usa per i suoi webhook. Se n8n mostra localhost:5678 mentre tu vi accedi con un altro nome, correggi la variabile WEBHOOK_URL dell'istanza: è questa a determinare l'URL mostrato nel nodo.
#Passaggio 4: collegare un client MCP locale a n8n
Resta da far chiamare questi strumenti da un assistente che gira, anch'esso, su un modello locale. Prima di qualsiasi client «intelligente», verifica il server con l'inspector ufficiale del protocollo: elenca gli strumenti esposti e permette di chiamarli manualmente, senza un modello nel ciclo.
Nell'interfaccia, scegli il transport corrispondente, incolla l'URL di produzione, aggiungi l'header Authorization se hai attivato l'autenticazione, quindi elenca gli strumenti. Se i tuoi strumenti n8n compaiono con la loro descrizione, il server è pronto.
#LM Studio e i client che accettano un URL
I client recenti accettano direttamente un server MCP remoto descritto da un URL. LM Studio, per esempio, legge un file mcp.json nel formato mcpServers; una voce remota ha la forma riportata qui sotto. Verifica nella documentazione del tuo client il nome esatto dei campi, che può variare da un software all'altro.
#I client limitati a stdio: passare per un gateway
Alcuni client sanno avviare solo server locali in stdio. Per questo caso la documentazione di n8n descrive l'uso del gateway mcp-remote, che si avvia come un server stdio e inoltra le chiamate all'URL di n8n. Il token viene passato tramite una variabile d'ambiente anziché essere scritto direttamente negli argomenti.
Lato modello valgono le stesse regole del passaggio 2: carica nel tuo client un modello che supporti la chiamata di strumenti, mantieni visibili pochi strumenti e prova prima con una richiesta priva di ambiguità. La guida MCP e LLM locale descrive nel dettaglio la configurazione lato client per Ollama e le sue interfacce.
#Proteggere gli endpoint MCP di n8n
Un URL MCP Server Trigger è un punto di ingresso che attiva i tuoi workflow con le credenziali salvate in n8n. Chiunque lo conosca, senza autenticazione, può creare i tuoi ticket o leggere il tuo CRM. Trattalo come una chiave API.
- Attivare l'autenticazione
- Il nodo offre l'autenticazione tramite token Bearer o tramite header. Attivala sempre, anche su una rete locale. Genera un token lungo e casuale, per esempio con il comando openssl qui sotto, e un token diverso per ogni client, così da poterne revocare uno solo.
- Non esporre n8n su Internet senza motivo
- Per un uso personale o in un piccolo team, tieni n8n sulla rete locale o dietro una VPN (WireGuard, Tailscale). Se l'esposizione è necessaria, passa per un reverse proxy in HTTPS, con filtraggio degli IP se possibile.
- Limitare ciò che ogni strumento può fare
- Uno strumento MCP deve fare una cosa precisa con parametri delimitati. Evita di esporre uno strumento generico «eseguire una query SQL» o «chiamare un URL qualsiasi»: un modello che sbaglia, o un contenuto malevolo letto dall'agente, può sfruttarlo in modo improprio.
- Diffidare della prompt injection
- Se l'agente legge contenuti esterni (e-mail, pagine web, documenti) e dispone di strumenti che compiono azioni, un testo malevolo può ordinargli di chiamare uno strumento. Separa gli strumenti di lettura da quelli di azione e aggiungi una convalida umana (nodo di attesa o di approvazione) prima di qualsiasi azione irreversibile.
- Verificare il lato server MCP di terze parti
- Lato client, aggiungi a un agente solo server MCP di cui conosci lo sviluppatore e il codice. Le descrizioni degli strumenti fornite dal server entrano direttamente nel contesto del modello.
- Monitorare le esecuzioni
- Ogni chiamata a uno strumento produce un'esecuzione in n8n. Consulta regolarmente la cronologia del workflow server: è il tuo registro di audit.
Se davanti a n8n c'è un reverse proxy, deve lasciar passare una risposta in streaming. La documentazione di n8n fornisce un esempio nginx che disattiva il buffering per i percorsi MCP; lo snippet qui sotto riprende queste direttive, da adattare alla tua configurazione e da completare con il percorso /mcp-test/ se esegui i test attraverso il proxy.
#Risoluzione dei problemi n8n MCP: i blocchi più frequenti
- Il client non vede alcuno strumento
- Verifica che degli strumenti siano effettivamente collegati all'ingresso Tool del MCP Server Trigger e che tu stia usando l'URL di produzione con un workflow attivato, oppure l'URL di test mentre l'editor è in ascolto.
- Errore 401 o 403
- Il token non corrisponde, oppure il client non invia l'intestazione. Prova con l'inspector MCP, che mostra esattamente le intestazioni inviate. Attenzione allo spazio dopo «Bearer».
- Connessione che si interrompe o resta bloccata
- Quasi sempre è un proxy che mette in buffer lo stream, oppure un trasporto sbagliato scelto lato client (SSE contro HTTP). Prova direttamente sulla porta 5678 per isolare il proxy.
- L'URL mostrato contiene localhost
- La variabile WEBHOOK_URL di n8n non è definita: l'URL non sarà raggiungibile da un'altra macchina. Impostala con l'indirizzo pubblico o di rete dell'istanza, poi riavvia n8n.
- ECONNREFUSED verso Ollama
- n8n in container cerca Ollama all'interno del container. Usa host.docker.internal o il nome del servizio Docker, e verifica che Ollama sia in ascolto su un'interfaccia raggiungibile.
- Il modello non chiama mai lo strumento
- Modello senza supporto per gli strumenti, descrizione dello strumento troppo vaga o troppi strumenti esposti. Passa a un modello contrassegnato con tools, riscrivi la descrizione e riduci la selezione.
- Il modello inventa parametri
- Lo schema del sub-workflow è troppo libero. Dichiara campi tipizzati e descrivi i valori attesi; convalida gli input nel workflow prima di qualsiasi azione.
#Per approfondire
Questa guida riguarda MCP in n8n. Per le basi del protocollo, la configurazione dei client MCP lato Ollama o il collegamento di n8n a un modello locale, queste guide ti accompagnano oltre.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.