Skip to main content
Glama
kit2552

Marriott Hotel Booking MCP Server

by kit2552
README.md
# 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

```bash
# 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**:

1. **ChatGPT Actions** - Atomic REST API for ChatGPT (`/mcp/chatgpt/*`)
2. **Claude Desktop** - Strict MCP protocol for Claude (`/mcp/claude`)
3. **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

```bash
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/`](docs/) folder:

### Essential Reading
- **[docs/architecture.md](docs/architecture.md)** - Complete architecture guide
- **[docs/quick_reference.md](docs/quick_reference.md)** - Developer quick guide
- **[docs/index.md](docs/index.md)** - Full documentation index

### Integration Guides
- **[docs/chatgpt-actions-readme.md](docs/chatgpt-actions-readme.md)** - ChatGPT setup
- **[docs/claude_desktop_setup.md](docs/claude_desktop_setup.md)** - Claude setup

### Implementation Details
- **[docs/workflow_deployment_steps.md](docs/workflow_deployment_steps.md)** - Workflows
- **[docs/redis_session_storage.md](docs/redis_session_storage.md)** - Sessions
- **[docs/login_flow_instructions.md](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

```bash
# 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](docs/quick_reference.md) for detailed development guide.

## ๐Ÿ“Š API Endpoints

### ChatGPT Actions (REST/JSON)
- `POST /mcp/chatgpt/search_hotels` - Search hotels
- `POST /mcp/chatgpt/book_hotel` - Book hotel (consequential)

### Claude Desktop (JSON-RPC 2.0)
- `POST /mcp/claude` - Claude Desktop MCP endpoint
  - `tools/list` - List available tools
  - `tools/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 health
- `GET /ready` - Readiness probe
- `GET /live` - Liveness probe

## ๐Ÿค Contributing

1. Make changes in appropriate folders:
   - ChatGPT: `src/integrations/chatgpt/`
   - Claude: `src/integrations/claude/`
   - Shared: `src/core/`
2. Add tests in `tests/<category>/`
3. Run `npm test` before committing
4. Update documentation in `docs/`

## ๐Ÿ“ License

Marriott International, Inc. - Internal Use

## ๐Ÿ”— Links

- [Full Documentation Index](docs/index.md)
- [Architecture Guide](docs/architecture.md)
- [Architecture Diagrams](docs/architecture_diagram.md)
- [Reorganization Summary](docs/reorganization_summary.md)

---

**Version**: 2.0  
**Status**: โœ… Production Ready  
**Last Updated**: May 15, 2026