MCP: collega un assistente AI
Fai preventivi, crea spedizioni, traccia pacchi e gestisci ritiri parlando con Claude, Cursor o un altro assistente AI compatibile, senza scrivere codice.
Introduzione
MCP (Model Context Protocol) è lo standard che permette a un assistente AI di collegarsi a un servizio esterno e usarlo davvero, non solo parlarne. Collegando Yellohu al tuo assistente, puoi chiedere un preventivo, creare una spedizione, controllare un tracking o prenotare un ritiro semplicemente scrivendo in linguaggio naturale: l'assistente si occupa di chiamare l'API al posto tuo.
Serve una chiave dedicata (diversa da quella dell'integrazione API diretta, se ne hai già una) e un client compatibile MCP: qui sotto trovi le istruzioni per i principali.
Ottieni la chiave
Vai in dashboard, sezione Integrazioni, card "MCP". Genera una chiave Sandbox per provare senza rischi (non tocca mai corrieri o pagamenti reali), oppure Live per azioni reali. In entrambi i casi ogni azione che crea o annulla qualcosa richiede comunque la tua conferma esplicita prima di essere eseguita davvero.
Subito dopo la creazione vedrai anche uno snippet di configurazione pronto da copiare: le istruzioni qui sotto ti dicono dove incollarlo per ciascun client.
Vai a Integrazioni → MCPClaude Desktop
- 1
Non usare Impostazioni → Connettori
Quella schermata in Claude Desktop supporta solo l'autenticazione OAuth, non una chiave API come la nostra. Il percorso giusto è modificare direttamente il file di configurazione.
- 2
Apri il file di configurazione
Su macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. Su Windows: %APPDATA%\Claude\claude_desktop_config.json. Se non esiste ancora, crealo.
- 3
Aggiungi la configurazione
Claude Desktop rifiuta un server remoto configurato solo con "url" e "headers" (lo segnala come voce non valida e lo ignora): serve un bridge locale via npx, il pacchetto mcp-remote, che inoltra le richieste al server reale aggiungendo l'header di autenticazione. Incolla (o unisci, se il file ha già altri server) il blocco qui sotto, sostituendo yh_mcp_live_xxx con la tua chiave.
- 4
Riavvia Claude Desktop
Chiudi e riapri l'app perché la nuova configurazione venga letta.
Claude Desktop non supporta un server MCP remoto configurato direttamente con "url"/"headers": richiede il bridge locale mcp-remote (via npx, serve Node.js installato).
{ "mcpServers": { "yellohu": { "command": "npx", "args": [ "-y", "mcp-remote", "https://yellohu.com/api/mcp", "--header", "X-Api-Key:${YELLOHU_MCP_KEY}" ], "env": { "YELLOHU_MCP_KEY": "yh_mcp_live_xxx" } } } }
Claude Code
- 1
Esegui il comando
Un solo comando da terminale, nessun file da modificare a mano.
claude mcp add --transport http yellohu https://yellohu.com/api/mcp --header "X-Api-Key: yh_mcp_live_xxx"Cursor
- 1
Apri (o crea) il file di configurazione
.cursor/mcp.json nella cartella del progetto, oppure la configurazione globale dalle impostazioni MCP di Cursor.
- 2
Aggiungi la configurazione
Incolla (o unisci) il blocco qui sotto con la tua chiave.
{ "mcpServers": { "yellohu": { "url": "https://yellohu.com/api/mcp", "headers": { "X-Api-Key": "yh_mcp_live_xxx" } } } }
VS Code
- 1
Apri il file .vscode/mcp.json
Deve essere specificamente questo file (workspace, cartella .vscode) e non un .mcp.json generico alla radice del progetto: un bug noto di VS Code ignora silenziosamente l'header di autenticazione in quel secondo caso.
- 2
Aggiungi la configurazione
Attenzione a due differenze rispetto agli altri client: la chiave principale è "servers", non "mcpServers", e serve un campo "type": "http" esplicito.
VS Code usa un formato leggermente diverso dagli altri client: chiave "servers" (non "mcpServers") e campo "type" obbligatorio.
{ "servers": { "yellohu": { "type": "http", "url": "https://yellohu.com/api/mcp", "headers": { "X-Api-Key": "yh_mcp_live_xxx" } } } }
Windsurf
- 1
Apri il file di configurazione
~/.codeium/windsurf/mcp_config.json.
- 2
Aggiungi la configurazione
Attenzione: Windsurf chiama il campo dell'URL "serverUrl", non "url" come gli altri client. Copiare una config da un altro client senza rinominare questo campo è l'errore più comune.
Windsurf usa "serverUrl", non "url", per l'indirizzo del server.
{ "mcpServers": { "yellohu": { "serverUrl": "https://yellohu.com/api/mcp", "headers": { "X-Api-Key": "yh_mcp_live_xxx" } } } }
ChatGPT (Developer Mode)
- 1
Attiva la modalità sviluppatore
Impostazioni → Connettori → Impostazioni avanzate → attiva "Developer mode" (richiede un piano Plus, Pro, Team, Enterprise o Edu).
- 2
Aggiungi un nuovo connettore
Inserisci l'URL del server (https://yellohu.com/api/mcp) e scegli l'autenticazione "API key" (non OAuth).
- 3
Verifica che funzioni davvero
L'interfaccia di ChatGPT per questa parte è ancora la più recente delle sette e può cambiare: se il campo per l'autenticazione non permette di scegliere il nome dell'header, prova comunque a inserire la chiave e chiedi subito un preventivo per verificare che la connessione risponda davvero prima di fidartene.
Integrazione più recente e in evoluzione rispetto alle altre sei: verifica sempre con una richiesta reale che la connessione funzioni.
URL: https://yellohu.com/api/mcp
Autenticazione: API key
Header: X-Api-KeyCodex CLI
- 1
Apri (o crea) il file ~/.codex/config.toml
Puoi anche usare .codex/config.toml nella cartella del progetto invece che nella home. Il comando "codex mcp add" funziona solo per server locali, non per server remoti come questo: va configurato a mano nel file.
- 2
Aggiungi la configurazione
Incolla il blocco qui sotto con la tua chiave. Nota: Codex usa il formato TOML, non JSON come gli altri client.
Codex usa TOML invece di JSON e non ha un comando da terminale per i server remoti: va sempre configurato modificando il file.
[mcp_servers.yellohu]
url = "https://yellohu.com/api/mcp"
http_headers = { "X-Api-Key" = "yh_mcp_live_xxx" }Altri client
Qualsiasi client MCP che supporti un server remoto via Streamable HTTP funziona allo stesso modo: stessi due valori, solo il nome dei campi può cambiare da client a client. Controlla la documentazione del tuo client per sapere come si chiamano i campi URL e header nel suo formato.
URL: https://yellohu.com/api/mcp
Header: X-Api-Key: yh_mcp_live_xxxCome funziona la conferma
Le azioni che creano o annullano qualcosa per davvero (creare una spedizione, annullarla, prenotare un ritiro) non avvengono mai al primo colpo. L'assistente ti mostra sempre un riepilogo (corriere, prezzo, indirizzi) e aspetta che tu dica esplicitamente di procedere, prima di eseguire l'azione reale. Non devi scrivere nessun comando tecnico per confermare: basta rispondere normalmente, come faresti con una persona.
Puoi personalizzare questo comportamento per singola azione (creazione spedizione, annullamento, prenotazione ritiro) dalla dashboard, sezione Integrazioni, MCP, card "Autorizzazioni strumenti": puoi scegliere di eseguirla subito senza chiedere conferma, di richiederla sempre (il comportamento appena descritto, il default), oppure di disabilitarla del tutto per l'assistente AI.
Tu: Crea la spedizione con BRT per il preventivo di prima, ritiro martedì prossimo.
L'assistente risponde con un riepilogo (corriere BRT Express, 10,97€, ritiro martedì) e chiede conferma: nessuna spedizione è stata ancora creata.
Tu: Sì, procedi pure.
Solo ora l'assistente crea davvero la spedizione e ti conferma il numero d'ordine.
Tool disponibili
| Tool | Cosa fa | Tipo |
|---|---|---|
| get_rates | Confronta le tariffe di tutti i corrieri disponibili per una spedizione, inclusi i servizi opzionali attivabili e il loro costo indicativo. Il prezzo con uno o più optional davvero selezionati richiede una seconda chiamata a questo tool passandoli: l'assistente non dovrebbe sommare a mente il costo indicativo dell'optional al prezzo base, per alcuni corrieri il totale non è una semplice somma. | Lettura |
| list_optional_services | Elenca gli optional (assicurazione, tassativa oraria, ecc.) disponibili per un corriere specifico o per tutti. | Lettura |
| list_shipments | Mostra le tue spedizioni più recenti, con stato e tracking. | Lettura |
| get_shipment | Mostra stato, corriere, servizio e numero di tracking di una spedizione specifica. | Lettura |
| track_shipment | Mostra lo storico completo degli eventi di tracking di una spedizione. | Lettura |
| get_pickup | Mostra data e stato del ritiro programmato per una spedizione. | Lettura |
| find_pickup_points | Cerca locker o punti di ritiro vicino a un CAP italiano o a un indirizzo (anche estero). | Lettura |
| create_shipment | Crea una spedizione reale (o una bozza da pagare dopo). Richiede sempre la tua conferma esplicita prima di procedere davvero: vedi "Come funziona la conferma" qui sopra. | Scrittura |
| cancel_shipment | Annulla una spedizione (azione irreversibile). Richiede sempre la tua conferma esplicita: prima ti mostra lo stato attuale della spedizione, poi aspetta il tuo sì. | Scrittura |
| book_pickup | Prenota un ritiro per una spedizione già creata. Richiede sempre la tua conferma esplicita prima di prenotare davvero. | Scrittura |
Confronta le tariffe di tutti i corrieri disponibili per una spedizione, inclusi i servizi opzionali attivabili e il loro costo indicativo. Il prezzo con uno o più optional davvero selezionati richiede una seconda chiamata a questo tool passandoli: l'assistente non dovrebbe sommare a mente il costo indicativo dell'optional al prezzo base, per alcuni corrieri il totale non è una semplice somma.
Cosa specificare
- Indirizzo di origine (CAP, città, paese)
- Indirizzo di destinazione (CAP, città, paese)
- Colli: peso e dimensioni di ciascuno
- Se è un pallet (tipicamente base 80-120cm e/o oltre 100kg) invece di un pacco normale: altrimenti viene quotato come un collo fuori misura, con margine e supplementi sbagliati
Tu: Quanto costa spedire un pacco da 5kg da Milano 20121 a Roma 00100?
L'assistente chiama get_rates e confronta i corrieri disponibili.
Assistente: BRT Express: 10,21€, consegna in 1 giorno lavorativo. Ci sono anche altre opzioni più economiche o più veloci, vuoi vederle tutte?
Elenca gli optional (assicurazione, tassativa oraria, ecc.) disponibili per un corriere specifico o per tutti.
Cosa specificare
- Il corriere da controllare (opzionale, se omesso li mostra per tutti)
Tu: Che optional posso aggiungere con BRT?
L'assistente chiama list_optional_services filtrando su BRT.
Assistente: Con BRT puoi aggiungere: assicurazione, sponda idraulica al ritiro o alla consegna, non sovrapponibile, forma irregolare.
Mostra le tue spedizioni più recenti, con stato e tracking.
Cosa specificare
- Quante mostrarne (opzionale, di default le ultime 20)
Tu: Fammi vedere le mie ultime spedizioni.
L'assistente chiama list_shipments.
Assistente: Hai 3 spedizioni recenti: S701 (in transito, BRT), S699 (consegnata, Poste), S695 (da gestire).
Mostra stato, corriere, servizio e numero di tracking di una spedizione specifica.
Cosa specificare
- Il numero della spedizione (es. S701)
Tu: Com'è messa la spedizione S701?
L'assistente chiama get_shipment con shipment_id S701.
Assistente: S701 è in transito con BRT, tracking 020063101676184.
Mostra lo storico completo degli eventi di tracking di una spedizione.
Cosa specificare
- Il numero della spedizione
Tu: Dove si trova esattamente il pacco S701 adesso?
L'assistente chiama track_shipment e legge l'evento più recente.
Assistente: Ultimo evento: 'In consegna', oggi alle 09:15, presso il centro di distribuzione di Roma.
Mostra data e stato del ritiro programmato per una spedizione.
Cosa specificare
- Il numero della spedizione
Tu: A che ora passano a ritirare il pacco S701?
L'assistente chiama get_pickup con shipment_id S701.
Assistente: Ritiro programmato per domani, stato: confermato.
Cerca locker o punti di ritiro vicino a un CAP italiano o a un indirizzo (anche estero).
Cosa specificare
- CAP o indirizzo di riferimento
- Corriere (opzionale)
- Tipo: locker self-service o punto con operatore (opzionale)
Tu: C'è un locker InPost vicino al CAP 20121?
L'assistente chiama find_pickup_points su quel CAP filtrando per InPost.
Assistente: Sì, ce ne sono 4 nel raggio di 2km, il più vicino è in Via Dante 12.
Crea una spedizione reale (o una bozza da pagare dopo). Richiede sempre la tua conferma esplicita prima di procedere davvero: vedi "Come funziona la conferma" qui sopra.
Cosa specificare
- Corriere e servizio (di solito scelti da un preventivo precedente)
- Mittente: nome, indirizzo completo
- Destinatario: nome, indirizzo completo
- Colli: peso e dimensioni
- Se è un pallet o un documento invece di un pacco normale (un pallet quotato come pacco viene prezzato male; un documento è esentato dai dati doganali per l'estero)
- Cosa contiene il pacco
- Valore della merce
- Data di ritiro desiderata
- Se pagare subito o salvare come bozza
Tu: Crea la spedizione con BRT per il preventivo di prima, ritiro martedì prossimo.
L'assistente mostra un riepilogo e aspetta conferma prima di creare qualsiasi cosa.
Assistente: Ecco il riepilogo: BRT Express, 10,97€, ritiro martedì. Confermi?
Annulla una spedizione (azione irreversibile). Richiede sempre la tua conferma esplicita: prima ti mostra lo stato attuale della spedizione, poi aspetta il tuo sì.
Cosa specificare
- Il numero della spedizione da annullare
Tu: Annulla la spedizione S701.
L'assistente mostra corriere/stato/tracking attuali di S701 e aspetta conferma.
Assistente: S701 è ancora in transito con BRT, tracking 020063101676184. Confermi l'annullamento?
Prenota un ritiro per una spedizione già creata. Richiede sempre la tua conferma esplicita prima di prenotare davvero.
Cosa specificare
- Il numero della spedizione
- Data desiderata
- Fascia oraria (mattina, pomeriggio, o indifferente)
Tu: Prenota il ritiro per S701 per giovedì mattina.
L'assistente mostra data e fascia oraria e aspetta conferma prima di prenotare.
Assistente: Riepilogo: ritiro giovedì, fascia mattina. Confermi?