8 min de cititIntegrări

Scurtător de URL Gemini: unde merg tool call-urile

Gemini poate crea linkuri scurte reale, dar nu în aplicație. De ce Gems nu îți pot apela API-ul și cum conectezi CLI-ul și API-ul ca să funcționeze linkul.

Marius Voß
DevRel · edge infra

Gemini poate crea un link scurt funcțional. Doar că nu în locul în care încearcă majoritatea oamenilor mai întâi.

Despărțirea este mai tăioasă decât la alți asistenți și se reduce la o singură decizie de arhitectură a Google: aplicația Gemini pentru public larg nu are niciun mecanism de a apela un API al tău. Îi ceri să scurteze un URL și primești un slug cu forma potrivită și nimic în spatele lui. Gemini CLI este un alt produs, cu alt răspuns, și acolo se află tool call-ul, de aceea o alegere care pare o preferință între două suprafețe Google decide, de fapt, dacă echipa ta poate folosi asta deloc.

Articolul acoperă cele trei suprafețe și ce poate face fiecare cu adevărat: CLI-ul peste MCP, function calling în API-ul Gemini și chatul precompletat. Textul paralel despre ChatGPT ajunge la o concluzie diferită, din motive care merită înțelese înainte să alegi o suprafață.

Gems sunt funcția de asistenți personalizați din Gemini și, la suprafață, seamănă cu un GPT personalizat. Nu sunt, în sensul care contează aici. Gems nu au un echivalent pentru Actions. Niciun câmp pentru schema OpenAPI. Nicio configurare de autentificare. Nicio cale de a-l îndrepta spre propriul endpoint.

Gems pot folosi extensiile Google: Workspace, Maps, YouTube. Acestea sunt construite de Google, nu configurate de tine. Deci diferența de capabilități nu este una de maturitate care se închide dintr-o setare. Nimic din ce scrii în instrucțiunile unui Gem nu îi dă acces de rețea la API-ul tău.

Așadar aplicația face ce face orice asistent fără tool-uri la o cerere de link scurt. Produce caractere plauzibile. Bine de știut înainte să pierzi o după-amiază încercând să ocolești asta prin prompturi.

Trei suprafețe Gemini comparate pentru un scurtător de URL: aplicația și Gems nu au nicio cale spre un API terț, CLI-ul ajunge la unul peste MCP, iar API-ul ajunge la unul prin function calling Pagina de integrare Elido pentru Gemini, cu linkul profund cu prompt precompletat și starea suportului MCP

A citi un URL nu înseamnă a-l scurta

Dacă cauți subiectul, ajungi la multe discuții despre tool-ul URL context din Gemini. Aceasta este direcția opusă. URL context lasă modelul să preia și să citească o pagină pe care i-o dai. Un scurtător de URL cere ca modelul să scrie ceva: să creeze o înregistrare pe un server care va răspunde ulterior la un redirect. Citirea și scrierea sunt capabilități separate, iar doar a doua are nevoie de un tool care vorbește cu contul tău.

Ruta unu: Gemini CLI peste MCP

Gemini CLI acceptă Model Context Protocol, ceea ce înseamnă că același @elido/mcp-server care deservește Claude Desktop și Cursor funcționează și aici, fără cod specific Gemini. Pachetul nu este încă pe npm (lansarea publică vine în curând), așa că deocamdată îl rulezi dintr-un build local al packages/mcp-server. Îl configurezi o dată, iar create_link, list_links, query_analytics, generate_qr și list_workspaces apar ca tool-uri apelabile.

Adăugarea serverului

Calea rapidă este comanda încorporată:

gemini mcp add -s user -e ELIDO_API_KEY=$ELIDO_API_KEY elido node /path/to/packages/mcp-server/dist/index.js

Sau editezi direct fișierul de setări. Scope-ul de utilizator se află în ~/.gemini/settings.json, cel de proiect în .gemini/settings.json, iar blocul se pune sub mcpServers:

{
  "mcpServers": {
    "elido": {
      "command": "node",
      "args": ["/path/to/packages/mcp-server/dist/index.js"],
      "env": {
        "ELIDO_API_KEY": "$ELIDO_API_KEY",
        "ELIDO_WORKSPACE_ID": "$ELIDO_WORKSPACE_ID"
      },
      "timeout": 30000
    }
  }
}

Verifică dacă s-a conectat și limitează ce poate face

Rulează /mcp în Gemini CLI. Afișează fiecare server configurat cu starea CONNECTED, CONNECTING sau DISCONNECTED și tool-urile expuse. Dacă elido arată cinci tool-uri, conexiunea funcționează. Apoi încearcă o cerere simplă: "create a short URL for https://example.com/spring with the slug spring-sale". Un tool call real întoarce un link pe care îl poți deschide și o intrare în dashboard. Un slug inventat, fără tool call, înseamnă că serverul nu este atașat.

Două setări țin lucrurile strânse. trust este implicit false, deci CLI-ul cere confirmare înainte de fiecare tool call; lasă-l așa cât timp afli ce face modelul cu create_link. Iar includeTools funcționează ca o listă de permisiuni: dacă vrei doar creare și analiză, le numești pe acestea, iar restul nu ajung niciodată la model:

"includeTools": ["create_link", "query_analytics"]

Detaliul expandării env care te poate mușca

Gemini CLI expandează $VAR și ${VAR} în blocul env, de aceea cheia de mai sus este o referință și nu un secret lipit. Folosește asta. Comiterea unui .gemini/settings.json de proiect cu o cheie activă este o greșeală ușor de făcut și lentă de observat.

O muchie ascuțită din documentația serverului MCP de la Google: o variabilă nedefinită devine un șir gol, nu o excepție. Deci o greșeală de scriere în numele variabilei nu eșuează zgomotos la pornire. Eșuează mai târziu, la primul tool call, ca eroare de autentificare. Am pierdut douăzeci de minute din cauza unui export lipsă, toate petrecute recitind fișierul greșit, pentru că o eroare de autentificare arată spre credențial, nu spre numele variabilei care trebuia să-l poarte. Dacă serverul se conectează, dar fiecare apel revine ca neautorizat, verifică mai întâi variabila.

Configurează cheia și următorul brief de campanie scris în terminal își poate crea singur linkurile: pornește un workspace și generează o cheie cu domeniu limitat pentru această singură integrare.

Ruta doi: function calling în API-ul Gemini

Dacă construiești ceva, în loc să lucrezi interactiv, function calling este mecanismul echivalent la nivel de API. Declari funcția, modelul întoarce un apel structurat când decide că e nevoie, codul tău execută cererea, iar tu înapoiezi rezultatul.

Forma este aceeași ca la orice integrare de tool-uri. Descrii create_link, rulezi tu cererea HTTP, întorci răspunsul. Ce câștigi față de MCP este controlul. Decizi exact ce parametri poate seta modelul și poți respinge orice în afara convenției tale de denumire înainte ca cererea să părăsească procesul. Ce pierzi este portabilitatea. Această conectare e a ta de întreținut și nu te urmează nicăieri.

Pentru majoritatea echipelor, ruta are sens doar când scurtarea este un pas într-un flux automatizat mai mare. Dacă vrei doar linkuri cât lucrezi, CLI-ul înseamnă mai puțin cod și mai puține de ținut în funcțiune.

Ruta trei: chatul precompletat

Opțiunea fără configurare este un link care deschide Gemini cu promptul deja scris:

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

Acesta este mecanismul din spatele butoanelor de pe pagina de integrări LLM, confirmat pe suprafața live în aprilie 2026. Comportamentul parametrilor de query se schimbă la orice produs AI, așa că retestează dacă un buton nu mai face ce făcea.

Fii lucid în privința a ce îți oferă asta, având în vedere prima secțiune. Asistentul nu are tool-uri, deci el redactează, iar tu execuți. Tot este util. O lansare care cere opt variante UTM după o schemă de denumire consecventă este plictisitoare de făcut manual și ușor de nimerit pentru un model. Doar că nu se termină cu un link.

Fluxul unui tool call Gemini CLI: settings.json declară serverul MCP Elido, CLI-ul îl pornește prin stdio, serverul apelează API-ul Elido cu o cheie care nu ajunge niciodată la model, iar linkul scurt rezolvat revine în conversație

Ce rută se potrivește

SuprafațăPoate apela API-ul tăuConfigurareCel mai bun pentru
Aplicația Gemini și GemsNuNu existăRedactarea slugurilor și a seturilor UTM
Gemini CLIDa, peste MCPUn bloc de configUtilizare interactivă zilnică
API GeminiDa, function callingCod pe care îl întrețiiLinkuri în cadrul unui flux automatizat

Citește tabelul alături de cel de la ChatGPT și asimetria este tocmai ideea. Suprafața partajabilă din ChatGPT este cea care poate ține o acțiune conectată, deci unei echipe de marketing i se poate da un GPT personalizat funcțional. Suprafața conectată din Gemini este un terminal. Dacă utilizatorii tăi sunt oameni de marketing, diferența aceasta decide platforma înainte de orice comparație de funcții.

Cum arată o cerere bună

Odată ce tool-ul este atașat, calitatea linkului depinde de cerere. Dă-i modelului destinația, slugul dacă îți pasă de el și contextul campaniei și lasă-l să completeze etichetele UTM după convenția ta. "Create links for the spring launch: one each for newsletter, LinkedIn and the in-store poster, slugs prefixed spring-, with utm_source set per channel" produce trei tool call-uri și trei linkuri pe care le poți lipi într-un tabel. Cererile vagi dau sluguri vagi, deci spune care este regula de denumire.

Verifică rezultatul cum ai verifica munca unui coleg. Deschide un link, confirmă că ajunge pe pagina corectă și privește-l în dashboard. Un tool call reușit îți spune că înregistrarea există, nu că destinația era cea dorită. Problemele obișnuite de denumire sunt tratate în convențiile de denumire UTM.

Păstrarea cheii cu domeniu limitat

Serverul MCP deține credențialul, iar modelul nu îl vede niciodată, ceea ce este forma corectă. Rămâne totuși la tine să decizi ce poate face credențialul.

Emite câte o cheie pentru fiecare integrare, în loc să reutilizezi una pe mai multe tool-uri. O cheie pentru crearea interactivă de linkuri trebuie să poată crea linkuri și citi analiza; nu are nevoie să șteargă linkuri sau să umble la domeniile personalizate. Când apare ceva neașteptat în jurnalul de audit, o cheie per integrare îți spune ce suprafață l-a produs, iar revocarea ei nu strică nimic altceva.

Scope-ul de proiect merită încă o gândire. Un .gemini/settings.json comis într-un depozit partajat este comod și, totodată, un fișier moștenit de fiecare contribuitor. Ține secretul în mediu și fișierul de setări liber de orice nu ai lipi într-un pull request.

Limite sincere

Trei lucruri pentru care merită să-ți calibrezi așteptările.

Setul de tool-uri este mic intenționat. @elido/mcp-server este la 0.1.x, cu cinci tool-uri, iar administrarea workspace-ului lipsește deliberat dintre ele. Invitarea oamenilor, configurarea domeniilor și schimbarea planurilor rămân în dashboard, unde le face un om autentificat.

Munca în masă își are locul în altă parte. Dacă ceri patruzeci de linkuri într-o singură conversație, primești erori de rate limit și un model care pierde șirul care slug mergea la ce destinație. Dincolo de câteva, folosește API-ul sau un import CSV.

Iar lipsa din aplicație nu este temporară, din câte a anunțat cineva. Planifică în jurul ei, în loc s-o aștepți. Dacă o echipă non-tehnică are nevoie azi să creeze linkuri dintr-o suprafață de chat, răspunsul sincer este alt asistent sau dashboard-ul, nu un Gem.

Citește articolul pilon → Conectează Elido la Claude și Cursor cu MCP

Pe același subiect pe blog

Întrebări frecvente

Poate Gemini să scurteze un URL?

Doar acolo unde poate apela un tool. Gemini CLI acceptă servere MCP, așa că, cu serverul MCP Elido configurat, creează un link real. Aplicația Gemini pentru public larg nu poate: nu are niciun mecanism de apelare a unui API terț, deci dacă îi ceri acolo, produce un slug inventat care nu duce nicăieri.

Acceptă Gemini Gems acțiuni personalizate, ca GPT-urile personalizate?

Nu. Gems nu au un echivalent pentru GPT Actions, așa că nu poți îndrepta unul spre propriul API, webhook sau serviciu. Gems pot folosi extensiile Google, precum Workspace, Maps și YouTube, dar acestea sunt gata făcute de Google, nu conexiuni pe care le configurezi tu. Aceasta este principala diferență structurală între a construi pe Gemini și a construi pe ChatGPT.

Cum adaug un server MCP în Gemini CLI?

Fie rulezi gemini mcp add cu numele serverului și comanda, fie adaugi direct un bloc mcpServers în settings.json. Scope-ul de utilizator se află în ~/.gemini/settings.json, iar cel de proiect în .gemini/settings.json, iar flagul de scope decide în ce fișier se scrie.

Pot ține cheia API în afara settings.json?

Da. Gemini CLI expandează variabilele de mediu în blocul env, deci poți scrie $ELIDO_API_KEY în loc să lipești secretul. Reține că o variabilă nedefinită devine un șir gol, nu o eroare, așa că o greșeală de scriere arată ca o eroare de autentificare la primul tool call.

Ce fac dacă folosesc doar aplicația web Gemini?

Atunci folosește chatul precompletat pentru schițe și creează linkul tu însuți. Asistentul poate propune un slug potrivit convenției tale și poate scrie setul UTM pentru o lansare pe mai multe canale, dar linkul trebuie creat într-un loc care chiar îl poate scrie. Tratează aplicația ca pe o suprafață de redactare, nu de execuție.

Este integrarea Gemini gata pentru producție?

Serverul MCP pe care se sprijină este la versiunea 0.1.x, iar suprafața Gemini este marcată Beta în registrul nostru de integrări, așa că ia-o ca utilizabilă, dar timpurie. Intrările tool-urilor nu se vor rupe în intervalul 0.1.x, iar setul de tool-uri va crește, nu va scădea.

Încearcă Elido

Lipește un URL, obții un link scurt funcțional

Fără înregistrare. Linkul este activ timp de 30 de zile. Înregistrează-te ca să-l păstrezi pentru totdeauna.

Fără înregistrare. Creează un cont gratuit pentru 50 linkuri pe lună.

Încearcă Elido

Scurtător de URL-uri găzduit în UE, cu domenii personalizate, analiză avansată și un API deschis. Nivel gratuit - fără card bancar.

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

Continuă lectura