AeroCell — Travel eSIM Search
Pesquise planos de eSIM de viagem AeroCell em tempo real por destino, datas de viagem, franquia de dados e orçamento, com detalhes de cobertura e links de checkout.
Servidor MCP hospedado
npx add-mcp 'https://aerocell.app/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Acesso público, sem credenciais
Endpoint MCP: https://aerocell.app/mcp. Transporte: Streamable HTTP, sem estado. As três ferramentas de busca e rotas JSON não exigem conta AeroCell, OAuth, chave de API, token bearer ou cookie. Os requisitos de conta do próprio cliente de IA ainda podem ser aplicados.
O cliente MCP realiza a inicialização e descobre os esquemas das ferramentas por meio de tools/list. Requisições POST devem aceitar tanto application/json quanto text/event-stream. Um GET normal em navegador mostra um guia curto; não executa uma busca.
Os resultados por país usam o catálogo de recomendações existente com cache de cinco minutos. Os resultados regionais buscam o catálogo de pacotes existente. Franquias e preços podem mudar antes do checkout.
Conecte um cliente de IA
Estes exemplos de configuração foram verificados em relação à documentação oficial vinculada em 12 de outubro de 2026. São exemplos de cliente não testados. Testes automatizados locais usam o SDK oficial MCP TypeScript para inicializar, listar ferramentas e buscar; um teste SDK aprovado não estabelece compatibilidade em todos os aplicativos de IA.
Codex CLI / extensão IDE
codex mcp add aerocell --url https://aerocell.app/mcp
codex mcp list
Entrada alternativa em ~/.codex/config.toml:
[mcp_servers.aerocell]
url = "https://aerocell.app/mcp"
Documentação oficial de conexão OpenAI. Não testado com AeroCell neste cliente.
Claude Code
claude mcp add --transport http aerocell https://aerocell.app/mcp
claude mcp get aerocell
Documentação oficial MCP do Claude Code. Não testado com AeroCell neste cliente.
VS Code / GitHub Copilot
Salve isto em .vscode/mcp.json, depois inicie o servidor pelos controles do arquivo e habilite suas ferramentas no modo agente.
{
"servers": {
"aerocell": {
"type": "http",
"url": "https://aerocell.app/mcp"
}
}
}
Documentação oficial MCP do VS Code. Não testado com AeroCell neste cliente.
Prompt de teste: "Encontre planos para o Japão de 15 a 25 de outubro de 2026 com pelo menos 3 GB, abaixo de US$ 25." Para itinerários, informe todos os códigos de país e inspecione a lista de cobertura retornada.
Três ferramentas MCP somente leitura
Todas as ferramentas retornam JSON como structuredContent e como conteúdo de texto. Os exemplos abaixo mostram o JSON estruturado. Falhas de ferramentas MCP retornam isError: true com uma mensagem útil; entradas de esquema inválidas também podem produzir erros de protocolo. Nenhuma das ferramentas faz pedidos.
find_esim_plans
Encontra planos atuais para um único país.
| Parâmetro | Tipo | Comportamento |
|---|---|---|
| country_code | string, obrigatório | Código ISO 3166-1 alpha-2 de duas letras, como JP, FR ou GB. Não diferencia maiúsculas de minúsculas. O catálogo também aceita XK. |
| start_date / end_date | string, opcional | Informe ambas as datas reais no formato YYYY-MM-DD. Intervalo inclusivo: 1–366 dias. As datas restringem a validade; não reservam estoque nem agendam ativação. |
| min_data_gb | número ≥ 0 | Franquia mínima. GB exibido usa 1024³ bytes e arredondamento de uma casa decimal. |
| max_price_usd | número > 0 | Preço total máximo atual do plano em USD. |
| require_trip_coverage | booleano | Padrão é true com datas. False permite planos mais curtos; inspecione covers_trip. |
| limit | inteiro 1–20 | Padrão 8. Mais barato primeiro, depois mais dados. total_matching conta todas as correspondências antes deste limite. |
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "find_esim_plans",
"arguments": {
"country_code": "JP",
"start_date": "2026-10-15",
"end_date": "2026-10-25",
"min_data_gb": 3,
"max_price_usd": 25,
"limit": 8
}
}
}
Resposta ilustrativa, não uma oferta ao vivo. Todos os preços de exemplo, nomes de operadoras e IDs EXAMPLE são fictícios. Obtenha IDs reais por meio da busca.
{
"country": {
"code": "JP",
"name": "Japan"
},
"trip_days": 11,
"currency": "USD",
"updated_at": "2026-10-12T12:00:00Z",
"total_matching": 1,
"browse_url": "https://aerocell.app/plans",
"note": "Illustrative fixture only. Fetch live prices and real plan IDs before recommending or opening checkout.",
"plans": [
{
"id": "EXAMPLE-JP-5GB",
"name": "Example Japan 5 GB",
"data_gb": 5,
"validity_days": 15,
"price_usd": 9,
"network": "5G",
"operators": [
"Example operator"
],
"covers_trip": true,
"plan_page_url": "https://aerocell.app/plans/japan",
"checkout_url": "https://aerocell.app/checkout/EXAMPLE-JP-5GB"
}
]
}
get_esim_plan
| Parâmetro | Tipo | Comportamento |
|---|---|---|
| country_code | string, obrigatório | O mesmo código de país usado em find_esim_plans. |
| plan_id | string, obrigatório | ID da busca daquele país, com 1–100 letras, dígitos, sublinhados ou hífens. IDs regionais não são suportados por esta ferramenta; atualize-os por meio da busca regional. |
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_esim_plan",
"arguments": {
"country_code": "JP",
"plan_id": "EXAMPLE-JP-5GB"
}
}
}
Substitua o ID EXAMPLE por um ID real da busca por país. Resposta detalhada ilustrativa:
{
"country": {
"code": "JP",
"name": "Japan"
},
"currency": "USD",
"updated_at": "2026-10-12T12:00:00Z",
"plan": {
"id": "EXAMPLE-JP-5GB",
"name": "Example Japan 5 GB",
"data_gb": 5,
"validity_days": 15,
"price_usd": 9,
"network": "5G",
"operators": [
"Example operator"
],
"covers_trip": null,
"plan_page_url": "https://aerocell.app/plans/japan",
"checkout_url": "https://aerocell.app/checkout/EXAMPLE-JP-5GB"
},
"note": "Illustrative fixture only. Fetch live prices and real plan IDs before recommending or opening checkout."
}
find_regional_esim_plans
| Parâmetro | Tipo | Comportamento |
|---|---|---|
| country_codes | string[], condicional | 1–30 códigos distintos para cada país do itinerário. Obrigatório a menos que region seja fornecido. Cada país solicitado deve aparecer na lista de cobertura de cada pacote. |
| region | string, condicional | global, europe, asia_pacific, southeast_asia, latin_america, middle_east_north_africa ou gulf. Pode ser combinado com country_codes. Obrigatório a menos que country_codes seja fornecido. |
| start_date / end_date | string, opcional | Informe ambas as datas reais no formato YYYY-MM-DD. Intervalo inclusivo: 1–366 dias. As datas restringem a validade; não reservam estoque nem agendam ativação. |
| min_data_gb | número ≥ 0 | Franquia mínima. GB exibido usa 1024³ bytes e arredondamento de uma casa decimal. |
| max_price_usd | número > 0 | Preço total máximo atual do plano em USD. |
| require_trip_coverage | booleano | Padrão é true com datas. False permite planos mais curtos; inspecione covers_trip. |
| limit | inteiro 1–20 | Padrão 8. Mais barato primeiro, depois mais dados. total_matching conta todas as correspondências antes deste limite. |
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "find_regional_esim_plans",
"arguments": {
"country_codes": [
"FR",
"IT",
"ES"
],
"region": "europe",
"start_date": "2026-10-15",
"end_date": "2026-10-25",
"min_data_gb": 3,
"max_price_usd": 25
}
}
}
Resposta ilustrativa. country_codes é a lista de cobertura publicada exata do pacote. Nomes de regiões sozinhos não estabelecem cobertura de itinerário.
{
"requested_country_codes": [
"FR",
"IT",
"ES"
],
"region": "europe",
"trip_days": 11,
"currency": "USD",
"updated_at": "2026-10-12T12:00:00Z",
"total_matching": 1,
"browse_url": "https://aerocell.app/plans",
"note": "Illustrative fixture only. Fetch live prices and real plan IDs before recommending or opening checkout.",
"plans": [
{
"id": "EXAMPLE-EU-5GB",
"name": "Example Europe 5 GB",
"data_gb": 5,
"validity_days": 15,
"price_usd": 9,
"network": "5G",
"operators": [
"Example operator"
],
"covers_trip": true,
"plan_page_url": "https://aerocell.app/plans/europe",
"checkout_url": "https://aerocell.app/checkout/EXAMPLE-EU-5GB",
"region_code": "EU-3",
"country_codes": [
"FR",
"IT",
"ES"
],
"country_count": 3
}
]
}
As mesmas buscas via JSON
Todas as três rotas usam as mesmas funções de busca ao vivo que o MCP. Envie requisições HTTP GET; receba os mesmos esquemas de resultado estruturados. Nenhum login é necessário. O acesso via navegador permite CORS sem credenciais.
curl --get 'https://aerocell.app/api/v1/esim/plans' \
--data-urlencode 'country_code=JP' \
--data-urlencode 'start_date=2026-10-15' \
--data-urlencode 'end_date=2026-10-25' \
--data-urlencode 'min_data_gb=3' \
--data-urlencode 'max_price_usd=25' \
--data-urlencode 'limit=8'
curl --get 'https://aerocell.app/api/v1/esim/regional-plans' \
--data-urlencode 'country_codes=FR,IT,ES' \
--data-urlencode 'region=europe' \
--data-urlencode 'start_date=2026-10-15' \
--data-urlencode 'end_date=2026-10-25' \
--data-urlencode 'min_data_gb=3' \
--data-urlencode 'max_price_usd=25'
Detalhes do plano exigem country_code. Este exemplo executável precisa de jq e usa um ID de plano real retornado:
PLAN_ID=$(curl -fsS 'https://aerocell.app/api/v1/esim/plans?country_code=JP&limit=1' | jq -r '.plans[0].id // empty')
if [ -n "$PLAN_ID" ]; then
curl -fsS "https://aerocell.app/api/v1/esim/plans/$PLAN_ID?country_code=JP"
fi
Para consultas JSON, country_codes é um parâmetro separado por vírgulas; campos numéricos são números decimais; booleanos são exatamente true ou false. Parâmetros desconhecidos, vazios e repetidos são rejeitados. Requisições de detalhes aceitam apenas country_code.
Baixe a especificação pública OpenAPI 3.1 para esquemas completos de rotas e exemplos.
Sites de comparação
Importe GET /api/v1/esim/catalog para listar a AeroCell junto a outros provedores. Este feed JSON público não exige conta ou chave de API e permite acesso via navegador sem credenciais. Ele retorna o catálogo completo comprável em uma única resposta, incluindo planos por país e regionais e todas as durações de day-pass de 1–90 dias. Não há limite de busca ou paginação. Produtos ocultos e recargas para clientes existentes são excluídos.
curl -fsS -D catalog-headers.txt \
'https://aerocell.app/api/v1/esim/catalog' \
-o aerocell-catalog.json
Consulte a cada 15 minutos. Salve o cabeçalho ETag da resposta e envie-o como If-None-Match em requisições subsequentes. HTTP 304 significa que seu catálogo anterior permanece atual; HTTP 200 fornece uma substituição completa. catalog_version muda quando o conteúdo público do plano muda. Respeite Retry-After em HTTP 429 ou 503, mantenha sua importação anterior e tente novamente. Um erro nunca deve ser importado como catálogo vazio.
curl -sS -D catalog-headers.txt \
-H 'If-None-Match: "<saved-etag>"' \
'https://aerocell.app/api/v1/esim/catalog' \
-o catalog-response.json
# Inspect the HTTP status before replacing your saved catalog.
Resposta ilustrativa, não uma oferta ao vivo. O exemplo contém um dado fictício; acesse o endpoint para o catálogo completo ao vivo.
{
"schema_version": 1,
"provider": "AeroCell",
"currency": "USD",
"price_basis": "Retail before coupons; daily variants show the total duration price.",
"total_plans": 1,
"plans": [
{
"id": "EXAMPLE-JP-5GB",
"package_code": "EXAMPLE-JP-5GB",
"name": "Illustrative Japan 5GB (not a live offer)",
"country_codes": [
"JP"
],
"data_gb": 5,
"allowance_period": "plan",
"is_unlimited": false,
"allowance_behavior": "total",
"reduced_speed_kbps": null,
"maximum_speed_kbps": null,
"validity_days": 15,
"is_daily": false,
"price_usd": 9,
"operators": [
{
"name": "Example operator",
"network": "5G"
}
],
"plan_page_url": "https://aerocell.app/plans/japan",
"checkout_url": "https://aerocell.app/checkout/EXAMPLE-JP-5GB"
}
],
"catalog_version": "3cedf68183c3a264aa809b94f0ffa23cd572c44831a56586e612918c4df24dc4",
"generated_at": "2026-10-13T00:00:00.000Z",
"source_updated_at": "2026-10-13T00:00:00.000Z",
"refresh_after_seconds": 900
}
Franquias, duração e atualização
data_gb é a franquia de alta velocidade para allowance_period, usando 1024³ bytes por GB. Uma franquia diária se repete a cada dia; não a apresente como franquia total da viagem. Planos daily_throttled continuam na reduced_speed_kbps publicada após a cota do dia. Planos daily_cutoff param até a cota ser reiniciada. is_unlimited não significa dados de alta velocidade ilimitados. Campos de velocidade nulos significam não especificado, não sem limite.
Cada plano tem um id estável, country_codes exato, resumos de rede da operadora e links de compra AeroCell. IDs de day-pass acrescentam sua duração selecionada a package_code; seu price_usd é o total para aquela duração, incluindo descontos normais de duração e antes de cupons. A URL de checkout já seleciona a duração. O mínimo de 1.000.000.000 bytes da vitrine de planos fixos é preservado; planos diários com franquias de alta velocidade menores são incluídos.
source_updated_at é a recuperação mais antiga do catálogo do provedor usada na resposta, não um carimbo de mudança de preço do provedor. O conteúdo do snapshot é atualizado em até cinco minutos; os dados do provedor são armazenados em cache por até 15 minutos. Fatos obrigatórios ausentes ou dados de origem expirados produzem HTTP 503 em vez de um catálogo parcial.
Links de parceiros registrados
Parceiros registrados podem buscar GET /api/partners/comparison-catalog de seu servidor usando uma credencial de feed com escopo existente: Authorization: Bearer <feed-key>. Isso retorna os mesmos planos com links de compra de parceiro quando o rastreamento de referência está habilitado. tracking_enabled informa se esses links carregam atribuição. Os preços não mudam. Mantenha a chave em seu servidor; ela não autoriza compras nem acesso a relatórios. Entre em contato com [email protected] para acesso de parceiro.
Campos de resposta e erros
price_usd é o preço atual do catálogo; currency é USD. data_gb, validity_days, network e operators descrevem o plano. Operadoras são um resumo de catálogo de até quatro nomes, não um mapa completo de rede por país. Pacotes regionais incluem country_codes, country_count e region_code.
covers_trip é nulo sem datas. Indica apenas o comprimento da validade. updated_at para resultados por país é o horário do snapshot do catálogo upstream; para resultados regionais é o horário de recuperação do catálogo, não um carimbo de mudança de preço do provedor. plan_page_url, browse_url e checkout_url retornados abrem a AeroCell.
| Parâmetro | Tipo | Comportamento |
|---|---|---|
| 200 | Sucesso | Sem correspondências também é 200: plans: [], total_matching: 0. |
| 400 | Entrada inválida | País ausente, datas inválidas, códigos duplicados, região não suportada ou filtros inválidos. |
| 404 | Não encontrado | O plano não está disponível para o país fornecido, ou a rota da API não existe. |
| 405 | Método não permitido | Rotas de planos somente leitura aceitam GET e CORS OPTIONS. |
| 502 | Resposta de catálogo inválida | O upstream retornou uma resposta inválida; nenhum preço adivinhado é substituído. |
| 503 | Catálogo indisponível | Tente novamente mais tarde; Retry-After sugere 30 segundos. |
{
"error": {
"code": "invalid_input",
"message": "Provide both start_date and end_date."
}
}
Criado pela Mezsondra LTD
AeroCell: eSIMs acessíveis é operado pela Mezsondra LTD. Entre em contato com [email protected] para ajuda de integração.
Suporte · Política de privacidade · Termos · Sobre a AeroCell
Arquivos de descoberta ajudam aplicativos a entender essas interfaces; eles não garantem que plataformas de IA descubram, listem ou recomendem a AeroCell.