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에 흩어져 있고, 각각 고유한 인증 방식, 형식, 특성을 가지고 있습니다. 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_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

여권의 무비자/VOA/전자비자 전체 내역

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에 한 줄을 추가하고 재시작:

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

Public Domain

항공사

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