9 min de leituraIntegrações

Encurtador de URL do Gemini: onde as ferramentas funcionam

O Gemini cria links curtos reais, mas não no app. Por que os Gems não chamam sua API e como ligar a CLI e a API para que o link resolva.

Marius Voß
DevRel · edge infra

O Gemini consegue criar um link curto que funciona. Só não no lugar que a maioria das pessoas tenta primeiro.

A separação é mais nítida do que com outros assistentes, e tudo se resume a uma decisão arquitetural do Google: o aplicativo Gemini para consumidores não tem mecanismo para chamar uma API que pertença a você. Peça para ele encurtar uma URL e você recebe um slug com o formato certo e nada por trás. A CLI do Gemini é um produto diferente, com uma resposta diferente, e é lá que a chamada de ferramenta acontece. Por isso, uma decisão que parece ser uma preferência entre duas superfícies do Google acaba determinando se sua equipe consegue usar isso de fato.

Este artigo aborda as três superfícies e o que cada uma realmente consegue fazer: a CLI via MCP, chamadas de função na API do Gemini e o chat pré-preenchido. O artigo paralelo sobre ChatGPT chega a uma conclusão diferente, por motivos que vale a pena entender antes de escolher uma superfície.

Gems são o recurso de assistente personalizado do Gemini e, à primeira vista, parecem o equivalente a um GPT personalizado. Mas não são, no aspecto que importa aqui. Os Gems não têm equivalente às Actions. Não têm um campo de esquema OpenAPI. Não têm configuração de autenticação. Não há como apontar um deles para seu próprio endpoint.

Os Gems podem usar extensões do próprio Google: Workspace, Maps e YouTube. Elas são criadas pelo Google, não configuradas por você. Portanto, a lacuna de capacidade não é uma lacuna de maturidade que desaparece com uma configuração. Nada que você escreva nas instruções de um Gem dará a ele acesso de rede à sua API.

Por isso, o aplicativo faz o que qualquer assistente sem ferramentas faria diante de um pedido de link curto. Ele produz caracteres plausíveis. É bom saber disso antes de passar uma tarde tentando contornar o problema com prompts.

Comparação entre três superfícies do Gemini para um encurtador de URLs: o aplicativo e os Gems não têm caminho até uma API de terceiros, a CLI acessa uma via MCP e a API acessa uma por chamadas de função A página da integração do Gemini no Elido com o deep link de prompt preenchido e o status do suporte a MCP

Ler uma URL não é encurtar uma URL

Ao pesquisar sobre este tema, você encontra muitas discussões sobre a ferramenta de contexto de URL do Gemini. Isso é o sentido oposto. O contexto de URL permite que o modelo busque e leia uma página que você fornece. Um encurtador de URLs precisa que o modelo escreva algo: criar um registro em um servidor que depois responderá a um redirecionamento. Ler e escrever são capacidades distintas, e só a segunda exige uma ferramenta que se comunique com a sua conta.

Rota um: CLI do Gemini via MCP

A CLI do Gemini oferece suporte ao Model Context Protocol, o que significa que o mesmo @elido/mcp-server que atende ao Claude Desktop e ao Cursor funciona aqui sem código específico do Gemini. O pacote ainda não está no npm (lançamento público em breve), por isso, por agora, executa-se a partir de uma compilação local de packages/mcp-server. Configure-o uma vez e create_link, list_links, query_analytics, generate_qr e list_workspaces aparecerão como ferramentas que podem ser chamadas.

Adicionando o servidor

O caminho mais rápido é o comando integrado:

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

Ou edite diretamente o arquivo de configurações. O escopo do usuário fica em ~/.gemini/settings.json, o escopo do projeto fica em .gemini/settings.json, e o bloco deve ficar em 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
    }
  }
}

Confirme que conectou e limite o que ele pode fazer

Execute /mcp dentro da CLI do Gemini. Ela lista cada servidor configurado com o status CONNECTED, CONNECTING ou DISCONNECTED e as ferramentas que ele expõe. Se elido mostrar cinco ferramentas, a conexão funciona. Depois, tente um pedido simples: "create a short link for https://example.com/spring with the slug spring-sale". Uma chamada de ferramenta real retorna um link que você pode abrir e uma entrada no seu painel. Um slug inventado, sem chamada de ferramenta, significa que o servidor não está conectado.

Duas configurações mantêm tudo sob controle. trust vem como false por padrão, então a CLI pede confirmação antes de cada chamada de ferramenta; deixe assim enquanto você aprende o que o modelo faz com create_link. E includeTools funciona como uma lista de permissões: se você quer apenas criação e análises, cite só essas e o restante nunca chega ao modelo:

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

O detalhe da expansão de env que causa problemas

A CLI do Gemini expande $VAR e ${VAR} dentro do bloco env, por isso a chave acima é uma referência, e não um segredo colado. Use essa abordagem. Fazer commit de um .gemini/settings.json com escopo de projeto e uma chave ativa é um erro fácil de cometer e demorado para perceber.

Há uma aresta importante na documentação do servidor MCP do Google: uma variável indefinida é resolvida como uma string vazia, em vez de gerar uma exceção. Assim, um erro de digitação no nome da variável não falha de forma explícita na inicialização. Ele falha depois, na primeira chamada de ferramenta, como um erro de autenticação. Perdi vinte minutos por causa de uma exportação ausente, todos eles relendo o arquivo errado, porque um erro de autenticação aponta para a credencial, e não para o nome da variável que deveria carregá-la. Se o servidor se conecta, mas todas as chamadas retornam não autorizado, verifique primeiro a variável.

Configure a chave, e o próximo briefing de campanha que você escrever no terminal poderá criar seus próprios links: comece um workspace e gere uma chave com escopo para essa integração.

Rota dois: chamadas de função na API do Gemini

Se você está criando algo, em vez de trabalhar de forma interativa, chamadas de função são o mecanismo equivalente na camada da API. Você declara a função, o modelo retorna uma chamada estruturada quando decide que ela é necessária, seu código executa a solicitação e você envia o resultado de volta.

O formato é igual ao de qualquer integração de ferramentas. Descreva create_link, execute a solicitação HTTP você mesmo e retorne a resposta. O que você ganha em relação ao MCP é controle. Você decide exatamente quais parâmetros o modelo pode definir e pode recusar qualquer coisa fora da sua convenção de nomenclatura antes mesmo de a solicitação sair do seu processo. O que você perde é portabilidade. Essa conexão é sua para manter e não acompanha você para lugar nenhum.

Para a maioria das equipes, essa rota só faz sentido quando o encurtamento é uma etapa dentro de um fluxo automatizado maior. Se você só quer links enquanto trabalha, a CLI exige menos código e menos coisas para manter em execução.

Rota três: o chat pré-preenchido

A opção sem configuração é um link que abre o Gemini com o prompt já escrito:

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

Esse é o mecanismo por trás dos botões na página de integrações com LLMs, confirmado na superfície em produção em abril de 2026. O comportamento de parâmetros de consulta em qualquer produto de IA pode mudar, então teste novamente se um botão parar de fazer o que fazia antes.

Seja realista sobre o que isso oferece, considerando a primeira seção. O assistente não tem ferramentas, então ele faz o rascunho e você executa. Ainda assim, isso é útil. Um lançamento que precisa de oito variantes de UTM com uma convenção de nomenclatura consistente é tedioso de fazer manualmente e fácil para um modelo acertar. Só não termina com um link.

Fluxo de uma chamada de ferramenta da CLI do Gemini: settings.json declara o servidor MCP do Elido, a CLI o inicia via stdio, o servidor chama a API do Elido com uma chave que nunca chega ao modelo e o link curto resolvido retorna à conversa

Qual rota se encaixa

SuperfíciePode chamar sua APIConfiguraçãoMelhor para
Aplicativo Gemini e GemsNãoNenhuma disponívelCriar rascunhos de slugs e conjuntos de UTM
CLI do GeminiSim, via MCPUm bloco de configuraçãoUso interativo diário
API do GeminiSim, chamadas de funçãoCódigo mantido por vocêLinks dentro de um fluxo automatizado

Leia essa tabela junto com a do ChatGPT e a assimetria fica evidente. A superfície compartilhável do ChatGPT é a que pode conter uma ação conectada, então uma equipe de marketing pode receber um GPT personalizado funcional. A superfície conectada do Gemini é um terminal. Se seus usuários são profissionais de marketing, essa diferença decide a plataforma antes de qualquer comparação de recursos.

Como é um bom pedido

Com a ferramenta conectada, a qualidade do link depende do pedido. Informe ao modelo o destino, o slug (se ele importar para você) e o contexto da campanha, e deixe que ele preencha as tags UTM seguindo a sua convenção. "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" gera três chamadas de ferramenta e três links que você pode colar em uma tabela. Pedidos vagos geram slugs vagos, então diga qual é a regra de nomenclatura.

Confira o resultado como faria com o trabalho de um colega. Abra um link, confirme que ele leva à página certa e veja-o no painel. Uma chamada de ferramenta bem-sucedida mostra que o registro existe, não que o destino era o que você queria. Os problemas de nomenclatura mais comuns estão descritos em convenções de nomenclatura de UTM.

Mantendo a chave com escopo

O servidor MCP mantém a credencial e o modelo nunca a vê, que é o formato certo. Ainda assim, cabe a você decidir o que a credencial pode fazer.

Emita uma chave por integração, em vez de reutilizar uma entre ferramentas. Uma chave para a criação interativa de links precisa criar links e ler análises; ela não precisa excluir links nem acessar domínios personalizados, e quando algo inesperado aparece no log de auditoria, uma chave por integração informa qual superfície produziu aquilo, e revogá-la não interrompe mais nada.

O escopo do projeto merece uma reflexão adicional. Um .gemini/settings.json com commit em um repositório compartilhado é conveniente, mas também é um arquivo que todo colaborador herda. Mantenha o segredo no ambiente e deixe o arquivo de configurações sem nada que você não colaria em um pull request.

Limites honestos

Vale a pena alinhar três expectativas.

A superfície de ferramentas é pequena de propósito. @elido/mcp-server está na versão 0.1.x, com cinco ferramentas, e a administração do workspace deliberadamente não está entre elas. Convidar pessoas, configurar domínios e alterar planos continuam no dashboard, onde uma pessoa autenticada faz essas ações.

O trabalho em massa pertence a outro lugar. Pedir quarenta links em uma conversa produz erros de limite de taxa e um modelo que perde o controle de qual slug corresponde a qual destino. Depois de alguns links, use a API ou uma importação de CSV.

E, pelo que foi anunciado até agora, a lacuna do aplicativo não é temporária. Planeje considerando isso, em vez de esperar que desapareça. Se uma equipe não técnica precisa criar links a partir de uma superfície de chat hoje, a resposta honesta é usar outro assistente ou o dashboard, não um Gem.

Leia o artigo principal → Conecte o Elido ao Claude e ao Cursor com MCP

Relacionado no Blog

Perguntas frequentes

O Gemini consegue encurtar uma URL?

Somente onde ele pode chamar uma ferramenta. A CLI do Gemini oferece suporte a servidores MCP, então, com o servidor MCP do Elido configurado, ela cria um link real. O aplicativo Gemini para consumidores não consegue: ele não tem um mecanismo para chamar uma API de terceiros, então pedir isso nele produz um slug inventado que não resolve para lugar nenhum.

Os Gems do Gemini oferecem suporte a ações personalizadas como os GPTs personalizados?

Não. Os Gems não têm equivalente às GPT Actions, então não é possível apontá-los para sua própria API, webhook ou serviço. Os Gems podem usar extensões do próprio Google, como Workspace, Maps e YouTube, mas elas são pré-criadas pelo Google, e não conexões que você configura. Essa é a principal diferença estrutural entre criar algo no Gemini e criar algo no ChatGPT.

Como adiciono um servidor MCP à CLI do Gemini?

Você pode executar gemini mcp add com o nome e o comando do servidor ou adicionar diretamente um bloco mcpServers ao settings.json. O escopo do usuário fica em ~/.gemini/settings.json e o escopo do projeto em .gemini/settings.json; a opção de escopo decide em qual arquivo os dados serão gravados.

Posso manter minha chave de API fora do settings.json?

Sim. A CLI do Gemini expande variáveis de ambiente dentro do bloco env, então você pode escrever $ELIDO_API_KEY em vez de colar o segredo. Observe que uma variável indefinida é resolvida como uma string vazia, em vez de gerar um erro, então um erro de digitação parece uma falha de autenticação na primeira chamada de ferramenta.

E se eu usar apenas o aplicativo web do Gemini?

Nesse caso, use o chat pré-preenchido para fazer o rascunho e crie o link você mesmo. O assistente pode propor um slug que siga sua convenção e escrever o conjunto de UTM para um lançamento em vários canais, mas o link precisa ser criado em algum lugar que realmente possa gravá-lo. Trate o aplicativo como uma superfície de rascunho, não de execução.

A integração com o Gemini está pronta para produção?

O servidor MCP do qual ela depende está na versão 0.1.x e a superfície do Gemini está marcada como Beta no nosso registro de integrações, então considere-a utilizável, mas ainda inicial. As entradas das ferramentas não serão incompatíveis dentro da faixa 0.1.x, e a superfície de ferramentas tende a crescer, não a diminuir.

Experimente Elido

Cole uma URL, obtenha um link curto

Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.

Sem registro. Crie uma conta grátis e obtenha 50 links por mês.

Experimente o Elido

Encurtador de URL hospedado na UE: domínios personalizados, análises profundas e API aberta. Plano gratuito - sem cartão de crédito.

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

Continuar lendo