Skip to main content
Glama
nxGnosis

Travel Agent MCP Server

by nxGnosis

TravelAgentMCP 🌍✈️

Монорепозиторий MCP (Model Context Protocol) серверов для OTA-платформы TVA: поиск и бронирование авиабилетов и отелей, требования к визе и иммиграции, отслеживание бронирований и управление учетными записями пользователей — создано для 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_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 предложения вручную, что могло бы привести к раздуванию токенов или скрытому искажению цены/тарифа.

  • Сокрытие: пароли, токены, одноразовые пароли и номера карт маскируются перед тем, как что-либо логируется (см. mcps/shared/src/guardrails.ts).

  • Известный риск — платежи за отели: BOOK_HOTEL в настоящее время принимает данные карты напрямую (у API отелей TVA пока нет шага токенизированной оплаты). Это должно вызываться только клиентом, который собрал данные карты через безопасный, 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_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

Используется в

Туристический агент NomadSage из MegaMind порождает эти серверы (через stdio, по одному на домен) вместе со своими инструментами поиска по базе знаний и ответов social-mcp — см. travel-agent/src/lib/tva-client.ts и travel-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