Marriott Hotel Booking MCP Server
AI-powered hotel search and booking for 8,000+ Marriott Bonvoy properties worldwide.
README
Marriott Hotel Booking MCP Server
v2.0 - ChatGPT Actions + Claude MCP Integration
AI-powered hotel search and booking for 8,000+ Marriott Bonvoy properties worldwide including JW Marriott, Ritz-Carlton, Westin, Sheraton, Courtyard, and more.
๐ Quick Start
# Start the server
docker-compose up --build -d
# Run tests
npm test
# Health check
curl http://localhost:5000/health
๐๏ธ Architecture
This server supports three client integrations:
- ChatGPT Actions - Atomic REST API for ChatGPT (
/mcp/chatgpt/*) - Claude Desktop - Strict MCP protocol for Claude (
/mcp/claude) - Custom AI Chatbots - Flexible MCP for custom bots (
/mcp)
All integrations share the same core workflows and authentication.
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ ChatGPT โ โ Claude โ โ Custom โ
โ Actions โ โ Desktop โ โ Chatbots โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ
โ /mcp/chatgpt/* โ /mcp/claude โ /mcp
โ โ โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโผโโโโโโโโโ
โ Agent Router โ
โโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโผโโโโโ โโโโโโผโโโโโ โโโโโโผโโโโโ
โ ChatGPT โ โ Claude โ โ Custom โ
โ (REST) โ โ (MCP) โ โ (MCP) โ
โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโผโโโโโโโโโ
โ Core Workflows โ
โโโโโโโโโโโโโโโโโโ
๐ Project Structure
uxl-mcp-c/
โโโ src/
โ โโโ integrations/ # Platform integrations
โ โ โโโ chatgpt/ # ChatGPT Actions
โ โ โโโ claude/ # Claude MCP
โ โโโ core/ # Shared business logic
โ โ โโโ auth/ # Authentication
โ โ โโโ workflows/ # Hotel search & booking
โ โโโ agent-router.js # Main router
โโโ tests/ # Comprehensive test suites
โ โโโ chatgpt/
โ โโโ claude/
โ โโโ agent-router/
โ โโโ integration/
โโโ docs/ # All documentation
โโโ assets/widgets/ # UI templates
๐งช Testing
npm test # Run all tests
npm run test:chatgpt # ChatGPT Actions
npm run test:claude # Claude MCP
npm run test:custom-chatbots # Custom Chatbots
npm run test:router # Agent Router
npm run test:integration # End-to-end
๐ Documentation
All documentation is organized in the docs/ folder:
Essential Reading
- docs/architecture.md - Complete architecture guide
- docs/quick_reference.md - Developer quick guide
- docs/index.md - Full documentation index
Integration Guides
- docs/chatgpt-actions-readme.md - ChatGPT setup
- docs/claude_desktop_setup.md - Claude setup
Implementation Details
- docs/workflow_deployment_steps.md - Workflows
- docs/redis_session_storage.md - Sessions
- docs/login_flow_instructions.md - Authentication
๐ง Configuration
- Port 5000: Agent Router (main entry point)
- Port 5001: MCP Backend (internal)
- Port 5002: Marriott Login Gateway
- Redis: Session storage (localhost:6379)
๐ Features
- โ Dual Integration: ChatGPT Actions + Claude MCP
- โ Hotel Search: Search 8,000+ properties
- โ Room Booking: Complete reservation flow
- โ Authentication: Marriott Bonvoy SSO
- โ Session Management: Redis-backed persistence
- โ Rich UI: Widget templates for ChatGPT
- โ Comprehensive Tests: 100% test coverage
- โ Clean Architecture: Separated concerns, easy maintenance
๐ ๏ธ Development
# Make changes to code
vim src/integrations/chatgpt/actions-router.js
# Test your changes
npm run test:chatgpt
# Rebuild and deploy
docker-compose up --build -d
See docs/quick_reference.md for detailed development guide.
๐ API Endpoints
ChatGPT Actions (REST/JSON)
POST /mcp/chatgpt/search_hotels- Search hotelsPOST /mcp/chatgpt/book_hotel- Book hotel (consequential)
Claude Desktop (JSON-RPC 2.0)
POST /mcp/claude- Claude Desktop MCP endpointtools/list- List available toolstools/call- Execute tool
Custom AI Chatbots (JSON-RPC 2.0)
POST /mcp- Custom chatbots MCP endpoint- Supports API Key, Basic Auth, or Agent ID
- Flexible MCP implementation
- Extended metadata in responses
Health Checks
GET /health- Service healthGET /ready- Readiness probeGET /live- Liveness probe
๐ค Contributing
- Make changes in appropriate folders:
- ChatGPT:
src/integrations/chatgpt/ - Claude:
src/integrations/claude/ - Shared:
src/core/
- ChatGPT:
- Add tests in
tests/<category>/ - Run
npm testbefore committing - Update documentation in
docs/
๐ License
Marriott International, Inc. - Internal Use
๐ Links
Version: 2.0
Status: โ
Production Ready
Last Updated: May 15, 2026
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.