7 min di letturaIntegrazioni

Gemini URL Shortener: dove funzionano davvero le chiamate agli strumenti

Gemini può creare link brevi reali, ma non nell'app. Perché Gems non possono chiamare la tua API e come collegare CLI e API affinché un link risolva correttamente.

Marius Voß
DevRel · edge infra
Un URL shortener di Gemini funziona tramite la CLI su MCP e tramite il function calling dell'API, mentre l'app Gemini per utenti finali non ha un modo per chiamare un'API esterna

Gemini può creare un link breve funzionante. Solo che non può farlo nel luogo in cui la maggior parte delle persone prova per prima cosa.

La differenza è più netta rispetto ad altri assistenti e dipende da una decisione architetturale presa da Google: l'app Gemini per utenti finali non ha alcun meccanismo per chiamare un'API che possiedi tu. Chiedile di accorciare un URL e otterrai uno slug dalla forma giusta, ma senza nulla dietro. Gemini CLI è un prodotto diverso, con una risposta diversa, ed è lì che vive la chiamata allo strumento. Ecco perché una decisione che sembra una preferenza tra due superfici Google finisce per stabilire se il tuo team può usare Gemini oppure no.

Questo post illustra le tre superfici e ciò che ciascuna può fare davvero: la CLI su MCP, il function calling nell'API Gemini e la chat precompilata. L'articolo parallelo per ChatGPT arriva a una conclusione diversa, per motivi che vale la pena capire prima di scegliere una superficie.

Gems è la funzionalità di Gemini per creare assistenti personalizzati e, in apparenza, sembra l'equivalente di un GPT personalizzato. Ma non lo è nel modo che conta qui. Gems non hanno un equivalente di Actions. Nessun campo per lo schema OpenAPI. Nessuna configurazione dell'autenticazione. Nessun modo per collegarne uno al tuo endpoint.

Gems possono usare le estensioni di Google: Workspace, Maps e YouTube. Sono realizzate da Google, non configurate da te. Quindi il divario di capacità non è un divario di maturità che si colma con un'impostazione. Nulla di ciò che scrivi nelle istruzioni di un Gem gli dà accesso di rete alla tua API.

Perciò l'app fa ciò che farebbe qualsiasi assistente senza strumenti davanti a una richiesta di un link breve. Produce caratteri plausibili. È bene saperlo prima di passare un pomeriggio a elaborare prompt per aggirare il problema.

Confronto tra tre superfici Gemini per un URL shortener: l'app e Gems non hanno un percorso verso un'API di terze parti, la CLI ne raggiunge una tramite MCP e l'API ne raggiunge una tramite function calling

Percorso uno: Gemini CLI su MCP

Gemini CLI supporta il Model Context Protocol, quindi lo stesso @elido/mcp-server che serve Claude Desktop e Cursor funziona anche qui senza codice specifico per Gemini. Configuralo una volta e create_link, list_links, query_analytics, generate_qr e list_workspaces compariranno come strumenti chiamabili.

Aggiungere il server

Il percorso più rapido è il comando integrato:

gemini mcp add -s user -e ELIDO_API_KEY=$ELIDO_API_KEY elido npx -y @elido/mcp-server

Oppure modifica direttamente il file delle impostazioni. L'ambito utente si trova in ~/.gemini/settings.json, quello del progetto in .gemini/settings.json e il blocco va inserito sotto mcpServers:

{
  "mcpServers": {
    "elido": {
      "command": "npx",
      "args": ["-y", "@elido/mcp-server"],
      "env": {
        "ELIDO_API_KEY": "$ELIDO_API_KEY",
        "ELIDO_WORKSPACE_ID": "$ELIDO_WORKSPACE_ID"
      },
      "timeout": 30000
    }
  }
}

Il dettaglio sull'espansione di env che può creare problemi

Gemini CLI espande $VAR e ${VAR} all'interno del blocco env, per questo la chiave sopra è un riferimento e non un segreto incollato. Usalo. Fare il commit di un .gemini/settings.json con ambito di progetto e una chiave attiva è un errore facile da fare e lento da scoprire.

Un dettaglio insidioso della documentazione del server MCP di Google: una variabile non definita viene risolta in una stringa vuota invece di generare un errore. Quindi un refuso nel nome della variabile non fallisce in modo evidente all'avvio. Fallisce più tardi, alla prima chiamata allo strumento, con un errore di autenticazione. Ho perso venti minuti a causa di un export mancante, tutti passati a rileggere il file sbagliato, perché un errore di autenticazione punta alla credenziale e non al nome della variabile che avrebbe dovuto contenerla. Se il server si connette ma ogni chiamata restituisce un errore di autorizzazione, controlla prima la variabile.

Configura la chiave e il prossimo brief di campagna che scriverai nel terminale potrà creare i propri link: avvia un workspace e genera una chiave con ambito limitato per questa integrazione.

Percorso due: function calling nell'API Gemini

Se stai costruendo qualcosa invece di lavorare in modo interattivo, il function calling è il meccanismo equivalente a livello di API. Dichiari la funzione, il modello restituisce una chiamata strutturata quando decide che è necessaria, il tuo codice esegue la richiesta e tu gli restituisci il risultato.

La struttura è la stessa di qualsiasi integrazione con strumenti. Descrivi create_link, esegui tu la richiesta HTTP e restituisci la risposta. Rispetto a MCP guadagni controllo. Decidi esattamente quali parametri il modello può impostare e puoi rifiutare qualsiasi cosa esca dalla tua convenzione di denominazione prima che la richiesta lasci il processo. Perdi invece portabilità. Questo collegamento devi mantenerlo tu e non ti segue da nessuna parte.

Per la maggior parte dei team questo percorso ha senso solo quando l'accorciamento è un passaggio dentro un flusso automatizzato più ampio. Se vuoi solo creare link mentre lavori, la CLI richiede meno codice e meno cose da tenere in esecuzione.

Percorso tre: la chat precompilata

L'opzione senza configurazione è un link che apre Gemini con il prompt già scritto:

https://gemini.google.com/app?q=<url-encoded%20prompt>

È il meccanismo alla base dei pulsanti nella pagina delle integrazioni LLM, verificato sulla superficie live ad aprile 2026. Il comportamento dei parametri di query di qualsiasi prodotto di IA cambia, quindi ripeti il test se un pulsante smette di fare ciò che faceva prima.

Considera con lucidità ciò che ottieni, alla luce della prima sezione. L'assistente non ha strumenti, quindi prepara la bozza e tu esegui. È comunque utile. Un lancio che richiede otto varianti UTM con una convenzione di denominazione coerente è noioso da fare a mano e facile da far realizzare correttamente a un modello. Semplicemente, non termina con un link.

Flusso di una chiamata allo strumento Gemini CLI: settings.json dichiara il server MCP di Elido, la CLI lo avvia tramite stdio, il server chiama l'API di Elido con una chiave che non raggiunge mai il modello e il link breve risolto torna nella conversazione

Quale percorso scegliere

SuperficiePuò chiamare la tua APIConfigurazioneIdeale per
App Gemini e GemsNoNessuna disponibilePreparare slug e insiemi di UTM
Gemini CLISì, tramite MCPUn blocco di config.Uso interattivo quotidiano
Gemini APISì, tramite function callingCodice che mantieni tuLink dentro un flusso automatizzato

Leggi questa tabella insieme a quella di ChatGPT: il punto è l'asimmetria. La superficie condivisibile di ChatGPT è quella che può contenere un'azione collegata, quindi a un team marketing si può consegnare un GPT personalizzato funzionante. La superficie collegata di Gemini è un terminale. Se i tuoi utenti sono professionisti del marketing, questa differenza determina la piattaforma prima ancora di qualsiasi confronto tra funzionalità.

Limitare l'ambito della chiave

Il server MCP conserva la credenziale e il modello non la vede, che è la struttura corretta. Resta comunque da decidere cosa può fare quella credenziale.

Emetti una chiave per ogni integrazione invece di riutilizzarne una tra gli strumenti. Una chiave per la creazione interattiva di link deve poter creare link e leggere i dati di analytics; non deve poter eliminare link o toccare i domini personalizzati. Quando nel log di audit compare qualcosa di inatteso, una chiave per integrazione ti dice quale superficie lo ha prodotto e revocarla non interrompe nient'altro.

Vale la pena riflettere ancora un momento sull'ambito del progetto. Un .gemini/settings.json committato in un repository condiviso è comodo, ma è anche un file che ogni collaboratore eredita. Tieni il segreto nell'ambiente e lascia nel file delle impostazioni solo ciò che incolleresti in una pull request.

Limiti da considerare

Ci sono tre aspetti su cui è utile fissare le aspettative.

La superficie degli strumenti è volutamente ridotta. @elido/mcp-server è alla versione 0.1.x con cinque strumenti e l'amministrazione del workspace non è inclusa di proposito. Invitare persone, configurare domini e cambiare piano restano attività da svolgere nella dashboard, dove può occuparsene una persona autenticata.

Il lavoro in massa va fatto altrove. Chiedere quaranta link in una sola conversazione produce errori di limite di frequenza e un modello che perde il filo su quale slug corrisponda a quale destinazione. Oltre una manciata, usa l'API o un'importazione CSV.

E il divario dell'app non è temporaneo, per quanto è stato annunciato finora. Organizzati di conseguenza invece di aspettare che scompaia. Se oggi un team non tecnico deve creare link da una superficie di chat, la risposta onesta è un altro assistente o la dashboard, non un Gem.

Leggi l'articolo principale → Collega Elido a Claude e Cursor con MCP

Articoli correlati

Domande frequenti

Gemini può accorciare un URL?

Solo dove può chiamare uno strumento. Gemini CLI supporta i server MCP, quindi, con il server MCP di Elido configurato, crea un link reale. L'app Gemini per utenti finali non può farlo: non dispone di alcun meccanismo per chiamare un'API di terze parti, quindi chiederglielo produce uno slug inventato che non porta da nessuna parte.

I Gemini Gems supportano azioni personalizzate come i GPT personalizzati?

No. Gems non hanno un equivalente di GPT Actions, quindi non puoi collegarne uno alla tua API, al tuo webhook o al tuo servizio. Gems possono usare le estensioni di Google, come Workspace, Maps e YouTube, ma sono preconfigurate da Google e non connessioni che configuri tu. Questa è la principale differenza strutturale tra sviluppare su Gemini e sviluppare su ChatGPT.

Come aggiungo un server MCP a Gemini CLI?

Puoi eseguire gemini mcp add con il nome e il comando del server, oppure aggiungere direttamente un blocco mcpServers a settings.json. L'ambito utente si trova in ~/.gemini/settings.json e quello del progetto in .gemini/settings.json; il flag dell'ambito decide quale file viene scritto.

Posso tenere la mia chiave API fuori da settings.json?

Sì. Gemini CLI espande le variabili d'ambiente all'interno del blocco env, quindi puoi scrivere $ELIDO_API_KEY invece di incollare il segreto. Tieni presente che una variabile non definita viene risolta in una stringa vuota invece di generare un errore, quindi un refuso sembra un errore di autenticazione alla prima chiamata allo strumento.

E se uso solo l'app web di Gemini?

In quel caso usa la chat precompilata per preparare la bozza e crea tu il link. L'assistente può proporre uno slug coerente con la tua convenzione e scrivere l'insieme di UTM per un lancio multicanale, ma il link deve essere creato in un luogo che possa effettivamente scriverlo. Considera l'app una superficie per le bozze, non per l'esecuzione.

L'integrazione Gemini è pronta per la produzione?

Il server MCP su cui si basa è alla versione 0.1.x e la superficie Gemini è contrassegnata come Beta nel nostro registro delle integrazioni, quindi considerala utilizzabile ma ancora iniziale. Gli input degli strumenti non si romperanno nell'intervallo 0.1.x e la superficie degli strumenti crescerà anziché ridursi.

Prova Elido

Incolla un URL, ottieni un link breve

Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.

Gratis, nessuna registrazione richiesta · 2 al giorno

Prova Elido

Accorciatore di URL ospitato nell'UE: domini personalizzati, analisi approfondite e API aperta. Piano gratuito - senza carta di credito.

Tag
gemini url shortener
gemini cli mcp
shorten links in gemini
gemini function calling
gemini gems
ai integration

Continua a leggere