MoltTravel
MoltTravel
Один MCP-сервер. Все инструменты для путешествий.
Поиск авиабилетов, сравнение цен, проверка виз, поиск аэропортов, получение предупреждений о поездках — через единую конечную точку.
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)Зачем?
Данные о путешествиях разбросаны по десяткам API, у каждого из которых свои методы аутентификации, форматы и особенности. MoltTravel объединяет их за единой конечной точкой Model Context Protocol:
21+ инструмент от 4 внешних MCP-провайдеров + 6 встроенных наборов данных
Ноль настройки для статических данных — аэропорты, авиакомпании и визы загружаются лениво, без API-ключей
Прозрачный для схем прокси — клиенты видят реальную JSON Schema внешнего сервера; внешние серверы сами проверяют свои аргументы
Одна строка для подключения из Claude Desktop, Claude Code, Cursor или любого MCP-клиента
Related MCP server: orizn-visa-mcp
Быстрый старт
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.pyСервер запускается по адресу http://localhost:8000/mcp. Вот и всё.
Подключение клиента
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"molttravel": {
"url": "http://localhost:8000/mcp"
}
}
}Добавьте в .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"})Инструменты
Авиабилеты и цены
Инструмент | Провайдер | Что делает |
| Kiwi.com | Поиск авиабилетов по маршруту, дате, пассажирам, классу обслуживания |
| Navifare | Разбор деталей перелёта из естественного языка в структурированные данные |
| Navifare | Сравнение цены перелёта на нескольких сайтах бронирования |
Впечатления и активности
Инструмент | Провайдер | Что делает |
| Peek.com | Поиск 300K+ проверенных активностей по всему миру |
| Peek.com | Полные детали, отзывы и фото для впечатления |
| Peek.com | Проверка наличия и цен на конкретные даты |
| Peek.com | Поиск ID регионов по названию |
| Peek.com | Просмотр категорий активностей и тегов |
| Peek.com | Рендеринг встраиваемых виджетов активностей |
Справочные данные (встроенные, API-ключи не нужны)
Инструмент | Набор данных | Что делает |
| OurAirports | Поиск по коду IATA или ICAO |
| OurAirports | Поиск по названию, фильтр по стране или типу |
| OurAirports | Поиск аэропортов в радиусе от любых координат |
| OpenFlights | Поиск по коду IATA или ICAO |
| OpenFlights | Поиск по названию, фильтр по стране или статусу активности |
| Passport Index | Проверка визовых требований между двумя странами |
| Passport Index | Полная разбивка безвизовых/VOA/электронных виз для паспорта |
| REST Countries | Столица, валюты, языки, часовые пояса, население |
| UK FCDO | Предупреждения о безопасности, требования въезда, предупреждения о здоровье |
| UK FCDO | Список всех стран с предупреждениями о поездках |
| — | Проверка, какие наборы данных загружены, и количество записей |
Естественный язык (опционально)
Инструмент | Что делает |
| Задайте любой вопрос о путешествиях — Gemini направляет к нужным инструментам и возвращает объединённый ответ |
Требуется
GEMINI_API_KEY. Пример: «Самые дешёвые авиабилеты из Цюриха в Рим на следующую неделю, и нужна ли мне виза?»
Как это работает
1. Обнаружение инструментов
При запуске MoltTravel подключается к каждому внешнему MCP-серверу, вызывает tools/list и регистрирует каждый обнаруженный инструмент с префиксом {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)Собственные инструменты (аэропорты, авиакомпании, визы, страны, FCDO) регистрируются напрямую.
2. Прозрачный для схем прокси
Клиенты видят оригинальную JSON Schema внешнего сервера для каждого инструмента — перечисления, вложенные объекты, $ref и всё остальное. Внутри MoltTravel использует разрешающую модель Pydantic (Any для всех полей), чтобы аргументы проходили без потерь при валидации. Внешний MCP-сервер сам проверяет свои аргументы.
# 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. Ленивая загрузка данных
Статические наборы данных (аэропорты, авиакомпании, визы) загружаются при первом использовании за асинхронными блокировками. Нет затрат при запуске, нет лишнего трафика, если вы используете только инструменты для авиабилетов.
Конфигурация
Переменная | По умолчанию | Описание |
|
| Порт сервера |
| — | Включает инструмент маршрутизации на естественном языке |
Развёртывание
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 molttravelСервер читает PORT из переменных окружения и привязывается к 0.0.0.0 — он работает из коробки на любой контейнерной платформе. Просто укажите команду запуска python molttravel_server.py.
Структура проекта
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 routerРасширение
Добавление MCP-провайдера
Добавьте одну строку в providers/__init__.py и перезапустите:
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
}Инструменты обнаруживаются и регистрируются автоматически как your_provider_{tool_name}.
Добавление собственного инструмента
@server.tool(name="my_tool")
async def my_tool(query: str) -> str:
"""Description shown to MCP clients."""
return "result"Источники данных и лицензии
Набор данных | Источник | Лицензия |
Аэропорты | Общественное достояние | |
Авиакомпании | ODbL 1.0 | |
Визовые требования | MIT | |
Информация о странах | MPL 2.0 | |
Предупреждения о поездках | OGL v3.0 |
Участие в разработке
Сделайте форк репозитория
Создайте ветку (
git checkout -b feature/my-feature)Внесите изменения и протестируйте (
python molttravel_server.py)Откройте pull request
Лицензия
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