Skip to main content
Glama
navifare
by navifare

MoltTravel

1つの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に散らばっており、それぞれが独自の認証、フォーマット、癖を持っています。MoltTravelはそれらを単一のModel Context Protocolエンドポイントの背後に集約します:

  • 21以上のツール——4つの上流MCPプロバイダー + 6つの組み込みデータセット

  • 静的データはゼロ設定——空港、航空会社、ビザはAPIキー不要で遅延読み込み

  • スキーマ透過プロキシ——クライアントは実際の上流JSON Schemaをそのまま参照し、上流サーバーが自身の引数を検証

  • 1行で接続——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

2国間のビザ要件を確認

visa_summary

Passport Index

パスポートに対するビザ免除/VOA/eビザの完全な内訳

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. スキーマ透過プロキシ

クライアントは各ツールの 元の上流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 に1行追加して再起動:

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. リポジトリをフォーク

  2. ブランチを作成(git checkout -b feature/my-feature

  3. 変更を加えてテスト(python molttravel_server.py

  4. プルリクエストを開く

ライセンス

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