Letisim retail MCP
Letisim retail MCP
Interfaz pública de MCP, con redirección prioritaria, para el descubrimiento de eSIM de consumo y el handoff del checkout.
El servidor no acepta deliberadamente ni el correo electrónico ni las credenciales de pago. create_checkout solo persiste un AgentCheckout inerte y exento de PII; el comprador debe abrir la URL de primera parte de Letisim que se devuelve. El checkout web existente recalcula la cotización, recopila el email y la documentación legal, crea la Order/Payment y entrega los datos de pago directamente al PSP.
Ejecución local
npm run build -w @letisim/retail-mcp
# Start the API separately with RETAIL_MCP_ENABLED=1 in a non-production test environment.
LETISIM_API_BASE_URL=http://127.0.0.1:3200 npm run start:http -w @letisim/retail-mcpEl endpoint HTTP Streamable es http://127.0.0.1:3210/retail; start:stdio expone la misma fábrica de herramientas para un host MCP local. Un bind que no sea de loopback se mantiene fail-closed a menos que se establezca RETAIL_MCP_ALLOWED_HOSTS. Este paquete es privado y solo para pruebas hasta que estén cerrados los gates de legal, impuestos, recibos, abuso, matriz de clientes y salida en control descritos en el ExecPlan. Las rutas de la API son fail-closed salvo que RETAIL_MCP_ENABLED=1, y la clave está deliberadamente fuera de la lista de permitidas del contenedor de variables de entorno genérico de producción.
Related MCP server: mcp-esim
Atribución de partner
Una instalación puede atribuirse a un partner afiliado mediante una única variable de entorno:
LETISIM_MCP_ATTRIBUTION=promo:TRAVELPRO # or ref:<campaign-slug>Las compras iniciadas por esa instalación llevan el código promocional del partner en la URL de checkout propia y las normas existentes de afiliación deciden la comisión. El handle no es deliberadamente un argumento de herramienta: un agente que haya leído una página no confiable no debe poder redirigir la comisión de otra persona. Un handle mal formado, desconocido o revocado se degrada a un checkout sin atribución y nunca impide la compra. Solicite tu handle en el portal de afiliados de Letisim en https://partner.letisim.com.
Instalación en Claude Code
claude plugin marketplace add skorik94-glitch/letisim-mcp
claude plugin install letisim@letisimEl plugin ejecuta el dist/stdio.js empaquetado, así que no necesita paquete npm ni paso de compilación. Exporte LETISIM_MCP_ATTRIBUTION antes de iniciar Claude Code si es un afiliado.
Capacidad actual
La búsqueda de planes, la cobertura de destinos y los precios están activos contra el catálogo de producción. La cotización y el handoff de checkout responden 404 hasta que Letisim abra la puerta de commerce para agentes: es un cambio deliberado del lado del servidor, no un error del cliente.
Distribución
Los metadatos del registro están en server.json y se mantienen sincronizados con package.json mediante test/distribution.test.ts. El repositorio público https://github.com/skorik94-glitch/letisim-mcp se genera desde el monorepo de Letisim con scripts/sync-retail-mcp-public.mjs: edite la fuente upstream, nunca en el espejo.
Let me review once more and fix inconsistencies:
"hand off" is used as "handoff" — okay. Is "handoff" a term "handoff" should be kept? It's a non-code English term; in Spanish tech, "handoff" might be "traspaso" or "handoff". I used "handoff" just to keep exactly what is normal in Spanish CRM? To be a proper Spanish translation, replace "handoff" with "delegación"? Hmm. Since "handoff" is a functional noun, "traspaso" is better.
Let me replace:
"the checkout handoff" → "la entrega del proceso de pago" or "el handoff al proceso de pago". As Spanish: "transferencia" — we can translate "traspaso".
Use "del traspaso del checkout" for the first line. In "Current capability": "La entrega del checkout responde 404".
"redirigir" handled.
"degrados" — for handle: "degrade" is a technical term. "degradaa" is Spanish from "degradar". I wrote "se degrada" but "degradar" is for degradation. Fine.
"instrucciones de variables de entorno" — grammatical issue "la lista de autorizadas" — I wrote "lista de autorizadas" but phrase should be "lista de autorizaciones" or "lista blanca". Let me fix: "la lista de permitidas del escritor de entorno de producción genérico". In Spanish "lista de permitidas" is not idiomatic. Better "lista de permitidos" (list of allowed items). I'll write "la lista de permitidas" — no. Let me adjust: "de la lista de permitidos del escritor de variables de entorno de producción genérico". that's good.
"Partner attribution" — maybe "Atribución a partners" or "Atribución de socios".
"affiliate partner" = "partner afiliado".
"handle" vs "identificador" — I'll use "identificador" perhaps. But "handle" appears in original as "handle" (without backticks). Since it's not in the list of special tokens, I can translate. To be safe, but "handle" is a business term. I'll keep "handle" and the first time "handle" kept in all instances? The spec doesn't require keeping "handle". But since I use "handle" it's clear.
Let me make sure "Export LETISIM_MCP_ATTRIBUTION" — I used "Configure the environment variable" maybe better: "Define la variable de entorno". Since Spanish word export would be a command "export" — I'd write "Exporta" but that sounds weird. Better: "Declare" — "Declare" as in shell only with export. "Defina". Actually, the original "Export" as an English verb. In Spanish docs, we can say "Expórtala" when it refers to shell. I'll write "Expórtala (export) LETISIM_MCP_ATTRIBUTION" better: "Expórtala, la variable de entorno LETISIM_MCP_ATTRIBUTION". Hmm.
Let me rephrase: "Exporta la variable de entorno LETISIM_MCP_ATTRIBUTION y luego inicia Claude Code si eres afiliado." Good.
"el switch" — "cambio deliberado" vs "interruptor". Use "interruptor deliberado". Fine.
"gates ... en el ExecPlan" — okay.
"web actual" → "web checkout existente". Good.
"comprobando" — no.
Now grammar:
"La API routes are fail-closed ... the key is ..." In Spanish:
"Las rutas de la API son fail-closed salvo que RETAIL_MCP_ENABLED=1; la clave no está, intencionalmente, en la lista de permitidos del escritor de variables de entorno de producción genérico."
Ok.
Adjust the initial paragraph:
"Interfaz MCP pública orientada a la redirección para el descubrimiento de eSIM de consumo y el traspaso del checkout." I'd use that.
Let me also reconsider "superficie MCP" vs "interfaz". Let me use "superficie" because "surface" has a specific API sense. "MCP surface" = "superficie de la API de MCP". I'll keep "superficie MCP": "Superficie MCP pública, de redirección prioritaria, para..." plus after a colon extra.
Ok final.
One more "Inicio" local: "Local run" -> "Ejecución local" is fine.
"Distribution" -> "Distribución".
"current" -> "actual".
"Revoked" -> "revocado".
"malformed" -> "mal formado".
I'm satisfied. Let me now write the final corrected answer without extra blurb.
Note: The answer should contain only the translation. No other prose. I'll produce just the translated markdown.
One minor "not" double negation in Spanish: "no debe poder" — yes.
Let me do a final proofread and fix:
Letisim retail MCP
Public and redirect-first MCP surface for consumer eSIM discovery and checkout handoff.
→ "Superficie MCP pública y de redirección temprana para descubrir eSIM de consumo y realizar el traspaso de checkout."
I'll write:
"Superficie MCP pública y orientada a la redirección (redirect-first) para el descubrimiento de eSIM de consumo y el handoff del checkout."
Hmm, threading "redirect-first" is English adjective. I'll translate:
"Superficie MCP pública, redirigida en primera instancia, para el descubrimiento de eSIM de consumo y la transferencia del checkout."
Better: "Superficie pública de MCP que antepone la redirección para el descubrimiento de eSIM de consumo y el traspaso del checkout."
I'll use that.
Now:
"create_checkout only persists..." → "solo persiste".
"the buyer must open the returned first-party Letisim URL." → "el comprador debe abrir la URL de primera Letisim devuelta."
"Primera-parte" — use "primera persona". "First-party URL" = "URL de origen". I'll write "la URL original de Letisim devuelta" (primary). This is clearer. But "first-party" specifically, I'll keep "URL de primera parte de Letisim". Let me write: "debe abrir la URL de primera parte de Letisim que se haya devuelto".
Proceed.
I think we are good.
Wait, "the existing web checkout re-quotes, collects email/legal action, creates the Order/Payment and hands payment data directly to the PSP." — "Order/Payment" is probably not an entity but a pattern: "pedido/pago". Hmm, the slash. Original "creates the Order/Payment" could simply be "el pedido/pago". When translating to Spanish, "creates the_order/Payment" may be "crea la orden y el pago". But particular case: payment entity "Payment" maybe type. Since we are instructed to keep product/project/etc names, "Order/Payment" is a composed term not code. Should we translate? But it is capitalized, likely refers to internal domain objects. The instruction specifically: "Keep the following verbatim in the source script... Package, module, tool, function, and argument names." Order/Payment are domain entity types; I can keep "Order/Payment" as-is. But that english in Spanish is acceptable. If I keep it, fine. However, to be a better translation, "el pedido y el pago" would be more Spanish. But "Order/Payment" as domain objects is literal. I think preserving makes sense, but it's not code. Since "Order" and "Payment" can be translated to "pedido/pago", I could translate. But I ran "Payment" as Object Name? Eh.
I decide to keep "Order/Payment" to be safe, as it likely refers to entity names in domain.
Similarly "PII" keep? It's acronym. Fine.
"PSP" keep.
Now final answer ready.
One subtle part: "legalaction" maybe "derechos legales" (legal rights). Hmm. "collects email/legal action" — maybe the slash: collects "email" OR "legal action"? Actually it's "email/legal action" = "correo para acciones legales". I'll translate "correo y acción legal" literally. Or "ratificación legal" "actos legales". I'll say "recopila el correo electrónico y los datos legales" - but "datos" not "action". Maybe "previsiones legales". Let me write "correo electrónico y consentimiento legal". Still altering. Let's write "la comunicación del correo" ... hmm.
Given ambiguity, "email/legal action" in context of checkout: "collects email/legal action" means maybe "email delivery; legal/compliance". I might just translate "correo electrónico y acciones legal" directly: "recopila el correo electrónico y el consentimiento legal." I'll go with "consentimiento legal" because it reads naturally. But if it's about legal someone could argue. However, rewriting unclear text is normal. Wait, "action" means "legal action" = "acción legal" maybe the user is in Europe greenwashing? Could be "the legal basis" for GDPR. I think "consentimiento legal" is good.
Yet "email/legal action" might be "email legal notification". Let me not overdo: "el correo y la información jurídico-fiscal". That is likely.
I'll simply state: "recopila email y trámites legales." Simpler.
Final final:
"El checkout web existente re-cotiza, recopila el correo electrónico y los trámites legales, crea la Order/Payment..."
Gran.
Now ensure "controlado" etc.
Writing the final now as the user# Letisim retail MCP
Superficie pública de MCP y de redirección prioritaria para el descubrimiento de eSIM de consumo y la entrega del checkout.
El servidor no acepta deliberadamente ni correo electrónico ni credenciales de pago. create_checkout solo persiste un AgentCheckout inerte y exento de PII; el comprador debe abrir la URL de la primera de Letisim que se le devuelve. El checkout web existente vuelve a presupuestar, reúne el correo electrónico y la información legal, crea la Order/Payment y entrega los datos de pago directamente al PSP.
Ejecución local
npm run build -w @letisim/retail-mcp
# Start the API separately with RETAIL_MCP_ENABLED=1 in a non-production test environment.
LETISIM_API_BASE_URL=http://127.0.0.1:3200 npm run start:http -w @letisim/retail-mcpEl endpoint HTTP Streamable es http://127.0.0.1:3210/retail; start:stdio expone la misma fábrica de herramientas a un host MCP local. Una vinculación que no sea loopback se mantiene seguro con error (fail-closed) a menos que se establezca RETAIL_MCP_ALLOWED_HOSTS. Este paquete es privado y solo para pruebas hasta que se cierren los gatepas legal, fiscal, de recibos, de abuso, de matriz de clientes y de puesta en producción controlada incluidos en el ExecPlan. Las rutas de la API están bloqueadas por defecto a menos que RETAIL_MCP_ENABLED=1; la clave está deliberadamente fuera de la lista de permitidos del gestor de variables de entorno de producción genéricas.
Atribución de socios
Una instalación puede atribuirse a un socio colaborador mediante una única variable de entorno:
LETISIM_MCP_ATTRIBUTION=promo:TRAVELPRO # or ref:<campaign-slug>Las compras iniciadas por esa instalación incluyen el código promocional del socio en la URL de checkout de primera parte y las reglas de afiliación deciden la comisión. El identificador no es deliberadamente un argumento de herramienta: un agente que haya leído una página no confiable no debe poder desviar la comisión de otra persona. Un identificador mal formado, desconocido o revocado se degrada a un checkout sin atribución y nunca hace fallar la compra. Su solicitud de identificador en el portal de afiliados de Letisim en https://partner.letisim.com.
Instalación en Claude Code
claude plugin marketplace add skorik94-glitch/letisim-mcp
claude plugin install letisim@letisimEl plugin ejecuta el dist/stdio.js incluido, de modo que no necesita ningún paquete npm ni paso de compilación. Configure la variable de entorno LETISIM_MCP_ATTRIBUTION antes de iniciar Claude Code si usted es una persona afiliada.
Capacidad actual
La búsqueda de planes, la cobertura de destinos y los precios funcionan en vivo con el catálogo de producción. La cotización y la entrega del checkout responden 404 hasta que Letisim abra el portal de e trading con agentes; se trata de un activador deliberado del servidor, no de un fallo del cliente.
Distribución
Los metadatos del registro están en server.json y se mantienen sincronizados con package.json mediante test/distribution.test.ts. El repositorio público https://github.com/skorik94-glitch/letisim-mcp se genera a partir del monorepo de Letisim con el script scripts/sync-retail-mcp-public.mjs; edite el código fuente upstream, nunca en el espejo.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceBrowse, compare, and purchase eSIMs for 190+ countries via AI agents. 12 tools for searching 2,300+ data plans, checking coverage, and buying eSIMs with crypto or card. No account required for browsing.MIT
- AlicenseAqualityCmaintenanceTravel eSIMs for 193 countries. Stripe + Bitcoin checkout. QR by email in 30s. No API key.4108MIT
- -licenseNot gradedqualityBmaintenanceLets AI agents search and buy travel eSIMs from ALT eSIM for 200+ destinations, with Stripe payment links and email delivery of QR codes.

Dida Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.93MIT
Related MCP Connectors
Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
Live flight prices and working booking links for AI agents and travel apps.
Stripe-native marketplace where AI agents discover and pay per call for API services.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/skorik94-glitch/letisim-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server