Skip to main content
Glama
navifare
by navifare

MoltTravel

一个 MCP 服务器。涵盖所有旅行工具。

搜索航班、比较价格、查询签证、查找机场、 获取旅行建议——全部通过一个端点完成。

MCP Protocol Python 3.12+ License: MIT

  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 中,每个 API 都有自己的认证方式、格式和怪癖。MoltTravel 将它们聚合到一个 Model Context Protocol 端点之后:

  • 21+ 个工具,来自 4 个上游 MCP 提供商 + 6 个内置数据集

  • 静态数据零配置——机场、航空公司和签证通过懒加载方式加载,无需 API 密钥

  • Schema 透明代理——客户端看到真实的上游 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_search-flight

Kiwi.com

按航线、日期、乘客数、舱位等级搜索航班

navifare_format_flight_pricecheck_request

Navifare

将自然语言中的航班信息解析为结构化数据

navifare_flight_pricecheck

Navifare

在多个预订网站之间比较航班价格

体验与活动

工具

提供商

功能

peek_search_experiences

Peek.com

搜索全球 30 万+ 已验证活动

peek_experience_details

Peek.com

体验的完整详情、评价和照片

peek_experience_availability

Peek.com

查看特定日期的可用性和价格

peek_search_regions

Peek.com

按名称查找地区 ID

peek_list_tags

Peek.com

浏览活动分类和标签

peek_render_activity_tiles

Peek.com

渲染可嵌入的活动组件

参考数据 (内置,无需 API 密钥)

工具

数据集

功能

airports_lookup

OurAirports

按 IATA 或 ICAO 代码查询

airports_search

OurAirports

按名称搜索,可按国家或类型筛选

airports_near

OurAirports

查找任意坐标半径内的机场

airlines_lookup

OpenFlights

按 IATA 或 ICAO 代码查询

airlines_search

OpenFlights

按名称搜索,可按国家或运营状态筛选

visa_check

Passport Index

查询两国之间的签证要求

visa_summary

Passport Index

某本护照的完整免签/落地签/电子签明细

restcountries_country_info

REST Countries

首都、货币、语言、时区、人口

fcdo_travel_advice

UK FCDO

安全建议、入境要求、健康警告

fcdo_list_countries

UK FCDO

列出所有有旅行建议的国家

data_status

检查哪些数据集已加载及记录数量

自然语言 (可选)

工具

功能

travel_agent

提出任何旅行问题——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. Schema 透明代理

客户端看到每个工具的原始上游 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. 数据懒加载

静态数据集(机场、航空公司、签证)在首次使用时通过异步锁下载。无启动开销,如果只使用航班工具也不会浪费带宽。

配置

变量

默认值

说明

PORT

8000

服务器端口

GEMINI_API_KEY

启用 travel_agent 自然语言路由工具

部署

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"

数据来源与许可证

数据集

来源

许可证

机场

OurAirports

公有领域

航空公司

OpenFlights

ODbL 1.0

签证要求

Passport Index

MIT

国家信息

REST Countries

MPL 2.0

旅行建议

UK FCDO

OGL v3.0

贡献

  1. Fork 本仓库

  2. 创建分支(git checkout -b feature/my-feature

  3. 进行修改并测试(python molttravel_server.py

  4. 提交 Pull Request

许可证

MIT

F
license - not found
Not graded
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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