io.github.DIDA-AI/hotelbooking-ai — Hotel Booking MCP Server (Global/AI Edition)
The io.github.DIDA-AI/hotelbooking-ai Model Context Protocol (MCP) server provides hotel booking capabilities, presented as a “Global/AI Edition.” The server is identified by the slug io-github-dida-ai-hotelbooking-ai and described as a Hotel Booking MCP Server.
🛠️ Key Features
Server name: io.github.DIDA-AI/hotelbooking-ai
Description: Hotel Booking MCP Server (Global/AI Edition)
🚀 Use Cases
Hotel booking workflows via MCP
⚡ Developer Benefits
Clear server identification for integration discovery (slug and name)
⚠️ Limitations
No tool count, topics, or detailed behavior/readme excerpt provided in the source data.
This is an official MCP server empowers AI Agents to search, compare, and book over 2 Million hotels globally. Powered by DIDA (Asia's #1 and world's #3 B2B travel platform), this server bridges the gap between AI travel recommendations and real-world bookings.
Service
Endpoint
Available Tools
Authentication
Hotel MCP
https://mcp.rollinggo.ai/mcp
searchHotels, getHotelDetail, getHotelSearchTags
Authorization: Bearer <YOUR_API_KEY>
Transport Protocol: streamable-http
Pricing: Completely free, no usage limits
Access Method: Self-service following this documentation; suitable for rapid prototyping and tool development.
Dida MCP also offers an OAuth 2.0 Authorization Code flow, providing 7 tools including getHotelSearchTags, searchHotels, getHotelDetail, hotelPriceConfirm, searchHotelOrders, and more. This mode is designed for deep integration with enterprise-grade production applications and requires a business contact via contact@rollinggo.ai.
For Chinese users or workflows primarily targeting the mainland China market and Alipay payment systems, please refer to this version: Dida-hotel-MCP-CN
🌟 Why DIDA Hotel MCP?
Traditional AI agents can only recommend hotels based on static training datasets. The DIDA Hotel MCP equips your LLM agent with direct, real-time transactional capabilities:
✅ Live Rates & Bookable Inventory — Zero-latency price verification; every result is instantly bookable.
✅ Supply Chain — The world's Top 3 travel B2B platform, 14 years in the making, fully API-native end-to-end.
✅ Global Hotel Network — 2,000,000+ properties across every major destination. 500+ suppliers covering every tier, from luxury chains to local boutiques.
✅ Direct Contracts — 110,000+ directly connected hotels with live price and inventory sync.
✅ Price Edge at Source — Priced upstream of OTAs; sharp rates on hot spots.
✅ Agent-Ready — Works with 40+ leading agents: Cursor, Claude Code, Codex, Windsurf, Copilot, and more.
✅ Earn your Revenue on Every MCP Call — Set country-specific markups, earn commission on every completed booking, and track your orders, earnings, and payouts in real time. Flexible withdrawals for both businesses and individual developers.
🎯 Who is it for
• Companies or individual developers building AI Agents
• Developers looking to integrate hotel booking capabilities into MCP Clients
• Developers building travel planning, business travel management, OTA, and lifestyle service agents
• Product teams seeking to validate AI Agent commercial transaction loops
• Individuals with needs for hotel search, price comparison, and price drop alerts******
🎯 Use Cases
General-Purpose Agents: Equip any AI agent with native hotel booking. Users can compare, filter, and book—all within a single natural-language conversation.
AI Travel Planners: Integrate hotel searching directly into natural language itineraries.
Corporate Travel Assistants: Allow employees to query, compare, and book business travel within Slack, Teams, or custom chat interfaces.
Transactional Demos: Validate end-to-end AI agent commerce and payment flows without heavy backend integration.
🚀 Quick Start
Integrate global hotel search and booking into your AI assistant in under 5 minutes with no coding required.
{"success":true,"errorMessage":null,"hotelId":43615,"bookingUrl":"https://rollinggo.ai/pages/hotel/detail/index?...","name":"Sunworld Dynasty Hotel Beijing","checkIn":"2026-03-05","checkOut":"2026-03-06","roomRatePlans":[{"roomTypeId":4984714,"roomName":"Superior Room","roomNameCn":"高级客房","ratePlanId":"7012072001634754626","ratePlanName":"Superior Room King Bed, 1 King Bed","bedType":73,"bedTypeDescription":"Unknown","currency":"CNY","totalPrice":0,"totalSalesRate":null,"inventoryCount":null,"isOnRequest":null,"recommendIndex":null,"cancellationPolicies":[{"fromDate":"2026-03-02T10:00:00+08:00","toDate":null,"amount":634,"percent":null,"type":null,"description":null}],"includedFees":null,"excludedFees":null,"metadata":null}]}
Note: On failure, the response may contain an error message (e.g. "Failed to fetch pricing, please retry later") or structured error fields. The roomRatePlans array can be long — consider paginating or limiting display on the client side.
3) getHotelSearchTags
Retrieve metadata containing all filterable tag names (e.g., "Free WiFi", "Gym", "Kid-Friendly") to refine search filtering. Suitable for local caching and client-side intent mapping.
📄 View Response JSON Schema Example
json
{"tags":[{"name":"Free WiFi","category":"Core Amenities","description":"Provides free WiFi"}],"usageGuide":{"tagUsage":"Place tag names into hotelTags.preferredTags (preference), requiredTags (hard requirement), or excludedTags (exclusion)","exampleRequest":"{...}"}}
Common tag categories:
Brand & Ratings
Specialty Highlights
Core Amenities
Family & Kids
Service Details
Service & Dining
Transportation & Payment
Views & Room Types
Hotel Type
Pricing
📚 Usage Examples
Example 1: City Search
json
{"originQuery":"Find 4-star+ hotels in Beijing for 2 nights","place":"Beijing","placeType":"city","checkInParam":{"checkInDate":"2026-03-01","stayNights":2},"filterOptions":{"starRatings":[4.0,5.0]},"size":5}
Example 2: With Tags and Budget Constraints
json
{"originQuery":"Find quality hotels in Beijing with free WiFi, budget under 1000 per night","place":"Beijing","placeType":"city","hotelTags":{"requiredTags":["Free WiFi"],"maxPricePerNight":1000},"size":5}
Q1: The client doesn't show the Tool after configuration
Check if the JSON configuration format is correct
Confirm that url and type are correct
Confirm that the API Key in the Authorization header is correct
Restart the client (changes only take effect after restart)
Q2: Returns 401 Unauthorized
Invalid or incorrectly formatted API Key:
The API Key should start with mcp_
In Authorization: Bearer YOUR_API_KEY, there must be a space after Bearer
Make sure there are no extra spaces or line breaks in the API Key
Q3: Returns 400 Bad Request
Common when calling directly with cURL. Check that the Accept header is included:
bash
-H "Accept: application/json, text/event-stream"
Q4: searchHotels returns empty results
Check if place and placeType match (e.g., "Shanghai Bund" should be paired with "Attraction")
Relax filter criteria (remove star rating / tag restrictions)
Confirm that checkInDate is not in the past
Q5: Prices don't match actual rates
Search results show reference prices; real-time prices may vary. Currently, only queries are supported — online booking is not yet available.
🐛 Issues: Submit issues or feature requests on GitHub Issues.
💬 Discord Community: Join our Discord Server or scan the QR code below to connect with other developers, discuss integrations, and get real-time support from the DIDA team.
Discord Support
🌟 Dida Hotel MCP (OAuth) v2.3 Major Update
v2.3 optimizes the order query structure and adds multiple order detail fields to help Agents better handle check-in, payment, and cancellation scenarios. Note: This update applies to the OAuth integration version only, not the API Key version documented herein. The OAuth version requires business onboarding contact@rollinggo.ai.
What changed
Unchanged tools (4)
getHotelSearchTags — Get all enabled hotel filter tags
searchHotels — Search global hotel list by conditions
getHotelDetail — Get available room types and pricing for a hotel
hotelPriceConfirm — Lock real-time final retail price for selected room
Modified tools (2)
createHotelBookingWithPaymentURL — Removed alipayUrlScene parameter; unified bookingResult.paymentUrl to generic checkout
searchHotelOrders — Output simplified to 9 core fields (orderNo, hotelName, roomName, orderStatus, totalPrice, etc.) for list view; full detail moved to dedicated tool
New tools (1)
getHotelOrderDetail — Query full structured order details by orderNo, including hotelConfirmationNo, guest list, bed type, contact phones, coordinates, payment/cancellation deadlines, and policy flags
New fields
hotelConfirmationNo — Hotel-side real confirmation number for front-desk lookup
stayInfo.bedTypeStr — Human-readable bed type description (e.g., "1 King Bed (1.8m)")
stayInfo.guestNames — Official pinyin/English guest name list for verification
priceInfo.paymentDeadline — Payment deadline timestamp (YYYY-MM-DD HH:mm:ss) for countdown alerts
policyInfo.freeCancelDeadline — Free cancellation deadline timestamp for refund window checks
policyInfo.isCancelable — Whether free cancellation is still available at the current moment
Tool count: 7 total (up from 6 in v2.2) — 1 new, 2 modified, 4 unchanged.
Appendix
🔣 If you want local deployment
Method A: Run via uv (Recommended - Zero Config Setup)
If you have uv installed, run the server instantly:
bash
uv run --with-requirements requirements.txt server.py
Method B: Standard Python Setup
bash
# Clone the repository
git clone https://github.com/DIDA-AI/dida_hotel_mcp_global.git
cd dida_hotel_mcp_global
# Setup virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate# Install dependencies and run
pip install -r requirements.txt
python server.py
The local server will run on http://localhost:8000/mcp, automatically forwarding requests to the secure DIDA global API nodes.
🔑 Security & Headers
The local server forwards requests to the secure DIDA global API.
Always supply your API Key in the headers. Keys must start with mcp_.