Elido
16 min de lecturaFunciones
Esencial

Conectar Elido a Claude y Cursor mediante MCP - una guía práctica

Cómo conectar @elido/mcp-server con Claude Desktop y Cursor para que tu agente de IA pueda acortar URLs, generar códigos QR y consultar analíticas de clics en línea, sin salir de tu flujo de trabajo.

Marius Voß
DevRel · edge infra
Diagram showing Claude Desktop and Cursor connecting through the MCP stdio transport to the Elido MCP server, which sits in front of the Elido REST API

Si has pasado algún tiempo con Claude Desktop o Cursor en los últimos seis meses, probablemente hayas notado el panel de herramientas: una lista de acciones con nombre que el agente puede invocar en medio de una conversación. Esas herramientas provienen de un servidor MCP. Este artículo explica qué significa eso, por qué un acortador de URLs encaja de forma natural y cómo conectar @elido/mcp-server con ambos clientes para que el agente pueda acortar URLs, generar códigos QR y obtener desgloses de clics sin que tengas que abandonar el editor.

Qué es MCP#

El Model Context Protocol es un pequeño estándar abierto que permite a un cliente de IA - Claude Desktop, Cursor o cualquier framework de agentes compatible - descubrir y llamar herramientas externas a través de una interfaz JSON-RPC uniforme. El proceso del servidor se ejecuta localmente en tu máquina (o en un host que controles), expone una lista de herramientas tipadas y se comunica con el cliente mediante entrada/salida estándar. El cliente envía una solicitud de llamada a la herramienta, el servidor ejecuta el trabajo y el resultado regresa a la conversación como contexto. El modelo nunca ve tu clave de API; el servidor sí. Todo el protocolo de cable cabe en unos pocos kilobytes por mensaje; no hay un SDK que debas instalar en el lado del cliente, y el servidor puede escribirse en cualquier lenguaje capaz de leer stdin y escribir stdout.

La versión corta: MCP es una forma estandarizada de que un cliente de IA llame a código que tú controlas. El agente describe la intención, la herramienta hace el trabajo, el agente incorpora el resultado.

Diagrama de arquitectura: Claude Desktop y Cursor se conectan mediante el transporte stdio JSON-RPC al servidor MCP local de Elido, que realiza solicitudes autenticadas Bearer a la API REST de Elido en api.elido.app, con la clave de API dentro del servidor para que el modelo nunca la vea

Por qué un acortador de URLs encaja bien aquí#

El punto de fricción con los enlaces cortos en cualquier flujo de trabajo de contenidos es siempre el mismo: estás en medio de la redacción de un correo o de un brief de campaña, necesitas una URL corta de marca para el CTA y tienes que cambiar de pestaña al panel, crear el enlace, copiarlo, volver y pegarlo. Ese cambio de contexto cuesta treinta segundos pero, lo que es más importante, rompe el flujo de redacción.

MCP elimina el cambio de contexto. Cuando @elido/mcp-server está conectado, el agente puede llamar a create_link en línea: la URL corta aparece en la conversación y tú continúas. Lo mismo se aplica a casos menos obvios:

  • Redactar el anuncio de lanzamiento de un producto que necesita cinco enlaces con UTM por canal: el agente puede llamar a create_link cinco veces en secuencia con distintas etiquetas y luego insertar los cinco en el texto.
  • Pedir al agente que produzca un código QR para una pieza impresa: generate_qr devuelve un artefacto SVG que el agente presenta en el contexto.
  • Revisar el rendimiento de las campañas de la semana pasada: query_analytics extrae una serie temporal de clics para cualquier enlace o para todo el workspace, corregida por zona horaria, sin que tengas que iniciar sesión en el panel.

Ninguno de estos requiere que el modelo entienda tu API. Requieren que @elido/mcp-server traduzca una llamada tipada a la herramienta en una solicitud REST autenticada y devuelva el resultado.

El servidor MCP de Elido encaja directamente en este modelo. Es un proceso local de Node que se sitúa entre el cliente de IA y la API REST de Elido. Cuando el agente llama a create_link, el servidor traduce esa llamada en una solicitud autenticada POST /v1/workspaces/{id}/links, gestiona la resolución del workspace y devuelve el resultado como texto estructurado que el agente puede leer. La clave de API nunca abandona el proceso del servidor; el cliente solo ve el resultado de la herramienta.

Qué incluye el servidor hoy#

@elido/mcp-server se publica como @elido/mcp-server en npm (Apache-2.0, versión 0.1.x). El código fuente está en packages/mcp-server/ en el monorepo de Elido. Habla el transporte MCP stdio - JSON-RPC 2.0 delimitado por líneas en stdin/stdout - y no tiene dependencias de ejecución más allá de Node 20+. No utiliza el paquete oficial @modelcontextprotocol/sdk; el cable está hecho a mano para mantener el paquete pequeño y fácil de auditar antes de que le entregues una clave de API.

Las cinco herramientas disponibles en 0.1.x:

HerramientaQué hace
create_linkAcorta una URL con slug, dominio, título y etiquetas opcionales. Devuelve el registro completo del enlace, incluida la URL corta.
list_linksLista los enlaces recientes del workspace, paginado.
query_analyticsSerie temporal de recuento de clics para el workspace o un único enlace, agrupado por hora o día en cualquier zona horaria IANA.
generate_qrGenera un código QR (SVG o PNG) para un enlace existente.
list_workspacesEnumera los workspaces que la clave de API puede ver.

Las operaciones administrativas del workspace - invitar miembros, rotar claves de API, configurar dominios personalizados, gestionar la facturación - están intencionadamente fuera de la superficie MCP. Esas permanecen en el panel. La superficie de herramientas se limita a las cosas que un agente que hace trabajo de contenido o campañas realmente necesita en línea.

Las cinco herramientas MCP que Elido expone en la version 0.1.x: create_link y generate_qr necesitan escritura de enlaces, list_links y list_workspaces necesitan lectura de enlaces, y query_analytics necesita lectura de analiticas, mientras que las operaciones administrativas del workspace como invitar miembros y gestionar la facturacion se omiten intencionadamente y permanecen en el panel

Obtener una clave de API#

Antes de configurar cualquiera de los clientes necesitas una clave de API con permisos sobre el workspace en el que el agente debe operar.

  1. Abre Settings → API Keys en el panel de Elido.
  2. Haz clic en New key, dale un nombre que identifique al agente (por ejemplo, claude-desktop-mcp) y selecciona el alcance Link read/write + Analytics read. No otorgues alcance de administrador del workspace a menos que tengas una razón específica para hacerlo.
  3. Copia la clave: solo se muestra una vez. También necesitarás el ID numérico del workspace, visible en Settings → Workspace → General.

Mantén la clave fuera del control de versiones. Los archivos de configuración de MCP descritos a continuación viven en tu directorio personal o en una ruta local del proyecto; no los subas a un repositorio compartido.

Para más información sobre los alcances de las claves de API y el registro de auditoría que muestra cada llamada a herramienta, consulta la documentación de claves de API.

Configurar Claude Desktop#

Claude Desktop lee su lista de servidores MCP desde un archivo JSON en:

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

Si el archivo no existe, créalo. Añade el bloque del servidor elido dentro de mcpServers:

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

Sustituye elido_pk_your_key_here por tu clave real y 42 por el ID de tu workspace.

ELIDO_WORKSPACE_ID es opcional si la clave tiene acceso a exactamente un workspace - el servidor lo resolverá automáticamente. Configúralo explícitamente cuando la clave pueda ver más de un workspace; sin ello, el servidor tiene que hacer una ida y vuelta adicional en cada llamada a herramienta que necesite un workspace, y el comportamiento es impredecible si el acceso se amplía más adelante a un segundo workspace.

Después de guardar el archivo, cierra y reabre Claude Desktop. Las herramientas de Elido aparecen en el panel de herramientas. Si no aparecen, revisa la consola de desarrollador de Claude Desktop (Help → Show developer tools) en busca de la salida stderr del proceso del servidor - la causa más común es un error tipográfico en la clave o una ruta command que no se resuelve.

Si prefieres fijar la versión exacta del paquete en lugar de obtener la última a través de npx, instálalo primero globalmente:

npm install -g @elido/[email protected]

Después sustituye el par command / args:

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

Configurar Cursor#

Cursor admite configuración MCP local de proyecto mediante un archivo .cursor/mcp.json en la raíz del workspace. El formato es idéntico al bloque mcpServers de Claude Desktop:

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

Crea .cursor/mcp.json en la raíz del proyecto (añádelo a .gitignore si el repositorio es compartido - el archivo contiene una clave de API activa). Abre Cursor Settings → Features → MCP, verifica que el servidor aparece listado y muestra un indicador verde de estado, luego reinicia el panel del agente. Las herramientas de Elido aparecerán en la lista de herramientas del Composer.

También puedes configurar un MCP global de Cursor en ~/.cursor/mcp.json si quieres que las herramientas estén disponibles en todos los proyectos sin archivos de configuración por proyecto. Las reglas de precedencia siguen el mismo patrón que Claude Desktop.

Sesión de ejemplo: redactar un correo de campaña y acortar el CTA#

Así se ve una interacción real una vez que el servidor está conectado. La transcripción del agente está condensada pero refleja la forma real de la llamada a la herramienta.

Un ciclo de ida y vuelta de create_link: el agente LLM solicita create_link con una URL, slug y etiquetas, la herramienta MCP traduce la llamada y resuelve el workspace, la API gestiona el POST y persiste el registro del enlace, y el registro del enlace corto regresa para que el agente inserte la URL corta en el chat

Usuario: Redacta un correo breve de campaña para nuestras rebajas de primavera. El CTA debe enlazar a https://shop.example.com/spring-2026 - acórtalo con la etiqueta spring-2026 y usa el slug spring si está disponible.

Claude: Primero acortaré la URL y luego redactaré el correo a partir del resultado.

[Tool call: create_link]

{
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "title": "Spring 2026 sale CTA",
  "tags": ["spring-2026"]
}

[Tool result]

{
  "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: El enlace corto es https://s.elido.me/spring. Aquí está el borrador del correo:

Asunto: Rebajas de primavera - hasta un 40% de descuento, solo esta semana

Hola [Nombre],

Nuestras rebajas de primavera están en marcha. Nuevas llegadas, líneas de liquidación y algunas cosas que hemos estado guardando para el momento adecuado.

Compra las rebajas → https://s.elido.me/spring

Termina el domingo. No se necesita código.


El agente llamó a create_link con los parámetros de tu prompt, recibió de vuelta el registro canónico del enlace y usó el campo short_url en el borrador. Si el slug spring hubiera estado ocupado, la API habría devuelto un 409 y el agente habría intentado una alternativa o habría mostrado el conflicto para que tú lo resolvieras.

Observa que domain_id no se proporcionó en la llamada a la herramienta. El servidor lo resuelve automáticamente: si no se proporciona domain_id, obtiene la lista de dominios del workspace y elige el primer dominio verificado. Para workspaces del plan gratuito ese es f.elido.me; para workspaces de pago es s.elido.me o un dominio personalizado si hay uno configurado. Si quieres un dominio específico, pasa su ID numérico explícitamente - puedes consultarlo con list_workspaces o desde el panel.

También puedes pedirle al agente que gestione múltiples enlaces en un solo turno. "Crea enlaces etiquetados con UTM para correo, Twitter y LinkedIn - todos apuntando a la página de rebajas de primavera" resultará en tres llamadas secuenciales a create_link con distintos conjuntos de etiquetas, y el agente presentará las tres URLs cortas en una tabla que podrás pegar directamente en un brief de campaña. Ese patrón sustituye una sesión manual con el constructor de UTM en el panel para la configuración rutinaria de campañas, aunque todavía no admite el sistema de plantillas UTM a nivel de workspace (cubierto en la guía de seguimiento UTM) - ese nivel de automatización aún pasa por la API REST.

Sesión de ejemplo: consultar desgloses de clics#

El segundo patrón es extraer analíticas durante una revisión de campaña sin abrir el panel.


Usuario: ¿Cómo rindieron los enlaces de spring-2026 la semana pasada? Desglósalos por día, hora de Berlín.

Claude: Permíteme obtener la serie temporal para ese enlace.

[Tool call: query_analytics]

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

[Tool result]

{
  "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: El enlace de primavera recibió 4.734 clics la semana pasada. El miércoles–jueves fue el pico (701 → 1.204), lo que coincide con los envíos de correo de mitad de semana. El tráfico cayó durante el fin de semana. Si enviaste el correo de campaña el jueves por la mañana hora de Berlín, el pico encaja.

Para comparar varios enlaces, pídele al agente que llame a query_analytics una vez por enlace y recopile los resultados. Son algunas llamadas a herramienta más, pero el agente gestiona el bucle; obtienes una tabla comparativa sin abrir el panel ni escribir un script.


El parámetro tz garantiza que los grupos por día se alineen con la medianoche local, no con UTC. Un correo de campaña enviado a las 9am CET que consultes en UTC tendrá el tráfico del primer día dividido entre dos días UTC - tz: Europe/Berlin evita eso. La compatibilidad con zonas horarias proviene del trabajo de analíticas de la Fase 6.A descrito en la página del servidor MCP.

Seguridad - limitar el alcance de la clave, qué solicita el servidor, el registro de auditoría#

Algunas cosas que vale la pena saber antes de poner esto frente a un equipo.

Limita el alcance de la clave estrictamente. Las herramientas create_link y generate_qr necesitan acceso de escritura sobre enlaces. query_analytics necesita lectura de analíticas. list_links y list_workspaces necesitan lectura de enlaces. Si tu flujo de trabajo es de solo lectura - extraer métricas durante una revisión - crea una clave con lectura de analíticas + lectura de enlaces solamente y pásala al servidor. El servidor solo llamará a los endpoints que la clave permita; todo lo demás devuelve un 403 que aparece como un error en la respuesta del agente.

Qué envía el servidor. Cada llamada a herramienta se convierte en una solicitud autenticada a api.elido.app con Authorization: Bearer <key>. El servidor envía la cabecera User-Agent: elido-mcp-server/0.1.0 en cada solicitud; esa cadena es visible en el registro de auditoría. El servidor en sí no envía datos a Anthropic ni a ningún servicio de terceros - el servidor MCP es un proceso local que media entre el cliente y la API de Elido. Qué datos envía el cliente de IA a su propio backend (tu prompt de Claude Desktop, los resultados de las herramientas que regresan al contexto) se rige por las políticas de datos de Anthropic o Cursor, no por las de Elido.

Registro de auditoría. Cada llamada a la API que hace el servidor MCP aparece en Settings → Audit Log en el panel, etiquetada con el nombre de la clave y la IP de origen. Si ves llamadas a herramienta inesperadas, rota la clave inmediatamente desde Settings → API Keys. El registro de auditoría está disponible en los planes Pro y Business.

La clave en el archivo de configuración. El bloque env en claude_desktop_config.json y .cursor/mcp.json almacena la clave en texto plano. En una máquina personal esto es aceptable; en un entorno compartido o gestionado prefiere inyectar la clave a través del llavero del sistema o un gestor de secretos y referenciarla mediante una variable de entorno que la configuración MCP lea indirectamente. Para configuraciones de equipo, cada miembro debería tener su propia clave - las claves compartidas hacen que la atribución del registro de auditoría carezca de sentido.

Límites honestos#

Algunas cosas que el servidor MCP no hace, por diseño.

Sin operaciones administrativas del workspace. Invitar miembros del equipo, configurar dominios personalizados, gestionar la facturación del plan, crear o eliminar workspaces - nada de esto está en la superficie de herramientas. Esas operaciones son lo suficientemente consecuentes como para que requerir un humano con sesión iniciada en el panel sea el control correcto. La superficie MCP está intencionadamente limitada al trabajo que un agente de contenido o campañas necesita en línea. Si necesitas automatizar el aprovisionamiento de workspaces, la API REST y el proveedor de Terraform son las herramientas adecuadas.

Sin streaming en tiempo real. El transporte actual es stdio con solicitud/respuesta síncrona. El transporte SSE está en la hoja de ruta. Para la mayoría de los flujos de trabajo de agentes - crear un enlace, obtener un código QR, extraer una serie temporal semanal - el modelo síncrono está bien. Para un caso de uso que requiera transmitir una lista grande de enlaces o observar un contador de clics en vivo, el panel o la API REST son la herramienta adecuada hoy.

Se aplican límites de tasa. La API de Elido impone límites de tasa por clave independientemente de si quien llama es un humano, un script o un servidor MCP. Los límites por nivel de plan están en la referencia de API. Los flujos de trabajo de agente que llaman a create_link en bucles cerrados - creando programáticamente cientos de enlaces en masa - deberían usar el endpoint REST de importación masiva (POST /v1/links/bulk) directamente en lugar de emitir cientos de llamadas individuales a create_link. El servidor MCP está optimizado para uso interactivo en línea; las operaciones masivas pertenecen a la superficie de scripting.

query_analytics devuelve solo recuentos de clics. La serie temporal que devuelve la herramienta query_analytics son recuentos de clics agrupados por tiempo. No devuelve desgloses geográficos, divisiones por dispositivo, datos de referente ni atribución de conversiones. Esos están disponibles en el panel y a través de la API REST completa de analíticas pero no forman parte de la superficie actual de herramientas MCP. Si tu flujo de trabajo del agente requiere un desglose por país por enlace, llama directamente a la API REST.

A dónde ir después#

El código fuente del servidor y el rastreador de incidencias están en packages/mcp-server/ en el monorepo de Elido. El paquete se publica con npm provenance, por lo que cada versión está criptográficamente vinculada al commit desde el que se construyó - auditar el artefacto de publicación es sencillo.

La página de integración MCP tiene la referencia de herramientas, la matriz de alcances y la configuración para autohospedaje para apuntar ELIDO_API_BASE a una instancia privada de Elido. Si estás en un plan que incluye configuración MCP a nivel de workspace, la página también cubre el flujo de rotación de claves del equipo.

Las dos configuraciones que más vale la pena probar primero:

  1. Configura Claude Desktop como se describe arriba, abre una nueva conversación y escribe "acorta https://example.com/test con la etiqueta mcp-test". Observa cómo se dispara la llamada a la herramienta y la URL corta aparece en la respuesta. Toda la configuración debería tomar menos de cinco minutos.

  2. Si ya usas Cursor para trabajo de contenido o documentación, coloca .cursor/mcp.json en la raíz del proyecto y pídele al Composer que "resuma los principales enlaces de la semana pasada por recuento de clics". Las llamadas a list_links y query_analytics ocurren en línea y el agente escribe el resumen directamente en el chat.

Ambos están en beta (0.1.x) - la superficie de herramientas crecerá, pero las entradas de herramientas existentes no se romperán dentro del rango 0.1.x. Si algo no funciona como se describe aquí, abre una incidencia con la etiqueta area:mcp y lo trataremos como una regresión.

Relacionado en el blog#

Si estás evaluando Elido por coste, el servidor MCP está disponible en todos los planes - las llamadas a herramientas cuentan contra los mismos límites de tasa de API que cualquier otro cliente. La visibilidad del registro de auditoría descrita arriba requiere Pro o superior. Consulta la página de precios para la comparación completa de planes.

  • Marius

Prueba Elido

Pega una URL, obtén un enlace corto

Sin registro. El enlace vive 30 días. Crea una cuenta para conservarlo.

Gratis, sin registro · 2 por día

Prueba Elido

Acortador de URL alojado en la UE: dominios personalizados, análisis profundo y API abierta. Plan gratuito - sin tarjeta de crédito.

Etiquetas
mcp
model context protocol
claude
cursor
ai integration
url shortener
developer experience
automation

Seguir leyendo