Skip to main content
Glama
nxGnosis

Travel Agent MCP Server

by nxGnosis

TravelAgentMCP 🌍✈️

Un monorepo de servidores MCP (Model Context Protocol) para la plataforma TVA OTA: búsqueda y reserva de vuelos y hoteles, requisitos de visado e inmigración y seguimiento de reservas, y gestión de cuentas de usuario — creado para agentes de viaje con IA.

Arquitectura

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

Cada paquete mcps/* es un servidor MCP stdio ejecutable de forma independiente con su propio bin. Ejecuta los que necesites (p. ej., solo tva-flight-mcp + tva-hotel-mcp para un widget de reservas, o solo tva-visa-mcp + tva-immigration-mcp para un bot de asesoramiento), o ejecuta el gateway raíz (travelagent-mcp) para tenerlo todo en un solo proceso — así ha sido siempre el paquete npm publicado, mantenido por compatibilidad hacia atrás.

Una API de origen, dos modos de autenticación:

  • Backend TVA OTA (TVA_BASE_URL) — vuelos, hoteles, reservas, cuenta y el lado "cliente" del seguimiento de reservas de visado/inmigración (actualizaciones, notificaciones, transacciones). La mayoría de los endpoints de gestión de reservas requieren un bearer token; los flujos de pago como invitado (book, cancel-by-UUID, verify, resend-ticket) no.

  • Contenido de visado/inmigración (misma TVA_BASE_URL, autenticado mediante CONTENT_API_KEY en lugar de un bearer token) — requisitos por país, tipos de visado, tasas y preguntas frecuentes, utilizado únicamente por GET_VISA_INFO_BY_COUNTRY / GET_IMMIGRATION_INFO_BY_COUNTRY.

Related MCP server: orizn-visa-mcp

Salvaguardas

  • Mínimo privilegio: solo se exponen endpoints orientados al usuario. Los endpoints de administración/operaciones (gestión de reservas, reembolsos, estadísticas de ingresos) deliberadamente no se exponen como herramientas — no son apropiados para un agente conversacional.

  • Confirmación explícita: toda herramienta que mueve dinero o es irreversible (BOOK_FLIGHT, BOOK_HOTEL, CANCEL_FLIGHT_BOOKING, CANCEL_HOTEL_BOOKING, CONFIRM_FLIGHT_PAYMENT, CONFIRM_HOTEL_PAYMENT, SELECT_FLIGHT_SEAT, CHANGE_PASSWORD, CLOSE_ACCOUNT) requiere confirm: true, que el agente llamante solo debe establecer después de leer al usuario los detalles específicos.

  • Sin secretos en el contexto del LLM: TVA_ACCESS_TOKEN nunca es un parámetro de herramienta — se lee del entorno del proceso, inyectado por sesión de usuario por cualquier agente que lance estos servidores. LOGIN_USER / SOCIAL_AUTH_LOGIN devuelven el token envuelto en un sobre __session para que el agente que lo lanza lo intercepte y lo almacene fuera de banda; el modelo solo ve un mensaje de confirmación simple. Consulta mcps/account-mcp/src/lib/session.ts para el contrato.

  • Sin repetición de ofertas en bruto: las ofertas de vuelo de Amadeus son grandes blobs JSON opacos. SEARCH_FLIGHTS almacena en caché cada oferta en el servidor (SQLite, consulta mcps/flight-mcp/src/lib/offerCache.ts) y entrega al modelo un offerRef corto en su lugar — el modelo nunca reconstruye el JSON de la oferta manualmente, lo que podría provocar un aumento excesivo de tokens o una corrupción silenciosa de precios/tarifas.

  • Redacción: las contraseñas, tokens, OTPs y números de tarjeta se enmascaran antes de registrar cualquier cosa (consulta mcps/shared/src/guardrails.ts).

  • Riesgo conocido — pagos de hotel: BOOK_HOTEL actualmente toma los datos de la tarjeta directamente (la API de hoteles de TVA aún no tiene un paso de pago tokenizado). Solo debe llamarlo un cliente que haya recopilado los datos de la tarjeta a través de una superficie segura y compatible con PCI — nunca pidiendo al usuario que escriba un número de tarjeta en el chat. Consulta la descripción de la herramienta para más detalles.

  • Limitación de tasa: cada llamada a herramienta se limita por proceso (defensa contra un bucle descontrolado de llamadas a funciones). Esto no sustituye una limitación persistente entre turnos — rastrea el abuso de forma persistente en la capa de sesión si necesitas protección real.

Configuración

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

Ejecuta el gateway (todas las herramientas en un solo proceso):

pnpm start

O ejecuta un servidor de un solo dominio directamente:

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

Referencia de herramientas

Vuelo (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

Hotel (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

Visa (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

Inmigración (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

Cuenta (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

Usado por

El agente de viajes NomadSage de MegaMind lanza estos servidores (vía stdio, uno por dominio) junto con sus herramientas de búsqueda en la base de conocimiento y de respuesta de social-mcp — consulta travel-agent/src/lib/tva-client.ts y travel-agent/src/lib/tva-session.ts en ese repositorio.

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