Elido
16 min de leituraRecursos
Essencial

Ligar o Elido ao Claude e ao Cursor via MCP - um guia prático

Como integrar o @elido/mcp-server no Claude Desktop e no Cursor para que o seu agente de IA possa encurtar URLs, gerar códigos QR e consultar análises de cliques inline - sem sair do fluxo de trabalho.

Marius Voß
DevRel · edge infra
Diagrama que mostra o Claude Desktop e o Cursor a ligar-se através do transporte stdio MCP ao servidor MCP do Elido, que se encontra à frente da API REST do Elido

Se passou algum tempo com o Claude Desktop ou o Cursor nos últimos seis meses, provavelmente já reparou no painel de ferramentas - uma lista de ações com nome que o agente pode invocar a meio de uma conversa. Essas ferramentas vêm de um servidor MCP. Esta publicação explica o que isso significa, por que razão um encurtador de URLs é uma escolha natural, e como integrar o @elido/mcp-server em ambos os clientes para que o agente possa encurtar URLs, gerar códigos QR e obter análises de cliques sem sair do editor.

O que é o MCP#

O Model Context Protocol é um pequeno padrão aberto que permite a um cliente de IA - o Claude Desktop, o Cursor ou qualquer framework de agentes compatível - descobrir e chamar ferramentas externas através de uma interface JSON-RPC uniforme. O processo do servidor corre localmente na sua máquina (ou num servidor que controla), expõe uma lista de ferramentas tipificadas e comunica com o cliente através da entrada/saída padrão. O cliente envia um pedido de chamada de ferramenta, o servidor executa o trabalho e o resultado flui de volta para a conversa como contexto. O modelo nunca vê a sua chave de API; o servidor sim. O protocolo de comunicação cabe em poucos quilobytes por mensagem; não há SDK a instalar no lado do cliente, e o servidor pode ser escrito em qualquer linguagem que consiga ler stdin e escrever para stdout.

Em resumo: o MCP é uma forma normalizada para um cliente de IA chamar código que controla. O agente descreve a intenção, a ferramenta executa o trabalho, o agente incorpora o resultado.

Diagrama de arquitetura: o Claude Desktop e o Cursor ligam-se através do transporte stdio JSON-RPC ao servidor MCP local do Elido, que faz pedidos Bearer autenticados para a API REST do Elido em api.elido.app, com a chave de API a permanecer dentro do servidor para que o modelo nunca a veja

Por que razão um encurtador de URLs se enquadra bem aqui#

O ponto de fricção com as ligações curtas em qualquer fluxo de trabalho de conteúdo é sempre o mesmo: está no meio de redigir um e-mail ou um briefing de campanha, precisa de um URL curto com marca para o CTA, e tem de ir ao painel de controlo, criar a ligação, copiá-la, voltar ao editor e colá-la. Essa mudança de contexto custa trinta segundos, mas, mais importante, interrompe o fluxo de redação.

O MCP elimina a mudança de contexto. Quando o @elido/mcp-server está ligado, o agente pode chamar create_link inline - o URL curto aparece na conversa e continua. O mesmo se aplica a casos menos óbvios:

  • Redigir um anúncio de lançamento de produto que precisa de cinco ligações UTM por canal: o agente pode chamar create_link cinco vezes seguidas com tags diferentes e depois inserir todas as cinco no texto.
  • Pedir ao agente que produza um código QR para uma peça impressa: generate_qr devolve um artefacto SVG que o agente apresenta em contexto.
  • Rever o desempenho da campanha da semana passada: query_analytics obtém uma série temporal de cliques para qualquer ligação ou para todo o espaço de trabalho, corrigida para o fuso horário, sem ter de entrar no painel de controlo.

Nada disto requer que o modelo entenda a sua API. Requer que o @elido/mcp-server traduza uma chamada de ferramenta tipificada num pedido REST autenticado e devolva o resultado.

O servidor MCP do Elido encaixa neste modelo de forma direta. É um processo Node local que se situa entre o cliente de IA e a API REST do Elido. Quando o agente chama create_link, o servidor traduz essa chamada de ferramenta num pedido autenticado POST /v1/workspaces/{id}/links, trata da resolução do espaço de trabalho e devolve o resultado como texto estruturado que o agente consegue ler. A chave de API nunca sai do processo do servidor; o cliente apenas vê o resultado da ferramenta.

O que o servidor oferece hoje#

O @elido/mcp-server está publicado como @elido/mcp-server no npm (Apache-2.0, versão 0.1.x). O código-fonte encontra-se em packages/mcp-server/ no monorepo do Elido. Usa o transporte MCP stdio - JSON-RPC 2.0 delimitado por linhas em stdin/stdout - e não tem dependências de runtime além do Node 20+. Não usa o pacote oficial @modelcontextprotocol/sdk; o protocolo de comunicação é feito à mão para manter o pacote pequeno e fácil de auditar antes de lhe dar uma chave de API.

As cinco ferramentas disponíveis na versão 0.1.x:

FerramentaO que faz
create_linkEncurta um URL com slug, domínio, título e tags opcionais. Devolve o registo completo da ligação, incluindo o URL curto.
list_linksLista as ligações recentes no espaço de trabalho, paginadas.
query_analyticsSérie temporal de contagem de cliques para o espaço de trabalho ou para uma única ligação, agrupada por hora ou dia em qualquer fuso horário IANA.
generate_qrGera um código QR (SVG ou PNG) para uma ligação existente.
list_workspacesEnumera os espaços de trabalho visíveis para a chave de API.

As operações de administração do espaço de trabalho - convidar membros, rodar chaves de API, configurar domínios personalizados, gerir faturação - estão intencionalmente fora da superfície MCP. Essas operações ficam no painel de controlo. A superfície de ferramentas está delimitada ao que um agente de conteúdo ou de campanhas realmente precisa inline.

As cinco ferramentas MCP que o Elido expõe na versão 0.1.x: create_link e generate_qr precisam de escrita em ligações, list_links e list_workspaces precisam de leitura de ligações, e query_analytics precisa de leitura de análises, enquanto as operações de administração do espaço de trabalho como convidar membros e gerir faturação estão intencionalmente excluídas e ficam no painel de controlo

Obter uma chave de API#

Antes de configurar qualquer um dos clientes, precisa de uma chave de API com âmbito para o espaço de trabalho no qual o agente deve operar.

  1. Abra Definições → Chaves de API no painel de controlo do Elido.
  2. Clique em Nova chave, dê-lhe um nome que identifique o agente (p. ex. claude-desktop-mcp) e selecione o âmbito Leitura/escrita de ligações + Leitura de análises. Não conceda âmbito de administração do espaço de trabalho a não ser que tenha uma razão específica para tal.
  3. Copie a chave - é mostrada uma única vez. Também vai precisar do ID numérico do espaço de trabalho, visível em Definições → Espaço de Trabalho → Geral.

Mantenha a chave fora do controlo de versões. Os ficheiros de configuração do MCP descritos abaixo ficam no seu diretório home ou num caminho local do projeto; não os faça commit num repositório partilhado.

Para mais informações sobre âmbitos de chaves de API e o registo de auditoria que apresenta cada chamada de ferramenta, consulte a documentação de chaves de API.

Configurar o Claude Desktop#

O Claude Desktop lê a lista de servidores MCP a partir de um ficheiro JSON em:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Se o ficheiro não existir, crie-o. Adicione o bloco do servidor elido dentro de mcpServers:

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

Substitua elido_pk_a_sua_chave_aqui pela sua chave real e 42 pelo seu ID de espaço de trabalho.

ELIDO_WORKSPACE_ID é opcional se a chave tiver acesso a exatamente um espaço de trabalho - o servidor resolve-o automaticamente. Defina-o explicitamente quando a chave consegue ver mais do que um espaço de trabalho; sem ele, o servidor tem de fazer uma viagem extra em cada chamada de ferramenta que precise de um espaço de trabalho, e o comportamento é imprevisível se o acesso se expandir para um segundo espaço de trabalho.

Depois de guardar o ficheiro, feche e reinicie o Claude Desktop. As ferramentas do Elido aparecem no painel de ferramentas. Se não aparecerem, verifique a consola de programador do Claude Desktop (Ajuda → Mostrar ferramentas de programador) para a saída stderr do processo do servidor - a causa mais comum é um erro de digitação na chave ou um caminho de command que não resolve.

Se preferir fixar a versão exata do pacote em vez de obter a mais recente através do npx, instale-o globalmente primeiro:

npm install -g @elido/[email protected]

Depois substitua o par command / args:

{
  "command": "elido-mcp-server",
  "args": []
}

Configurar o Cursor#

O Cursor suporta configuração MCP local ao projeto através de um ficheiro .cursor/mcp.json na raiz do espaço de trabalho. O formato é idêntico ao bloco mcpServers do Claude Desktop:

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

Crie .cursor/mcp.json na raiz do projeto (adicione-o ao .gitignore se o repositório for partilhado - o ficheiro contém uma chave de API ativa). Abra Definições do Cursor → Funcionalidades → MCP, verifique que o servidor está listado e mostra um indicador de estado verde e, depois, reinicie o painel do agente. As ferramentas do Elido aparecerão na lista de ferramentas do Composer.

Também pode configurar uma configuração MCP global do Cursor em ~/.cursor/mcp.json se quiser as ferramentas disponíveis em todos os projetos sem ficheiros de configuração por projeto. As regras de precedência seguem o mesmo padrão que o Claude Desktop.

Sessão de exemplo: redigir um e-mail de campanha e encurtar o CTA#

Eis o aspeto de uma interação real depois de o servidor estar ligado. A transcrição do agente está condensada mas reflete a forma real das chamadas de ferramenta.

Uma viagem de ida e volta de create_link: o agente LLM solicita create_link com um URL, slug e tags, a ferramenta MCP traduz a chamada e resolve o espaço de trabalho, a API trata o POST e persiste o registo da ligação, e o registo da ligação curta é devolvido para que o agente insira o URL curto na conversa

Utilizador: Redige um e-mail curto de campanha para a nossa saldão de primavera. O CTA deve ligar para https://shop.example.com/spring-2026 - encurta-o com a tag spring-2026 e usa o slug spring se estiver disponível.

Claude: Vou encurtar o URL primeiro e depois redigir o e-mail em torno do resultado.

[Chamada de ferramenta: create_link]

{
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "title": "CTA do saldão de primavera 2026",
  "tags": ["spring-2026"]
}

[Resultado da ferramenta]

{
  "id": 1847,
  "short_url": "https://s.elido.me/spring",
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "tags": ["spring-2026"],
  "created_at": "2026-05-11T09:14:22Z"
}

Claude: A ligação curta é https://s.elido.me/spring. Aqui está o rascunho do e-mail:

Assunto: Saldão de primavera - até 40% de desconto, só esta semana

Olá [Nome],

O nosso saldão de primavera está ativo. Novidades, artigos de liquidação e algumas coisas que estávamos a guardar para o momento certo.

Ir às compras → https://s.elido.me/spring

Termina no domingo. Sem código necessário.


O agente chamou create_link com os parâmetros do seu pedido, recebeu de volta o registo canónico da ligação e usou o campo short_url no rascunho. Se o slug spring tivesse sido utilizado, a API teria devolvido um 409 e o agente teria tentado uma alternativa ou apresentado o conflito para que o resolvesse.

Repare que domain_id não foi fornecido na chamada de ferramenta. O servidor resolve-o automaticamente: se não for dado um domain_id, obtém a lista de domínios do espaço de trabalho e escolhe o primeiro domínio verificado. Para espaços de trabalho no plano gratuito, isso é f.elido.me; para espaços de trabalho pagos é s.elido.me ou um domínio personalizado se estiver configurado. Se quiser um domínio específico, passe o seu ID numérico explicitamente - pode consultá-lo com list_workspaces ou a partir do painel de controlo.

Também pode pedir ao agente que trate de múltiplas ligações numa única vez. "Cria ligações com UTM para e-mail, Twitter e LinkedIn - todas apontando para a página do saldão de primavera" resultará em três chamadas create_link sequenciais com diferentes conjuntos de tags, e o agente apresentará todos os três URLs curtos numa tabela que pode colar diretamente num briefing de campanha. Este padrão substitui uma sessão manual no construtor de UTM do painel de controlo para a configuração de campanhas de rotina, embora ainda não suporte o sistema de templates UTM ao nível do espaço de trabalho (abordado no guia de rastreamento UTM) - esse nível de automação ainda vai pela API REST.

Sessão de exemplo: consultar análises de cliques#

O segundo padrão consiste em obter análises durante uma revisão de campanha sem abrir o painel de controlo.


Utilizador: Como é que as ligações spring-2026 se saíram na semana passada? Detalha por dia, hora de Berlim.

Claude: Deixa-me obter a série temporal para essa ligação.

[Chamada de ferramenta: query_analytics]

{
  "link_id": 1847,
  "from": "2026-05-04",
  "to": "2026-05-10",
  "interval": "day",
  "tz": "Europe/Berlin"
}

[Resultado da ferramenta]

{
  "items": [
    { "bucket": "2026-05-04", "clicks": 312 },
    { "bucket": "2026-05-05", "clicks": 489 },
    { "bucket": "2026-05-06", "clicks": 701 },
    { "bucket": "2026-05-07", "clicks": 1204 },
    { "bucket": "2026-05-08", "clicks": 988 },
    { "bucket": "2026-05-09", "clicks": 623 },
    { "bucket": "2026-05-10", "clicks": 417 }
  ],
  "total": 4734,
  "tz": "Europe/Berlin"
}

Claude: A ligação de primavera recebeu 4.734 cliques na semana passada. Quarta a quinta foi o pico (701 → 1.204), o que coincide com envios de e-mail a meio da semana. O tráfego diminuiu ao longo do fim de semana. Se enviou o e-mail de campanha na quinta-feira de manhã, hora de Berlim, o pico faz sentido.

Para comparar múltiplas ligações, peça ao agente que chame query_analytics uma vez por ligação e compile os resultados. São mais algumas chamadas de ferramenta, mas o agente trata do ciclo; obtém uma tabela comparativa sem abrir o painel de controlo ou escrever um script.


O parâmetro tz garante que os intervalos diários se alinham com a meia-noite local, não com UTC. Um e-mail de campanha enviado às 9h CET que consulta em UTC terá o tráfego do primeiro dia dividido por dois dias UTC - tz: Europe/Berlin evita isso. O suporte a fusos horários vem do trabalho de análises da Fase 6.A descrito na página do servidor MCP.

Segurança - âmbito da chave, o que o servidor solicita, o registo de auditoria#

Algumas coisas que vale a pena saber antes de colocar isto à disposição de uma equipa.

Delimite o âmbito da chave. As ferramentas create_link e generate_qr precisam de acesso de escrita a ligações. query_analytics precisa de leitura de análises. list_links e list_workspaces precisam de leitura de ligações. Se o seu fluxo de trabalho é só de leitura - obter métricas durante uma revisão - crie uma chave com leitura de análises + leitura de ligações apenas e passe-a ao servidor. O servidor só chamará os endpoints que a chave permite; tudo o resto devolve um 403 que aparece como erro na resposta do agente.

O que o servidor envia. Cada chamada de ferramenta torna-se um pedido autenticado para api.elido.app com Authorization: Bearer <chave>. O servidor envia o cabeçalho User-Agent: elido-mcp-server/0.1.0 em cada pedido; essa cadeia é visível no registo de auditoria. Nenhum dado é enviado para a Anthropic ou para qualquer serviço de terceiros pelo próprio servidor - o servidor MCP é um processo local que faz a mediação entre o cliente e a API do Elido. Os dados que o cliente de IA envia para o seu próprio backend (o seu pedido do Claude Desktop, os resultados das ferramentas que fluem de volta para o contexto) são regidos pelas políticas de dados da Anthropic ou do Cursor, não do Elido.

Registo de auditoria. Cada chamada de API que o servidor MCP faz aparece em Definições → Registo de Auditoria no painel de controlo, marcada com o nome da chave e o IP de origem. Se vir chamadas de ferramenta inesperadas, rode a chave imediatamente em Definições → Chaves de API. O registo de auditoria está disponível nos planos Pro e Business.

A chave no ficheiro de configuração. O bloco env em claude_desktop_config.json e .cursor/mcp.json armazena a chave em texto simples. Numa máquina pessoal, isso é aceitável; num ambiente partilhado ou gerido, prefira injetar a chave através do chaveiro do sistema ou de um gestor de segredos e referenciá-la através de uma variável de ambiente que a configuração do MCP lê indiretamente. Para configurações de equipa, cada membro deve ter a sua própria chave - chaves partilhadas tornam a atribuição no registo de auditoria sem sentido.

Limitações honestas#

Algumas coisas que o servidor MCP não faz, por design.

Sem operações de administração do espaço de trabalho. Convidar membros de equipa, configurar domínios personalizados, gerir a faturação do plano, criar ou eliminar espaços de trabalho - nada disto está na superfície de ferramentas. Essas operações são suficientemente consequentes para que exigir um utilizador humano com sessão iniciada no painel de controlo seja o controlo correto. A superfície MCP está intencionalmente delimitada ao trabalho que um agente de conteúdo ou de campanhas precisa inline. Se precisar de automatizar o aprovisionamento de espaços de trabalho, a API REST e o fornecedor Terraform são as ferramentas certas.

Sem streaming em tempo real. O transporte atual é stdio com pedido/resposta síncrono. O transporte SSE está no roteiro. Para a maioria dos fluxos de trabalho de agentes - criar uma ligação, obter um código QR, obter uma série temporal semanal - o modelo síncrono é suficiente. Para um caso de uso que requeira transmitir em stream uma grande lista de ligações ou observar um contador de cliques ao vivo, o painel de controlo ou a API REST é a ferramenta correta hoje.

Os limites de taxa aplicam-se. A API do Elido aplica limites de taxa por chave independentemente de o chamador ser um humano, um script ou um servidor MCP. Os limites por nível de plano encontram-se na referência da API. Os fluxos de trabalho de agentes que chamam create_link em ciclos apertados - criando centenas de ligações programaticamente - devem usar o endpoint de importação em massa REST (POST /v1/links/bulk) diretamente em vez de emitir centenas de chamadas individuais de create_link. O servidor MCP está otimizado para uso interativo e inline; as operações em massa pertencem à superfície de scripting.

query_analytics devolve apenas contagens de cliques. A série temporal que a ferramenta query_analytics devolve são contagens de cliques agrupadas por tempo. Não devolve desagregações geográficas, divisões por dispositivo, dados de referenciador ou atribuição de conversão. Esses estão disponíveis no painel de controlo e através da API REST de análises completa, mas não fazem parte da superfície de ferramentas MCP atual. Se o seu fluxo de trabalho de agente requer uma desagregação por país por ligação, chame a API REST diretamente.

Para onde ir a seguir#

O código-fonte do servidor e o rastreador de problemas encontram-se em packages/mcp-server/ no monorepo do Elido. O pacote é publicado com proveniência npm, pelo que cada versão está criptograficamente ligada ao commit a partir do qual foi construída - auditar o artefacto de publicação é simples.

A página de integração MCP tem a referência de ferramentas, a matriz de âmbitos e a configuração de auto-alojamento para apontar ELIDO_API_BASE para uma instância privada do Elido. Se estiver num plano que inclui a configuração MCP de espaço de trabalho, a página também cobre o fluxo de trabalho de rotação de chaves de equipa.

As duas configurações que vale mais a pena tentar primeiro:

  1. Configure o Claude Desktop como descrito acima, abra uma nova conversa e escreva "encurta https://example.com/test com a tag mcp-test". Observe a chamada de ferramenta disparar e o URL curto aparecer na resposta. Toda a configuração deve demorar menos de cinco minutos.

  2. Se já usa o Cursor para trabalho de conteúdo ou documentação, coloque .cursor/mcp.json na raiz do projeto e peça ao Composer para "resumir as ligações mais populares da semana passada por contagem de cliques". As chamadas list_links e query_analytics acontecem inline e o agente escreve o resumo diretamente no chat.

Ambas são beta (0.1.x) - a superfície de ferramentas crescerá, mas os inputs de ferramentas existentes não serão alterados dentro do intervalo 0.1.x. Se algo não funcionar como descrito aqui, abra um issue com a etiqueta area:mcp e trataremos disso como uma regressão.

Relacionado no blogue#

Se estiver a avaliar o Elido em termos de custo, o servidor MCP está disponível em todos os planos - as chamadas de ferramenta contam contra os mesmos limites de taxa de API que qualquer outro cliente. A visibilidade do registo de auditoria descrita acima requer Pro ou superior. Consulte a página de preços para a comparação completa de planos.

  • Marius

Experimente Elido

Cole uma URL, obtenha um link curto

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

Grátis, sem necessidade de registo · 2 por dia

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
mcp
model context protocol
claude
cursor
ai integration
url shortener
developer experience
automation

Continuar lendo