Gemini kan een werkende korte link maken. Alleen niet op de plek waar de meeste mensen het eerst proberen.
De scheiding is scherper dan bij andere assistenten en komt neer op één architectuurkeuze van Google: de Gemini-consumentenapp heeft geen mechanisme om een API aan te roepen die van jou is. Vraag om een URL te verkorten en je krijgt een slug met de juiste vorm en niets erachter. Gemini CLI is een ander product met een ander antwoord, en daar zit de tool call. Een keuze die op een voorkeur tussen twee Google-oppervlakken lijkt, bepaalt dus of je team dit überhaupt kan gebruiken.
Dit artikel behandelt de drie oppervlakken en wat elk echt kan: de CLI over MCP, function calling in de Gemini API en de vooraf ingevulde chat. De parallelle uitleg over ChatGPT komt tot een andere conclusie, om redenen die het waard zijn te begrijpen voordat je een oppervlak kiest.
Waarom de Gemini-app geen korte link kan maken
Gems zijn de functie voor eigen assistenten in Gemini en lijken op het eerste gezicht op een custom GPT. Op het punt dat hier telt, zijn ze dat niet. Gems hebben geen Actions-equivalent. Geen OpenAPI-schemaveld. Geen authenticatieconfiguratie. Geen manier om er je eigen endpoint aan te koppelen.
Gems kunnen de eigen extensies van Google gebruiken: Google Workspace, Maps, YouTube. Die zijn door Google gebouwd, niet door jou geconfigureerd. Het verschil in mogelijkheden is dus geen rijpheidskloof die met een instelling dichtgaat. Niets wat je in de instructies van een Gem schrijft, geeft het netwerktoegang tot jouw API.
De app doet dus wat elke assistent zonder tools doet met een verzoek om een korte link. Hij produceert plausibele tekens. Handig om te weten voordat je een middag lang rond het probleem heen prompt.
Een URL lezen is niet hetzelfde als hem verkorten
Zoek je naar dit onderwerp, dan beland je bij veel threads over de URL-contexttool van Gemini. Dat is de tegenovergestelde richting. URL context laat het model een pagina ophalen en lezen die jij opgeeft. Een URL-verkorter vraagt dat het model iets schrijft: een record aanmaken op een server die later een redirect beantwoordt. Lezen en schrijven zijn aparte mogelijkheden, en alleen de tweede heeft een tool nodig die met jouw account praat.
Route één: Gemini CLI over MCP
Gemini CLI ondersteunt het Model Context Protocol, wat betekent dat dezelfde @elido/mcp-server die Claude Desktop en Cursor bedient hier werkt zonder Gemini-specifieke code. Het pakket staat nog niet op npm (publieke release binnenkort), dus je draait het voorlopig vanuit een lokale build van packages/mcp-server. Configureer hem één keer en create_link, list_links, query_analytics, generate_qr en list_workspaces verschijnen als aanroepbare tools.
De server toevoegen
De snelle weg is het ingebouwde commando:
gemini mcp add -s user -e ELIDO_API_KEY=$ELIDO_API_KEY elido node /path/to/packages/mcp-server/dist/index.js
Of bewerk het instellingenbestand direct. Gebruikersscope staat in ~/.gemini/settings.json, projectscope in .gemini/settings.json, en het blok komt onder 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
}
}
}
Controleer of de verbinding werkt en beperk wat hij mag doen
Voer /mcp uit in Gemini CLI. Het toont elke geconfigureerde server met de status CONNECTED, CONNECTING of DISCONNECTED en de tools die hij beschikbaar stelt. Als elido vijf tools toont, werkt de koppeling. Probeer dan een gewoon verzoek: "create a short link for https://example.com/spring with the slug spring-sale". Een echte tool call geeft een link terug die je kunt openen en een vermelding in je dashboard. Een verzonnen slug zonder tool call betekent dat de server niet is gekoppeld.
Twee instellingen houden dit strak. trust staat standaard op false, dus de CLI vraagt om bevestiging voor elke tool call; laat dat zo zolang je leert wat het model met create_link doet. En includeTools werkt als een toegestane lijst: wil je alleen aanmaken en analytics, noem dan die twee en de rest bereikt het model nooit:
"includeTools": ["create_link", "query_analytics"]
Het detail van de env-expansie dat je kan bijten
Gemini CLI vult $VAR en ${VAR} in binnen het env-blok, en daarom is de sleutel hierboven een verwijzing en geen geplakt geheim. Gebruik dat. Een projectgebonden .gemini/settings.json met een echte sleutel committen is een makkelijke fout en een trage om op te merken.
Een scherpe rand uit de MCP-serverdocumentatie van Google: een niet-gedefinieerde variabele wordt een lege tekenreeks in plaats van een fout. Een typefout in de variabelenaam faalt dus niet luid bij het opstarten. Hij faalt later, bij de eerste tool call, als authenticatiefout. Ik ben twintig minuten kwijtgeraakt aan een ontbrekende export, allemaal besteed aan het herlezen van het verkeerde bestand, want een authenticatiefout wijst naar de inloggegevens en niet naar de naam van de variabele die ze moest dragen. Verbindt de server wel maar komt elke aanroep terug als niet-geautoriseerd, controleer dan eerst de variabele.
Zet de sleutel op en de volgende campagnebrief die je in de terminal schrijft kan zijn eigen links maken: start een werkruimte en genereer een afgebakende sleutel voor alleen deze integratie.
Route twee: function calling in de Gemini API
Bouw je iets in plaats van interactief te werken, dan is function calling het equivalente mechanisme op API-niveau. Je declareert de functie, het model geeft een gestructureerde aanroep terug wanneer het die nodig vindt, jouw code voert het verzoek uit en je voert het resultaat terug.
De vorm is dezelfde als bij elke toolintegratie. Beschrijf create_link, voer het HTTP-verzoek zelf uit, geef de respons terug. Wat je boven MCP wint, is controle. Jij bepaalt precies welke parameters het model mag zetten, en je kunt alles buiten je naamconventie weigeren voordat het verzoek je proces verlaat. Wat je verliest, is overdraagbaarheid. Deze koppeling moet jij onderhouden en ze gaat nergens mee naartoe.
Voor de meeste teams is deze route alleen zinvol als het verkorten één stap is in een grotere geautomatiseerde flow. Wil je gewoon links terwijl je werkt, dan is de CLI minder code en minder om draaiend te houden.
Route drie: de vooraf ingevulde chat
De optie zonder setup is een link die Gemini opent met de prompt al ingevuld:
https://gemini.google.com/app?q=<url-encoded%20prompt>
Dat is het mechanisme achter de knoppen op de pagina met LLM-integraties, in april 2026 gecontroleerd op het live oppervlak. Gedrag van queryparameters verandert bij elk AI-product, dus test opnieuw als een knop niet meer doet wat hij deed.
Wees nuchter over wat dit oplevert, gezien de eerste sectie. De assistent heeft geen tools, dus hij schetst en jij voert uit. Dat is nog steeds nuttig. Een lancering met acht UTM-varianten volgens een consistent naamschema is handmatig vervelend en voor een model makkelijk goed te krijgen. Het eindigt alleen niet met een link.
Welke route past
| Oppervlak | Kan je API aanroepen | Setup | Het best voor |
|---|---|---|---|
| Gemini-app en Gems | Nee | Niet beschikbaar | Slugs en UTM-sets schetsen |
| Gemini CLI | Ja, over MCP | Eén configblok | Dagelijks interactief gebruik |
| Gemini API | Ja, function calling | Code die jij onderhoudt | Links binnen een geautomatiseerde flow |
Lees die tabel naast die van ChatGPT en de asymmetrie is het punt. Het deelbare oppervlak van ChatGPT is dat wat een gekoppelde actie kan bevatten, dus een marketingteam kan een werkende custom GPT krijgen. Het gekoppelde oppervlak van Gemini is een terminal. Zijn je gebruikers marketeers, dan beslist dat verschil het platform nog vóór enige functievergelijking.
Hoe een goed verzoek eruitziet
Zodra de tool is gekoppeld, hangt de kwaliteit van de link af van het verzoek. Geef het model de bestemming, de slug als je erom geeft en de campagnecontext, en laat het de UTM-tags invullen volgens jouw conventie. "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" levert drie tool calls en drie links op die je in een tabel kunt plakken. Vage verzoeken leveren vage slugs op, dus zeg wat de naamregel is.
Controleer het resultaat zoals je het werk van een collega zou controleren. Open één link, bevestig dat hij op de juiste pagina uitkomt en bekijk hem in het dashboard. Een geslaagde tool call vertelt je dat het record bestaat, niet dat de bestemming de bedoelde was. De gebruikelijke naamproblemen komen aan bod in UTM-naamconventies.
De sleutel afgebakend houden
De MCP-server bewaart de inloggegevens en het model ziet ze nooit, wat de juiste vorm is. Toch blijft het aan jou wat die inloggegevens mogen doen.
Geef een sleutel per integratie in plaats van er één over meerdere tools te hergebruiken. Een sleutel voor interactief links maken moet links kunnen aanmaken en analytics kunnen lezen; hij hoeft geen links te verwijderen of aan eigen domeinen te komen. Als er iets onverwachts in het auditlog opduikt, vertelt een sleutel per integratie je welk oppervlak het veroorzaakte, en intrekken ervan breekt niets anders.
Projectscope verdient nog één gedachte. Een .gemini/settings.json die in een gedeelde repository is gecommit, is handig en is ook een bestand dat elke bijdrager erft. Houd het geheim in de omgeving en het instellingenbestand vrij van alles wat je niet in een pull request zou plakken.
Eerlijke grenzen
Drie dingen waarover je verwachtingen moet bijstellen.
Het toolaanbod is bewust klein. @elido/mcp-server zit op 0.1.x met vijf tools, en workspacebeheer zit er bewust niet bij. Mensen uitnodigen, domeinen configureren en abonnementen wijzigen blijven in het dashboard, waar een ingelogd mens ze doet.
Bulkwerk hoort elders. Om veertig links in één gesprek vragen levert rate-limitfouten op en een model dat de draad kwijtraakt van welke slug bij welke bestemming hoorde. Gebruik vanaf een handvol de API of een CSV-import.
En de kloof in de app is voor zover iemand heeft aangekondigd niet tijdelijk. Plan eromheen in plaats van het uit te zitten. Als een niet-technisch team vandaag links vanuit een chatoppervlak moet maken, is het eerlijke antwoord een andere assistent of het dashboard, geen Gem.
Lees de cornerstone → Koppel Elido aan Claude en Cursor met MCP
Gerelateerd op de blog
- ChatGPT URL-verkorter: wat werkt en wat het alleen voorwendt - dezelfde vraag, een ander antwoord.
- Koppel Elido aan Claude en Cursor met MCP - de volledige MCP-referentie waarop dit voortbouwt.
- Quickstart voor de API van een URL-verkorter - het REST-oppervlak onder elke route hier.
- Korte links als Terraform - wanneer links in code thuishoren en niet in een chat.
Veelgestelde vragen
Kan Gemini een URL verkorten?
Alleen waar het een tool kan aanroepen. Gemini CLI ondersteunt MCP-servers, dus met de Elido MCP-server geconfigureerd maakt het een echte link. De Gemini-consumentenapp kan dat niet: die heeft geen mechanisme om een API van een derde partij aan te roepen, dus als je het daar vraagt, krijg je een verzonnen slug die nergens naartoe leidt.
Ondersteunen Gemini Gems aangepaste acties zoals custom GPT's?
Nee. Gems hebben geen equivalent van GPT Actions, dus je kunt er geen eigen API, webhook of dienst aan koppelen. Gems kunnen wel de eigen extensies van Google gebruiken, zoals Google Workspace, Maps en YouTube, maar die zijn kant-en-klaar door Google gebouwd en geen verbindingen die je zelf configureert. Dit is het belangrijkste structurele verschil tussen bouwen op Gemini en bouwen op ChatGPT.
Hoe voeg ik een MCP-server toe aan Gemini CLI?
Voer gemini mcp add uit met de servernaam en het commando, of voeg direct een mcpServers-blok toe aan settings.json. Gebruikersscope staat in ~/.gemini/settings.json en projectscope in .gemini/settings.json, en de scope-vlag bepaalt welk bestand wordt geschreven.
Kan ik mijn API-sleutel buiten settings.json houden?
Ja. Gemini CLI vult omgevingsvariabelen in binnen het env-blok, dus je kunt $ELIDO_API_KEY schrijven in plaats van het geheim te plakken. Let op: een niet-gedefinieerde variabele wordt een lege tekenreeks in plaats van een fout, dus een typefout ziet eruit als een authenticatiefout bij de eerste tool call.
Wat als ik alleen de Gemini-webapp gebruik?
Gebruik dan de vooraf ingevulde chat om te schetsen en maak de link zelf aan. De assistent kan een slug voorstellen die bij je conventie past en de UTM-set schrijven voor een lancering over meerdere kanalen, maar de link moet worden gemaakt op een plek die hem echt kan wegschrijven. Zie de app als een schetsomgeving, niet als een uitvoeromgeving.
Is de Gemini-integratie klaar voor productie?
De MCP-server waarop hij steunt zit op 0.1.x en het Gemini-oppervlak is in ons integratieregister als Beta gemarkeerd, dus beschouw het als bruikbaar maar vroeg. Toolinvoer breekt niet binnen het 0.1.x-bereik, en het toolaanbod wordt groter, niet kleiner.
Probeer Elido
Plak een URL, krijg een werkende korte link
Geen aanmelding nodig. Link blijft 30 dagen actief. Meld je aan om hem voor altijd te bewaren.
Geen account nodig. Meld je gratis aan voor 50 links per maand.