MoltTravel
MoltTravel
Un servidor MCP. Todas las herramientas de viaje.
Busca vuelos, compara precios, consulta visados, busca aeropuertos, recibe avisos de viaje — a través de un único endpoint.
Kiwi.com Navifare Peek.com LastMinute
(flights) (prices) (experiences) (flights)
\ | | /
\ | | /
+--------+-----------+--------+
| |
| MoltTravel MCP Server |
| |
| Airports Airlines Visas |
| Countries FCDO Gemini AI |
| |
+-------------|---------------+
|
MCP over HTTP
|
Any MCP Client
(Claude, Cursor, your app)¿Por qué?
Los datos de viaje están dispersos entre decenas de APIs, cada una con su propio método de autenticación, formato y peculiaridades. MoltTravel los agrega detrás de un único endpoint de Model Context Protocol:
21+ herramientas de 4 proveedores MCP upstream y 6 conjuntos de datos integrados
Cero configuración para los datos estáticos: los aeropuertos, las aerolíneas y los visados se cargan de forma diferida, sin claves de API
Proxy de esquema transparente — los clientes ven el JSON Schema real de upstream; los servidores upstream validan sus propios argumentos
Una sola línea para conectarse desde Claude Desktop, Claude Code, Cursor, o Cualquier cliente MCP
Related MCP server: orizn-visa-mcp
Inicio rápido
git clone https://github.com/navifare/moltravel-mcp.git
cd moltravel-mcp
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python molttravel_server.pyEl servidor arranca en http://localhost:8000/mcp. Eso es todo.
Conecta tu cliente
Añade los siguiente a claude_desktop_config.json:
{
"mcpServers": {
"molttravel": {
"url": "http://localhost:8000/mcp"
}
}
}Añade lo siguiente a .claude/settings.json:
{
"mcpServers": {
"molttravel": {
"url": "http://localhost:8000/mcp"
}
}
}from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async with streamablehttp_client("http://localhost:8000/mcp") as (r, w, _):
async with ClientSession(r, w) as session:
await session.initialize()
tools = await session.list_tools()
result = await session.call_tool("airports_lookup", {"code": "ZRH"})Herramientas
Vuelos y precios
Tool | Provider | ¿Qué hace? |
| Kiwi.com | Busca vuelos por ruta, fecha, pasajeros y clase de cabina |
| Navifare | Convierte los detalles del vuelo de lenguaje natural a datos estructurados |
| Navifare | Compara el precio de un vuelo entre varias webs de reserva |
Experiencias y actividades
Tool | Proveedor | ¿Qué hace |
| Peek.com | Busca más de 300.000 experiencias verificadas en todo el mundo |
| Peek.com | Información completa, reseñas y fotos de una experiencia |
| Peek.com | Consulta la disponibilidad y los precios para fechas concretas |
| Peek.com | Encuentra los ID de región por nombre |
| Peek.com | Explora categorías y etiquetas de actividades |
| Peek.com | Genera widgets de actividades integrables |
Datos de referencia (integrados, no requieren claves de API)
Tool | Dataset | ¿Qué hace |
| Nuestros propios |
(no) aeropuertos.
| airports_lookup | OurAirports | Busca por código IATA o OACI |
| airports_search | OurAirports | Busca por nombre, filtra por país o tipo |
| airports_near | OurAirports | Encuentra aeropuertos a una distancia de cualquier coordenada |
| airlines_uplookup | OpenFlights | Busca por código IATA o OACI |
| airlines_search | OpenFlights | Busca por nombre, filtracion by país o estado de actividad |
| visa_check | Passport Index | Muestra entre dos países el |}{} (consulta requisito de visado entre dos países) | | visa_summary | Passport Index | Desglose completo de visado libre de /VOA/e-visa 一 pasaporte | |restcountries_country_info| REST Countries| Tenencia, monedas, idiomas, zonas horarios,tiempo | |fcdo_travel_advice | Reino Unido | Reino Unido – FCDO | Consejos de seguridad, requisitos de entrada, alertas | |fcdo_list_countries | Reino Unido | Reino Unido – FCDO | Lista de todos los países con recomendaciones de viaje | |data_status` | — | Comprueba los datos cargados y su número de registros |
Lenguaje natural (opcional)
Tool | ¿Qué hace |
| Formula cualquier consulta de viaje + __________________ (n) |
Requiere
GEMINI_API_KEY. Ejemplo: "Billetes fáciles de Zúrich a Roma para las próximas semanas, ¿necesito visado?"
Cómo funciona
1. Descubrimos de herramientas
Al arrancar, MoltTravel se conecta a cada servidor MCP superior, llama a tools/list y registra cada herramienta descubierta con el prefijo plano {provider}_{tool_name}:
kiwi → kiwi_search-flight, kiwi_feedback-to-devs
navifare → navifare_flight_pricecheck, navifare_format_flight_pricecheck_request
peek → peek_search_experiences, peek_experience_details, ...
lastminute → (discovered at runtime)Las herramientas nativas (airport, airlines, visados, países, FCDO) se registran directamente.
2. Proxy transparente de esquemas
Cada cliente ve el JSON Schema original de tipo upstream de cada herramienta — enumerados, objetos anidados, $ref, todo. Internamente, MoltTravel utiliza un modelo Pydantic permisivo (Any para todos los campos), de forma que los argumentos pasan sin una validación que produzca pérdida de información. El servidor MCP upstream valida sus propios argumentos.
# Client sees the real schema
parameters = input_schema # original from upstream
# Server doesn't re-validate types — just passes through
fields[prop_name] = (Any, Field(default=None))3. Carga perezosa de datos
Losdatos estáticos (aeropuertos, aerolíneas, visados) se descargan en el primer uso bloqueos asíncronos. Sin penalización de inicio ni ancho de banda desperdiciado si solo retirar las herramientas de vuelo.
Configurar
Variable | Por defecto | Descripción |
|
| Puerto del servidor |
| — | Activa la herramienta de routing a lenguaje natural |
Despliegue
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "molttravel_server.py"]docker build -t molttravel .
docker run -p 8000:8000 molttravelEl servidor lee PORT del entorno y enlaza con 0.0.0.0 — {{ #caption-header }}.
Añadir una versión en español
moltravel-mcp/
├── molttravel_server.py # Server core — proxy logic, native tools, routing
├── requirements.txt # mcp[cli], httpx
├── test_search.py # Integration test client
└── providers/
├── __init__.py # MCP_PROVIDERS registry + exports
├── mcp_client.py # Generic HTTP client for upstream MCP servers
├── data_loader.py # CSV downloader + haversine distance
├── airports.py # 45K airports from OurAirports
├── airlines.py # 7K airlines from OpenFlights
├── visas.py # Visa requirements from Passport Index
├── restcountries.py # REST Countries API
├── fcdo.py # UK FCDO travel advisories
└── gemini.py # Gemini Flash tool routerAmpliación
Añadir un proveedor MCP
Añade una línea a providers/init.py y reinicia:
MCP_PROVIDERS = {
"kiwi": McpClient("https://mcp.kiwi.com/mcp"),
"navifare": McpClient("https://mcp.navifare.com/mcp"),
"peek": McpClient("https://mcp.peek.com/mcp"),
"your_provider": McpClient("https://mcp.example.com/mcp"), # new
}Las herramientas se descubren y se registran de forma automática como your_provider_{tool_name}.
Añadir una herramienta nativa
@server.tool(name="my_tool")
async def my_tool(query: str) -> str:
"""Description shown to MCP clients."""
return "result"Fuentes de datos y licencias
Dataset | Fuente | Licencia |
Aeronavers | Dominio público | |
s | ODbL 1.0 | |
Requisitos del visado | MIT | |
Información de países | MPL 2.0 | |
Consejo de viaje | OGL v3.0 |
Contribucionesn
Haz un fork del repositorio
Crea una rama (
git checkout -b my-feature)Haz los cambios y prueba (
python molttravel_server.py)Abre una sala de combinación
Licencia
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
- FlicenseCqualityCmaintenanceEnables searching for flights (one-way, round-trip, multi-city) and hotels using the Duffel API, with support for filtering by cabin class, passengers, dates, and viewing accommodation reviews.5
- AlicenseAqualityCmaintenanceCheck visa requirements for 39,585 passport-destination pairs in 15 languages. Returns visa type, required documents, application process, and travel tips from 136 official government sources. Free quick checks without API key.51301MIT
- AlicenseAqualityAmaintenanceEnables travel search workflows including airport lookup, route comparison, travel timing guidance, and external booking links with commission-eligible links.5281MIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time flight status, airport weather, delays, cheap flight deals, and TSA wait times without requiring an API key.17MIT
Related MCP Connectors
AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.
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.
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/navifare/moltravel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server