MCP Server Introduction
Bundleport provides a Model Context Protocol (MCP) server that enables AI assistants and agents to interact with hotel booking services through a standardized, tool-based interface. The MCP server exposes hotel booking capabilities as tools that AI models can discover and use autonomously, making it easy to build conversational booking experiences.
What is MCP?
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely interact with external systems through a structured tool interface. Instead of requiring custom integrations for each AI framework, MCP provides a universal protocol that works with any MCP-compatible client.
Bundleport MCP Server
The Bundleport aggregator MCP server (hotel-booking-server, version 2.x) exposes hotel booking operations as tools:
- Search for hotel availability across connections
- Get detailed quotes (
optionQuote+quoteId) - Confirm bookings (returns
booking= BookingDetail) - Retrieve booking details by
bookingID - Cancel bookings by
bookingID
Hotel catalog and static content are not aggregator MCP tools. Use the Content API (and its own MCP, if enabled).
JSON field names match the aggregator proto/REST contract. There are no aliases (accessIds, bookingReference, flattened quote optionRefId).
Architecture Overview
AI Agent / LLM
↓
MCP Client (Vercel AI SDK HTTP transport, LangChain, etc.)
↓
MCP Server (Streamable HTTP, stateless)
↓
Bundleport Booking Services
↓
Provider Integrations
- MCP Tools translate natural language requests into structured booking operations
- Adapters map MCP tool parameters to the same proto used by REST
- Shared Services keep pricing, booking, and audit rules consistent across REST and MCP
Available Tools
Five tools, in funnel order:
availability— Search hotel availability.hotelsare base codes unlesshotelCodeProvideris set. Token-budget digest:results_tablecolumn 0 isid(search option id). Copyidinto quoteoptionRefId.quote— Pricing and cancel policy. Input:optionRefIdfrom searchid. Output:optionQuote(optionRefId,status,price,acceptVCard,surcharges,cancelPolicy,remarks[]) plusquoteId.book— Confirm a booking. Input:optionQuote.optionRefIdafter a successful quote. Book from searchidonly when there is noRATE_TYPEremark containingRECHECKand that connection allows book-from-search. Output:bookingwithreference.bookingID.bookingDetail— Load an existing booking. Input:bookingID=booking.reference.bookingID. Output envelope:booking+errors/warnings.cancel— Cancel a booking. Input:bookingID. Output:cancelReference+errors/warnings.
Quote status is STATUS_TYPE_OK or STATUS_TYPE_RQ. Booking status is BOOK_STATUS_TYPE_*. Never invent PENDING / CONFIRMED.
settings.connectionCodes is required on tools that hit providers. paymentMode on quote/book maps to additionalData.paymentMode (MERCHANT or DIRECT_ONLY).
Key Features
- AI-optimized availability: Digest truncates options (top 5 for one hotel, one per hotel otherwise) to reduce tokens. Column 0 is still proto
id. - Stateless Streamable HTTP: Each call is independent. Copy identifiers between tools; the server does not keep a session.
- Error handling: Structured
errors[]plus MCPisErrorwhen the payload has errors. Extrahintsmay appear on error responses and must not contradict proto names. - Same Price shape as REST:
net,gross,suggested,markupGross,binding,markupBinding—grossis notmarkupGross.
Use Cases
- Conversational booking assistants: Chatbots that search, quote, and book through natural language
- AI-powered travel agents: Agents that orchestrate the five-tool funnel
- Multi-step workflows: search
id→ quoteoptionRefId→ bookoptionQuote.optionRefId→ cancel/detailbookingID
Getting Started
To use the aggregator MCP server, you'll need:
- MCP Server Endpoint: Streamable HTTP URL (
https://api.connect.bundleport.com/mcp) - MCP-Compatible Client: A client that speaks MCP Streamable HTTP (for Vercel AI SDK use
transport.type: 'http', not SSE) - Bundleport Credentials: API keys and connection codes configured for the providers you want to use
The aggregator MCP handler is stateless Streamable HTTP.
Install booking MCP
Streamable HTTP at the aggregator. Tools: availability, quote, book, bookingDetail, cancel. Same identifiers as REST. Set BUNDLEPORT_API_KEY in the environment; the install snippet uses ${env:BUNDLEPORT_API_KEY}. Do not commit sk_*.
{
"mcpServers": {
"bundleport-hotels": {
"url": "https://api.connect.bundleport.com/mcp",
"headers": {
"Authorization": "ApiKey ${env:BUNDLEPORT_API_KEY}"
}
}
}
}Next Steps
- Use with AI — Contract card, OpenAPI YAML, Cursor / ChatGPT / Claude recipes. MCP is for calling book, not for generating a client.
- MCP Quickstart — Connect your first MCP client and run the booking flow
- REST API Reference — Same operations over HTTP
- Authentication — API key setup