Quest Apartment Hotels MCP Server
Enables AI assistants to search properties, check availability, and manage bookings across Quest's Australian portfolio. This proof-of-concept implementation provides tools for property details, rate comparisons, and reservation handling using simulated data.
README
Quest Apartment Hotels — MCP Server (POC)
A Model Context Protocol (MCP) server for Quest Apartment Hotels, enabling AI assistants (ChatGPT, Claude, Gemini) to search properties, check availability, compare rates, and make bookings across Quest's Australian portfolio.
POC Note: Availability and rates are simulated with deterministic fake data. Bookings are stored in-memory and reset on each cold start.
Tools Exposed
| Tool | Description |
|---|---|
quest_search_properties |
Find properties by city, state, or amenity |
quest_get_property_details |
Full details for a specific property |
quest_check_availability |
Availability for a property and date range |
quest_get_rates |
Rate plans for a property and stay |
quest_search_availability |
Combined search + availability in one call |
quest_get_booking_quote |
Price estimate without creating a booking |
quest_create_booking |
Make a reservation |
quest_get_booking |
Look up an existing booking by confirmation number |
Project Structure
Quest-MCP/
├── api/
│ └── mcp.ts # All server logic (single file)
├── package.json
├── tsconfig.json
├── vercel.json # Routes /mcp → /api/mcp
└── .gitignore
Local Development
Prerequisites
- Node.js 20+
- Vercel CLI (installed as a dev dependency)
Setup
# Clone the repo
git clone https://github.com/YOUR_USERNAME/Quest-MCP.git
cd Quest-MCP
# Install dependencies
npm install
# Type-check (no output = success)
npm run build
# Start local dev server
npm run dev
The server will be available at http://localhost:3000/mcp.
Testing locally with MCP Inspector
npx @modelcontextprotocol/inspector
Set the URL to http://localhost:3000/mcp and transport to Streamable HTTP.
Deployment (Vercel via GitHub)
The project is configured to auto-deploy to Vercel on every push to main.
First-time setup
- Push this repo to GitHub
- Go to vercel.com → Add New Project → Import your GitHub repo
- Vercel will auto-detect the project — no extra config needed
- Click Deploy
After the first deploy, every git push to main triggers a new deployment automatically.
Your MCP endpoint will be at:
https://YOUR-PROJECT.vercel.app/mcp
Environment Variables
None required for this POC. All data is hardcoded.
Testing in OpenAI ChatGPT
Per the OpenAI MCP testing instructions:
- Open chatgpt.com and start a new conversation
- Click the Tools (plug) icon → Add a tool → MCP Server
- Enter your Vercel URL:
https://YOUR-PROJECT.vercel.app/mcp - Set approval to No approval required (for testing)
- Click Connect
ChatGPT will discover all 8 tools automatically. Try prompts like:
- "Find me a Quest hotel in Melbourne for 3 nights from next Friday"
- "What Quest properties in Sydney have a gym?"
- "Check availability at Quest Docklands for 15–18 March 2025 and give me the best rate"
- "Book a studio at Quest on William for 2 nights from March 20, name John Smith"
Sample Data
The server includes 27 real Quest Australia properties across:
| State | Count |
|---|---|
| VIC | 7 |
| NSW | 6 |
| QLD | 4 |
| ACT | 2 |
| WA | 3 |
| SA | 1 |
| NT | 1 |
| TAS | 1 |
| Regional | 2 |
Simulated Rate Plans
| Code | Description | Adjustment |
|---|---|---|
| FLEX | Flexible rate | +10% |
| STD | Standard rate | base |
| ADVP | Advance purchase (7d+) | −10% |
| CORP | Corporate rate | −15% |
| LONG7 | Weekly rate (7+ nights) | −15% |
Weekend surcharge: +20% on Fri/Sat/Sun nights.
Architecture Notes
- Transport: Streamable HTTP (stateless — required for Vercel serverless)
- Sessions: Disabled (
sessionIdGenerator: undefined) — each request is independent - CORS: Open (
*) — required for browser-based AI clients - Availability: Deterministic hash on
propertyId|date|roomType→ 75% available - Bookings: In-memory
Record<string, Booking>— resets on cold start
For a production implementation, replace the in-memory store with a database and connect to Quest's RMS API.
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.