simsima-connectivity

Simsima Connectivity es un servidor MCP público que expone el catálogo de eSIM de viaje de Simsima a agentes de IA. Proporciona acceso de solo lectura a listas de destinos, búsqueda de planes, recomendaciones y enlaces de pago con atribución a través de un endpoint HTTP transmisible.

Documentación

Simsima — planes eSIM de viaje en Claude

Glama score

En Claude: directorio de conectores · Sitio web: simsima.io · Endpoint: https://mcp.simsima.io/mcp (HTTP Streamable) · Registro: io.github.Willyfab/simsima-connectivity

Simsima vende eSIM de viaje prepagadas para unos 190 países, regiones y planes mundiales. Este conector permite a Claude, o a cualquier cliente MCP, consultar ese catálogo mientras planificas un viaje: qué planes existen para un destino, cuánto cuestan, si un plan regional cubre todos los países de tu ruta, qué redes locales utiliza y qué plan se ajusta a la duración de tu estancia. Cuando hayas elegido uno, te da el enlace a ese plan en simsima.io, donde completas la compra tú mismo.

Funciona en los 26 idiomas de simsima.io, con precios en la moneda correspondiente. No necesita cuenta ni inicio de sesión, y solo lee el catálogo público.

Añadirlo a Claude

Simsima está listado en el directorio de conectores de Claude: abre claude.ai/directory/simsima y conéctalo. No se requiere cuenta ni autenticación.

También puedes añadirlo manualmente: en Claude (web, escritorio o móvil), abre Configuración › Conectores, elige Añadir conector personalizado e introduce https://mcp.simsima.io/mcp.

En Claude Code:

claude mcp add --transport http simsima https://mcp.simsima.io/mcp

Qué puedes preguntar

  • "Voy a pasar 10 días en Japón y uso mucho mapas y redes sociales. ¿Qué eSIM debería llevar?"
  • "¿Funciona la eSIM de Europa en Suiza y en el Reino Unido?"
  • "Compara planes ilimitados para Tailandia durante dos semanas, por menos de 30 $."
  • "¿Qué redes móviles utiliza la eSIM de Simsima para Brasil y puedo recargarla?"
  • "Dame el enlace para comprar el plan de 5 GB y 7 días para Italia."

Herramientas

Todas las herramientas son de solo lectura.

HerramientaQué hace
list_destinationsDestinos cubiertos (países, regiones, global), con el precio de entrada y la URL del producto de cada uno.
search_plansPlanes para un destino, primero los más baratos, filtrados por precio, datos, validez o datos ilimitados.
get_planUn plan por su sku.
recommend_planMejor(es) plan(es) para un viaje, dada su duración en días y uso ligero, medio o intensivo.
check_coverageSi el plan de un destino cubre un país determinado (nombre o código ISO), con el plan de país independiente como alternativa.
get_destination_infoPaíses cubiertos, operadores móviles, disponibilidad de recarga y precio de entrada para un destino.
create_checkout_linkEnlace a la página de un plan en simsima.io, con el plan preseleccionado (dado solo un destino, la página del destino). La herramienta no realiza ningún pedido ni pago: la compra se realiza en el sitio web.

Datos y privacidad

El servidor nunca recibe tu conversación, solo los parámetros que Claude pasa a una herramienta. Por cada llamada registra el nombre de la herramienta, los parámetros de búsqueda (destino, plan, duración del viaje, nivel de uso, idioma), el tipo de cliente leído del User-Agent HTTP (por ejemplo, "Claude") y el país derivado de la dirección IP, para medir el uso del servicio. Estos eventos van a PostHog, alojado en la UE. La dirección IP en sí solo se usa en memoria para limitar las tasas de solicitudes y nunca se almacena. Los enlaces entregados llevan parámetros utm_* que nombran el tipo de cliente, para que una compra pueda atribuirse al conector.

Política de privacidad completa: simsima.io/en/privacy · Términos: simsima.io/en/terms

Soporte

¿Preguntas o problemas?: support@simsima.io.


Para desarrolladores

Comprobación de estado: GET https://mcp.simsima.io/health.

Fuente de datos

Lee el feed web público ${SIMSIMA_FEED_BASE}/{locale}/agent/catalog (almacenado en caché ~15 min). Cada herramienta acepta un locale entre los 26 idiomas del sitio (por defecto en). Establece el idioma de las URL de producto y la moneda de los precios (USD en inglés, EUR en francés, JPY en japonés…); los slugs de destino son los mismos en todos los idiomas, y check_coverage lee los nombres de países en el idioma y escritura del usuario ("Kroatien", "クロアチア"). Las URL de producto provienen directamente del feed → siempre válidas (cero 404). Sin base de datos, sin llamadas de backend.

Ese feed se construye a partir del catálogo vendible de Simsima, la misma fuente que leen el sitio web y el feed de Google Shopping. Así que lo que responde este servidor es lo que el sitio realmente vende: un plan por (destino, datos, duración), planes ilimitados resueltos a través de la cascada de uso justo del sitio, y el precio mínimo de pago ya aplicado.

La cobertura y los operadores móviles viajan en el bloque destinations del feed, una vez por destino en lugar de en cada plan (solo la zona de Europa lleva ~40 códigos de país). Los operadores se listan solo para destinos de un solo país: en una zona, las redes de cuarenta países mezcladas no dirían nada útil.

Entorno

  • SIMSIMA_FEED_BASE (por defecto https://simsima.io)

  • PORT (por defecto 8080)

  • RATE_LIMIT_RPM (por defecto 60) — por IP que llama. Depende de trust proxy: sin él, cada llamador comparte la dirección del proxy y el límite se convierte en un tope global que un solo escáner agota.

  • RATE_LIMIT_RPM_ANTHROPIC (por defecto 1200) — por IP que llama dentro del rango de salida de Anthropic 160.79.104.0/21, de donde provienen todas las llamadas del conector de claude.ai. Un puñado de esas direcciones transporta el tráfico de todos los usuarios de Claude a la vez; con el límite ordinario por llamador, unas pocas conversaciones simultáneas harían que todos se vieran limitados.

  • POSTHOG_KEY (opcional) — clave de API del proyecto PostHog. Cuando se establece, el servidor emite un evento mcp_tool_call por llamada de herramienta, que lleva resultCount, feedStale y un failureReason nombrado cuando una llamada vuelve vacía, además de un evento dedicado mcp_checkout_link cuando se entrega un enlace de pago. Ausente → telemetría desactivada (sin operación).

    Cada evento también lleva de dónde provino la llamada, leído una vez por solicitud de las cabeceras: client (claude / openai / cursor / vscode / bot / script / unknown), el userAgent crudo, y country. El User-Agent lo envía el cliente MCP en lugar de escribirlo el modelo, lo que lo convierte en la única señal de origen que un llamador no elige por sí mismo. También es a lo que se atribuye el enlace de pago (source=agent:<client>, utm_source=<client>) y de lo que se construye el distinct_id de PostHog (mcp:<client>). Un argumento anterior agentSource, rellenado por el modelo a partir de la conversación, se ha eliminado: llevaba fragmentos de conversación y no identificaba a nadie. La IP del llamador también se resuelve (CF-Connecting-IP, luego X-Forwarded-For, luego req.ip) y se usa solo para medir solicitudes; nunca llega a PostHog.

  • POSTHOG_HOST (opcional, por defecto https://eu.i.posthog.com) — host de ingesta de PostHog (coincide con la aplicación web).

Desarrollo local

cd mcp
npm install
npm test          # jest
npm run dev       # ts-node-dev on :8080
curl localhost:8080/health

Despliegue

Aplicación Coolify, contexto de compilación Docker = mcp/, subdominio mcp.simsima.io. Auto-despliegue al hacer push a main. Establece las variables de entorno SIMSIMA_FEED_BASE, PORT, RATE_LIMIT_RPM.

Publicación en el Registro MCP (Fase 1b)

Los metadatos viven en server.json (espacio de nombres io.github.Willyfab/simsima-connectivity, remoto streamable-http en https://mcp.simsima.io/mcp). El descubrimiento también se insinúa desde web/public/llms.txt + llms-full.txt.

Para publicar (necesita la CLI mcp-publisher + autenticación de GitHub como propietario del repositorio):

cd mcp
# install: see github.com/modelcontextprotocol/registry (release binary or `go install`)
mcp-publisher login github     # OIDC auth for the io.github.Willyfab/* namespace
mcp-publisher publish          # validates server.json and publishes
  • Incrementa version en server.json en cada cambio significativo y vuelve a ejecutar publish.
  • Para usar un espacio de nombres com.simsima/connectivity de marca, verifica la propiedad del dominio de simsima.io mediante un registro DNS TXT, luego actualiza name en server.json (la URL remota mcp.simsima.io ya está en el dominio verificado).