Travel Agent MCP Server
TravelAgentMCP 🌍✈️
TVA OTAプラットフォーム向けのMCP(Model Context Protocol)サーバーのモノレポ:フライトとホテルの検索・予約、ビザと入国要件・予約追跡、ユーザーアカウント管理 — 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/*パッケージは、独自のbinを持つ独立して実行可能なstdio MCPサーバーです。必要なものだけを実行するか(例:予約ウィジェット用にtva-flight-mcp + tva-hotel-mcpのみ、またはアドバイザリーボット用にtva-visa-mcp + tva-immigration-mcpのみ)、ルートのゲートウェイ(travelagent-mcp)を実行してすべてを1つのプロセスで取得します。これは公開されているnpmパッケージが常にそうであったもので、後方互換性のために維持されています。
1つのアップストリームAPI、2つの認証モード:
TVA OTAバックエンド(
TVA_BASE_URL)— フライト、ホテル、予約、アカウント、およびビザ/入国予約追跡の「クライアント」側(更新、通知、トランザクション)。ほとんどの予約管理エンドポイントはベアラートークンを必要としますが、ゲストチェックアウトフロー(予約、UUIDによるキャンセル、確認、チケット再送)は必要としません。ビザ/入国コンテンツ(同じ
TVA_BASE_URL、ベアラートークンの代わりにCONTENT_API_KEYで認証)— 国の要件、ビザの種類、料金、FAQ。GET_VISA_INFO_BY_COUNTRY/GET_IMMIGRATION_INFO_BY_COUNTRYでのみ使用されます。
Related MCP server: orizn-visa-mcp
ガードレール
最小権限:ユーザー向けエンドポイントのみが公開されています。管理/運用エンドポイント(予約管理、返金、収益統計)は意図的にラップされていません — 会話型エージェントには適していません。
明示的な確認:金銭を動かす、または取り消し不能なすべてのツール(
BOOK_FLIGHT、BOOK_HOTEL、CANCEL_FLIGHT_BOOKING、CANCEL_HOTEL_BOOKING、CONFIRM_FLIGHT_PAYMENT、CONFIRM_HOTEL_PAYMENT、SELECT_FLIGHT_SEAT、CHANGE_PASSWORD、CLOSE_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ゲートウェイを実行する(すべてのツールを1つのプロセスで):
pnpm startまたは単一ドメインサーバーを直接実行する:
node mcps/flight-mcp/dist/index.jsツールリファレンス
フライト(tva-flight-mcp)
SEARCH_FLIGHTS, GET_POPULAR_FLIGHT_ROUTES, GET_FLIGHT_PRICE_ANALYSIS, GET_MOST_TRAVELED_DESTINATIONS, GET_MOST_BOOKED_DESTINATIONS, GET_BUSIEST_TRAVEL_PERIOD, GET_FLIGHT_SEATMAP_BY_OFFER, GET_FLIGHT_SEATMAP_BY_ORDER, GET_FLIGHT_FARE_UPSELL, PREDICT_FLIGHT_CHOICE, CONFIRM_FLIGHT_PRICE, BOOK_FLIGHT, LIST_MY_FLIGHT_BOOKINGS, GET_FLIGHT_BOOKING, VERIFY_FLIGHT_BOOKING, CANCEL_FLIGHT_BOOKING, GET_FLIGHT_SEAT_PRICE, SELECT_FLIGHT_SEAT, RESEND_FLIGHT_TICKET, GET_FLIGHT_TICKET_DOWNLOAD_LINK, CONFIRM_FLIGHT_PAYMENT
ホテル(tva-hotel-mcp)
SEARCH_HOTELS, SEARCH_HOTEL_CITIES, CHECK_HOTEL_AVAILABILITY, BOOK_HOTEL, LIST_MY_HOTEL_BOOKINGS, GET_HOTEL_BOOKING, CONFIRM_HOTEL_PAYMENT, CANCEL_HOTEL_BOOKING
ビザ(tva-visa-mcp)
GET_VISA_INFO_BY_COUNTRY, LIST_MY_VISA_BOOKINGS, GET_VISA_BOOKING, GET_VISA_BOOKING_BY_APPLICATION_UUID, GET_VISA_UPDATES, GET_VISA_UPDATES_BY_BOOKING, GET_VISA_FOLLOWUP_QUESTIONS, ANSWER_VISA_FOLLOWUP, GET_VISA_NOTIFICATIONS, MARK_VISA_NOTIFICATION_READ, GET_VISA_TRANSACTIONS, GET_VISA_TRANSACTION_DETAIL
入国(tva-immigration-mcp)
GET_IMMIGRATION_INFO_BY_COUNTRY, LIST_MY_IMMIGRATION_BOOKINGS, GET_IMMIGRATION_BOOKING, GET_IMMIGRATION_UPDATES, GET_IMMIGRATION_UPDATES_BY_BOOKING, GET_IMMIGRATION_NOTIFICATIONS, MARK_IMMIGRATION_NOTIFICATION_READ, GET_IMMIGRATION_TRANSACTIONS, GET_IMMIGRATION_TRANSACTION_DETAIL
アカウント(tva-account-mcp)
REGISTER_USER, LOGIN_USER, SOCIAL_AUTH_LOGIN, FORGOT_PASSWORD, RESEND_OTP, VERIFY_OTP, LOGOUT_USER, GET_CURRENT_USER, GET_USER_PROFILE, EDIT_USER_PROFILE, CHANGE_PASSWORD, CHECK_DISCOUNT_PROMO, GET_USER_NOTIFICATIONS, CLOSE_ACCOUNT
使用元
MegaMindのNomadSage旅行エージェントは、これらのサーバーを(stdio経由で、ドメインごとに1つ)ナレッジベース検索やsocial-mcp返信ツールとともに起動します — そのリポジトリ内のtravel-agent/src/lib/tva-client.tsおよびtravel-agent/src/lib/tva-session.tsを参照してください。
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
- FlicenseNot gradedqualityDmaintenanceProvides 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.
- 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
- AlicenseAqualityBmaintenanceProvides immigration eligibility intelligence, enabling AI assistants to match user profiles to visas, compare pathways, and get country overviews using Transita's API.570MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search and explore Australian occupation codes (ANZSCO), visa pathways, state nominations, and SkillSelect invitation round data.MIT
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
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/nxGnosis/TravelAgentMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server