Skip to main content
Glama
nxGnosis

Travel Agent MCP Server

by nxGnosis

TravelAgentMCP 🌍✈️

一个用于 TVA OTA 平台的 MCP(模型上下文协议)服务器单体仓库:提供航班和酒店搜索与预订、签证和移民要求及预订跟踪、以及用户账户管理——专为 AI 旅行代理构建。

架构

TravelAgentMCP/
├── mcps/
│   ├── shared/            @travelagent-mcp/shared — HTTP client, config, guardrails, tool helper (not a server)
│   ├── flight-mcp/        tva-flight-mcp   — search, pricing, seatmaps, booking lifecycle
│   ├── hotel-mcp/         tva-hotel-mcp    — search, availability, booking lifecycle
│   ├── visa-mcp/          tva-visa-mcp     — country requirements + booking tracking
│   ├── immigration-mcp/   tva-immigration-mcp — service info + booking tracking
│   └── account-mcp/       tva-account-mcp  — auth, profile, promo codes, notifications
└── src/index.ts           travelagent-mcp  — gateway that mounts all five servers' tools in one process

每个 mcps/* 包都是一个独立可运行的 stdio MCP 服务器,带有自己的 bin。运行你需要的那些(例如,仅 tva-flight-mcp + tva-hotel-mcp 用于预订小部件,或仅 tva-visa-mcp + tva-immigration-mcp 用于咨询机器人),或运行根网关travelagent-mcp)以在一个进程中获取所有功能——这就是已发布的 npm 包一直以来的形式,为向后兼容而保留。

一个上游 API,两种认证模式:

  • TVA OTA 后端TVA_BASE_URL)——航班、酒店、预订、账户,以及签证/移民预订跟踪的“客户端”侧(更新、通知、交易)。大多数预订管理端点需要 bearer 令牌;访客结账流程(预订、按 UUID 取消、验证、重新发送票据)则不需要。

  • 签证/移民内容(相同的 TVA_BASE_URL,通过 CONTENT_API_KEY 而非 bearer 令牌认证)——国家要求、签证类型、费用和常见问题解答,仅由 GET_VISA_INFO_BY_COUNTRY / GET_IMMIGRATION_INFO_BY_COUNTRY 使用。

Related MCP server: orizn-visa-mcp

防护措施

  • 最小权限:仅暴露面向用户的端点。管理/运营端点(预订管理、退款、收入统计)故意包装为工具——它们不适合对话式代理。

  • 明确确认:每个涉及资金流动或不可逆的工具(BOOK_FLIGHTBOOK_HOTELCANCEL_FLIGHT_BOOKINGCANCEL_HOTEL_BOOKINGCONFIRM_FLIGHT_PAYMENTCONFIRM_HOTEL_PAYMENTSELECT_FLIGHT_SEATCHANGE_PASSWORDCLOSE_ACCOUNT)都需要 confirm: true,调用代理应在向用户回读具体细节后才设置此参数。

  • LLM 上下文中无秘密TVA_ACCESS_TOKEN 绝不是工具参数——它从进程环境中读取,由生成这些服务器的任何代理按用户会话注入。LOGIN_USER / SOCIAL_AUTH_LOGIN 将令牌包装在 __session 信封中返回,供生成代理拦截并带外存储;模型仅看到一条纯确认消息。请参阅 mcps/account-mcp/src/lib/session.ts 了解约定。

  • 无原始报价重放:Amadeus 航班报价是大型不透明 JSON 块。SEARCH_FLIGHTS 将每个报价缓存在服务器端(SQLite,请参阅 mcps/flight-mcp/src/lib/offerCache.ts),并向模型提供一个简短的 offerRef——模型永远不会手动重建报价 JSON,这可能会带来令牌膨胀或价格/费用静默损坏的风险。

  • 脱敏:密码、令牌、OTP 和卡号在记录任何内容之前都会被屏蔽(请参阅 mcps/shared/src/guardrails.ts)。

  • 已知风险——酒店支付BOOK_HOTEL 当前直接接收原始卡详细信息(TVA 酒店 API 尚无令牌化结账步骤)。这必须仅由通过符合 PCI 标准的表面收集了卡详细信息的客户端调用——绝不能通过提示用户在聊天中键入卡号来调用。请参阅工具描述了解详情。

  • 速率限制:每个工具调用按进程进行节流(防止失控的函数调用循环)。这不能替代持久的、跨轮次的节流——如果你需要真正的保护,请在会话层持久跟踪滥用情况。

设置

pnpm install
cp .env.example .env   # fill in TVA_BASE_URL and content-API keys
pnpm build              # builds mcps/shared first, then every domain server, then the gateway

运行网关(一个进程中的所有工具):

pnpm start

或直接运行单个域服务器:

node mcps/flight-mcp/dist/index.js

工具参考

航班(tva-flight-mcp

SEARCH_FLIGHTSGET_POPULAR_FLIGHT_ROUTESGET_FLIGHT_PRICE_ANALYSISGET_MOST_TRAVELED_DESTINATIONSGET_MOST_BOOKED_DESTINATIONSGET_BUSIEST_TRAVEL_PERIODGET_FLIGHT_SEATMAP_BY_OFFERGET_FLIGHT_SEATMAP_BY_ORDERGET_FLIGHT_FARE_UPSELLPREDICT_FLIGHT_CHOICECONFIRM_FLIGHT_PRICEBOOK_FLIGHTLIST_MY_FLIGHT_BOOKINGSGET_FLIGHT_BOOKINGVERIFY_FLIGHT_BOOKINGCANCEL_FLIGHT_BOOKINGGET_FLIGHT_SEAT_PRICESELECT_FLIGHT_SEATRESEND_FLIGHT_TICKETGET_FLIGHT_TICKET_DOWNLOAD_LINKCONFIRM_FLIGHT_PAYMENT

酒店(tva-hotel-mcp

SEARCH_HOTELSSEARCH_HOTEL_CITIESCHECK_HOTEL_AVAILABILITYBOOK_HOTELLIST_MY_HOTEL_BOOKINGSGET_HOTEL_BOOKINGCONFIRM_HOTEL_PAYMENTCANCEL_HOTEL_BOOKING

签证(tva-visa-mcp

GET_VISA_INFO_BY_COUNTRYLIST_MY_VISA_BOOKINGSGET_VISA_BOOKINGGET_VISA_BOOKING_BY_APPLICATION_UUIDGET_VISA_UPDATESGET_VISA_UPDATES_BY_BOOKINGGET_VISA_FOLLOWUP_QUESTIONSANSWER_VISA_FOLLOWUPGET_VISA_NOTIFICATIONSMARK_VISA_NOTIFICATION_READGET_VISA_TRANSACTIONSGET_VISA_TRANSACTION_DETAIL

移民(tva-immigration-mcp

GET_IMMIGRATION_INFO_BY_COUNTRYLIST_MY_IMMIGRATION_BOOKINGSGET_IMMIGRATION_BOOKINGGET_IMMIGRATION_UPDATESGET_IMMIGRATION_UPDATES_BY_BOOKINGGET_IMMIGRATION_NOTIFICATIONSMARK_IMMIGRATION_NOTIFICATION_READGET_IMMIGRATION_TRANSACTIONSGET_IMMIGRATION_TRANSACTION_DETAIL

账户(tva-account-mcp

REGISTER_USERLOGIN_USERSOCIAL_AUTH_LOGINFORGOT_PASSWORDRESEND_OTPVERIFY_OTPLOGOUT_USERGET_CURRENT_USERGET_USER_PROFILEEDIT_USER_PROFILECHANGE_PASSWORDCHECK_DISCOUNT_PROMOGET_USER_NOTIFICATIONSCLOSE_ACCOUNT

被以下项目使用

MegaMindNomadSage 旅行代理生成这些服务器(通过 stdio,每个域一个),以及其知识库搜索和 social-mcp 回复工具——请参阅该仓库中的 travel-agent/src/lib/tva-client.tstravel-agent/src/lib/tva-session.ts

Install Server
F
license - not found
C
quality
C
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools to retrieve and compare detailed information about countries, including population, region, and currency data. It allows users to search for specific countries or list them by region.
  • A
    license
    A
    quality
    C
    maintenance
    Check 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.
    5
    130
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search and explore Australian occupation codes (ANZSCO), visa pathways, state nominations, and SkillSelect invitation round data.
    MIT

View all related MCP servers

Related MCP Connectors

  • Visa eligibility matcher and immigration intelligence for MCP-compatible AI assistants.

  • Passport visa, entry & transit requirements for any country pair, with official government sources.

  • Visa Requirements MCP — passport visa rules for any nationality → destination pair

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/nxGnosis/TravelAgentMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server