simsima-connectivity

Simsima Connectivity é um servidor MCP público que expõe o catálogo de eSIMs de viagem da Simsima para agentes de IA. Ele fornece acesso somente leitura a listas de destinos, busca de planos, recomendações e links de checkout com atribuição por meio de um endpoint HTTP Streamable.

Documentação

Simsima — planos de eSIM de viagem no Claude

Glama score

No Claude: diretório de conectores · Site: simsima.io · Endpoint: https://mcp.simsima.io/mcp (HTTP Streamable) · Registro: io.github.Willyfab/simsima-connectivity

A Simsima vende eSIMs de viagem pré-pagos para cerca de 190 países, regiões e planos mundiais. Este conector permite que o Claude, ou qualquer cliente MCP, consulte esse catálogo enquanto você planeja uma viagem: quais planos existem para um destino, quanto custam, se um plano regional cobre todos os países do seu roteiro, quais redes locais ele usa e qual plano se ajusta à duração da sua estadia. Quando você escolher um, ele fornece o link para esse plano em simsima.io, onde você conclui a compra por conta própria.

Funciona nos 26 idiomas do simsima.io, com preços na moeda correspondente. Não requer conta nem login, e apenas lê o catálogo público.

Adicionar ao Claude

A Simsima está listada no diretório de conectores do Claude: abra claude.ai/directory/simsima e conecte-a. Não são necessários conta nem autenticação.

Você também pode adicioná-la manualmente: no Claude (web, desktop ou mobile), abra Configurações › Conectores, escolha Adicionar conector personalizado e insira https://mcp.simsima.io/mcp.

No Claude Code:

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

O que você pode perguntar

  • "Vou passar 10 dias no Japão e uso muito mapas e redes sociais. Qual eSIM devo levar?"
  • "O eSIM da Europa funciona na Suíça e no Reino Unido?"
  • "Compare planos ilimitados para a Tailândia por duas semanas, abaixo de US$ 30."
  • "Quais redes móveis o eSIM da Simsima para o Brasil usa, e posso fazer recarga?"
  • "Me dê o link para comprar o plano de 5 GB por 7 dias para a Itália."

Ferramentas

Todas as ferramentas são somente leitura.

FerramentaO que faz
list_destinationsDestinos cobertos (países, regiões, global), com o preço inicial e a URL do produto de cada um.
search_plansPlanos para um destino, do mais barato primeiro, filtrados por preço, dados, validade ou dados ilimitados.
get_planUm plano pelo seu sku.
recommend_planMelhor(es) plano(s) para uma viagem, dada a duração em dias e uso leve, médio ou intenso.
check_coverageSe o plano de um destino cobre um determinado país (nome ou código ISO), com o plano avulso do país como alternativa.
get_destination_infoPaíses cobertos, operadoras móveis, disponibilidade de recarga e preço inicial para um destino.
create_checkout_linkLink para a página do plano em simsima.io, com o plano pré-selecionado (dado apenas um destino, a página do destino). Nenhum pedido é feito e nenhum pagamento é realizado pela ferramenta: a compra acontece no site.

Dados e privacidade

O servidor nunca recebe sua conversa, apenas os parâmetros que o Claude passa para uma ferramenta. Para cada chamada, ele registra o nome da ferramenta, os parâmetros de busca (destino, plano, duração da viagem, nível de uso, idioma), o tipo de cliente lido do User-Agent HTTP (por exemplo, "Claude") e o país derivado do endereço IP, para medir o uso do serviço. Esses eventos vão para o PostHog, hospedado na UE. O endereço IP em si é usado apenas em memória para limitar taxas de requisição e nunca é armazenado. Os links fornecidos carregam parâmetros utm_* nomeando o tipo de cliente, para que uma compra possa ser atribuída ao conector.

Política de privacidade completa: simsima.io/en/privacy · Termos: simsima.io/en/terms

Suporte

Dúvidas ou problemas: support@simsima.io.


Para desenvolvedores

Verificação de saúde: GET https://mcp.simsima.io/health.

Fonte de dados

Lê o feed web público ${SIMSIMA_FEED_BASE}/{locale}/agent/catalog (cache de ~15 min). Toda ferramenta aceita um locale entre os 26 idiomas do site (padrão en). Ele define o idioma das URLs de produto e a moeda dos preços (USD em inglês, EUR em francês, JPY em japonês…); os slugs de destino são os mesmos em todos os idiomas, e check_coverage lê nomes de países no idioma e na escrita do usuário ("Kroatien", "クロアチア"). As URLs de produto vêm direto do feed → sempre válidas (zero 404). Sem banco de dados, sem chamadas de backend.

Esse feed é construído a partir do catálogo vendável da Simsima — a mesma fonte que o site e o feed do Google Shopping leem. Portanto, o que este servidor responde é o que o site realmente vende: um plano por (destino, dados, duração), planos ilimitados resolvidos pela cascata de uso justo do site, e o piso de preço no checkout já aplicado.

Cobertura e operadoras móveis viajam no bloco destinations do feed, uma vez por destino em vez de em cada plano (somente a zona da Europa carrega ~40 códigos de país). As operadoras são listadas apenas para destinos de um único país: em uma zona, as redes de quarenta países misturadas não dizem nada útil.

Variáveis de ambiente

  • SIMSIMA_FEED_BASE (padrão https://simsima.io)

  • PORT (padrão 8080)

  • RATE_LIMIT_RPM (padrão 60) — por IP chamador. Depende de trust proxy: sem ele, todo chamador compartilha o endereço do proxy e o limite se transforma em um teto global que um único scanner esvazia.

  • RATE_LIMIT_RPM_ANTHROPIC (padrão 1200) — por IP chamador dentro do intervalo de saída da Anthropic 160.79.104.0/21, de onde vêm todas as chamadas do conector claude.ai. Alguns desses endereços carregam o tráfego de todos os usuários do Claude de uma vez; no limite comum por chamador, algumas conversas simultâneas deixariam todos limitados.

  • POSTHOG_KEY (opcional) — chave da API do projeto PostHog. Quando definida, o servidor emite um evento mcp_tool_call por chamada de ferramenta, carregando resultCount, feedStale e um failureReason nomeado quando uma chamada retorna vazia, além de um evento dedicado mcp_checkout_link quando um link de checkout é fornecido. Ausente → telemetria desativada (sem operação).

    Cada evento também carrega a origem da chamada, lida uma vez por requisição dos cabeçalhos: client (claude / openai / cursor / vscode / bot / script / unknown), o userAgent bruto e country. O User-Agent é enviado pelo cliente MCP, e não escrito pelo modelo, o que o torna o único sinal de origem que um chamador não escolhe por si mesmo. É também a ele que o link de checkout é atribuído (source=agent:<client>, utm_source=<client>) e é a partir dele que o distinct_id do PostHog é construído (mcp:<client>). Um argumento anterior agentSource, preenchido pelo modelo a partir da conversa, foi removido: ele carregava fragmentos de conversa e não identificava ninguém. O IP do chamador também é resolvido (CF-Connecting-IP, depois X-Forwarded-For, depois req.ip) e é usado apenas para medir requisições; ele nunca chega ao PostHog.

  • POSTHOG_HOST (opcional, padrão https://eu.i.posthog.com) — host de ingestão do PostHog (corresponda ao aplicativo web).

Desenvolvimento local

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

Implantação

Aplicativo Coolify, contexto de build Docker = mcp/, subdomínio mcp.simsima.io. Implantação automática ao enviar para main. Defina as variáveis de ambiente SIMSIMA_FEED_BASE, PORT, RATE_LIMIT_RPM.

Publicação no Registro MCP (Fase 1b)

Os metadados vivem em server.json (namespace io.github.Willyfab/simsima-connectivity, remoto streamable-http em https://mcp.simsima.io/mcp). A descoberta também é sugerida a partir de web/public/llms.txt + llms-full.txt.

Para publicar (requer o CLI mcp-publisher + autenticação do GitHub como proprietário do repositório):

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
  • Aumente version em server.json a cada mudança significativa e execute novamente publish.
  • Para usar um namespace com.simsima/connectivity com marca, verifique a propriedade do domínio de simsima.io via um registro DNS TXT e depois atualize name em server.json (a URL remota mcp.simsima.io já está no domínio verificado).