
Hotelbooking Ai
io.github.RollingGo-AI由 GitHub 帳號 RollingGo-AI 發布v1.0.0更新於 Oct 24, 2026
RollingGo Hotel Booking MCP Server (Global/AI Edition)
概覽
讓助理搜尋全球超過兩百萬家飯店、比較即時房價,並取得房型價格與取消政策細節。
- 可以做什麼
- 提供三個工具:searchHotels 依地點、日期、星級、標籤與預算尋找飯店;getHotelDetail 回傳指定飯店的房型、動態價格、庫存與取消政策;getHotelSearchTags 列出可用於篩選的標籤名稱。結果包含飯店 ID、地址、座標、設施與訂房連結。
- 適用情境
- 適合需要真實飯店庫存與房價的旅遊規劃、商務差旅或比價助理,而非依賴模型靜態知識。當助理需要用目前房價與可訂選項回答飯店問題時,值得加入。
- 執行需求
- 需要一組 API 金鑰,透過 ROLLINGGO_API_KEY 提供,並以 Authorization Bearer 標頭送出;文件說明金鑰以 mcp_ 開頭。公開端點為遠端服務,README 也描述了在本機執行 Python 伺服器的方式。需要能連線至服務商的 API。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Hotelbooking Ai,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
RollingGo Hotel MCP — Hotel Search & Booking
[Version] [ModelScope] [MCP Version] [License: MIT] [Python 3.10+]
🏠 Apply Key · 🚀 Quick Start · 📚 Examples · 💬 Support · 🔍 Q&A · 💰Earn with RollingGo
This is an official MCP server empowers AI Agents to search, compare, and book over 2 Million hotels globally; this server bridges the gap between AI travel recommendations and real-world bookings.
- Transport Protocol:
streamable-http - Pricing: Completely free, no usage limits
- Access Method: Self-service following this documentation; suitable for rapid prototyping and tool development.
RollingGo 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 [email protected].
🌟 Why RollingGo Hotel MCP?
Traditional AI agents can only recommend hotels based on static training datasets. The RollingGo 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 — Fully API-native end-to-end.
✅ Global Hotel Network — 2,000,000+ properties covering 200+ countries/regions. 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.
Step 1: Get Your Developer API Key
- Go to the Partner Center and sign up for a free key.
- You will receive an email containing: Credentials for your B2B Partner Center dashboard (to monitor orders, configure markup, and track earnings).
Step 2: Connect to Your Agent
Recommended clients: Claude CLI, Codex, and Cursor. Other MCP-compatible clients (such as Kiro, Doubao, etc.) can be configured similarly.
Claude CLI
Create .mcp.json in your project root:
Or add directly via the command line:
Codex
Config file location: .codex/config.json in the project root, or globally at ~/.codex/config.json
Cursor
Config file location: .cursor/mcp.json in the project root, or globally at ~/.cursor/mcp.json
Replace
YOUR_API_KEYwith your actual API Key.
Test Directly with cURL
Note: cURL must include
-H "Accept: application/json, text/event-stream", otherwise the server will return a 400 error.
Step 3: Your First MCP Call
Once configured, simply tell your AI assistant:
"Find me a five-star hotel near the Shanghai Bund for a stay starting the day after tomorrow."
The AI will automatically call the searchHotels Tool and return a list of hotels.
Hotel Search Example
Step 4: View Results and Sample Data
Hotel Search Results (Real Data)
Searching for "Shanghai Bund five-star hotel", 2 nights, returns:
Expected Response JSON Example
🔧 Available Tools
Official Docs | RollingGo MCP Tools
The server registers 3 core tools to handle the complete search-to-book lifecycle:
1) searchHotels
Find hotels by location, date, price, star rating, and tags.
- Input Parameters:
originQuery(string, required): User's raw text request (e.g., "Find boutique hotels in Tokyo under $200").place(string, required): Specific destination, attraction, or airport name.placeType(string, required): Location type (city,airport,point_of_interest,hotel, etc.). Supported values:city,airport,point_of_interest,train_station,subway_station,hotel,district/county,detailed address.countryCode(string, optional): ISO 3166-1 alpha-2 country code, e.g.CN,US.size(number, optional, default:5): Number of hotels to return, max20.checkInParam(object, optional): Check-in related parameters.filterOptions(object, optional): Filter parameters.hotelTags(object, optional): Tag / brand / budget filters.
🔎 View Detailed Input Parameters (checkInParam, filterOptions, hotelTags)
checkInParam fields:
adultCount(number, optional, default:2): Adults per room.checkInDate(string, optional, format:YYYY-MM-DD): Check-in date. If omitted, in the past, or malformed, defaults to tomorrow.stayNights(number, optional, default:1): Number of nights (max 28).
filterOptions fields:
distanceInMeter(number, optional): Straight-line distance from POI in meters. Defaults to2000when a POI is used.starRatings(number[], optional): Star rating range, defaults to[0.0, 5.0], step0.5.
hotelTags fields:
requiredTags(string[], optional): Required tags (hard constraint).preferredBrands(string[], optional): Preferred brands.maxPricePerNight(number, optional): Max budget per night (CNY).
📄 View Response JSON Schema Example
Note:
priceis an object, not a number. Fields may be missing ornulldepending on city/supply source.
2) getHotelDetail
Fetch real-time room types, dynamic pricing, inventory, and cancellation policies for a selected hotel.
- Input Parameters:
hotelId(number, optional): Hotel ID. Mutually exclusive withname; if both are provided,hotelIdtakes priority.name(string, optional): Hotel name (fuzzy match).dateParam(object, optional): Check-in / check-out date parameters.occupancyParam(object, optional): Guest count and room count parameters.localeParam(object, optional): Country and currency parameters.
🔎 View Detailed Input Parameters (dateParam, occupancyParam, localeParam)
dateParam fields:
checkInDate(string, optional, format:YYYY-MM-DD): Check-in date. Defaults to tomorrow if empty, malformed, or in the past.checkOutDate(string, optional, format:YYYY-MM-DD): Check-out date. Defaults tocheckInDate + 1day if empty, malformed, or not after check-in.
occupancyParam fields:
adultCount(number, optional, default:2): Adults per room.childCount(number, optional, default:0): Children per room.childAgeDetails(number[], optional): Child ages, e.g.[3, 5].roomCount(number, optional, default:1): Number of rooms.
localeParam fields:
countryCode(string, optional, default:US): ISO 3166-1 alpha-2 country code.currency(string, optional, default:USD): Currency code.
📄 View Response JSON Schema Example
Note: On failure, the response may contain an error message (e.g. "Failed to fetch pricing, please retry later") or structured error fields. The
roomRatePlansarray 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
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
Example 2: With Tags and Budget Constraints
Example 3: Query Hotel Room Types and Pricing
💬 Q&A
Q&A
Q1: The client doesn't show the Tool after configuration
- Check if the JSON configuration format is correct
- Confirm that
urlandtypeare correct - Confirm that the API Key in the
Authorizationheader 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:
Q4: searchHotels returns empty results
- Check if
placeandplaceTypematch (e.g., "Shanghai Bund" should be paired with "Attraction") - Relax filter criteria (remove star rating / tag restrictions)
- Confirm that
checkInDateis 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.
💬 Support
- 📧 Email: [email protected]
- 🐛 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 RollingGo team.
🌟 RollingGo 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 [email protected].
What changed
Unchanged tools (4)
getHotelSearchTags— Get all enabled hotel filter tagssearchHotels— Search global hotel list by conditionsgetHotelDetail— Get available room types and pricing for a hotelhotelPriceConfirm— Lock real-time final retail price for selected room
Modified tools (2)
createHotelBookingWithPaymentURL— RemovedalipayUrlSceneparameter; unifiedbookingResult.paymentUrlto generic checkoutsearchHotelOrders— 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 byorderNo, includinghotelConfirmationNo, guest list, bed type, contact phones, coordinates, payment/cancellation deadlines, and policy flags
New fields
hotelConfirmationNo— Hotel-side real confirmation number for front-desk lookupstayInfo.bedTypeStr— Human-readable bed type description (e.g.,"1 King Bed (1.8m)")stayInfo.guestNames— Official pinyin/English guest name list for verificationpriceInfo.paymentDeadline— Payment deadline timestamp (YYYY-MM-DD HH:mm:ss) for countdown alertspolicyInfo.freeCancelDeadline— Free cancellation deadline timestamp for refund window checkspolicyInfo.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:
Method B: Standard Python Setup
The local server will run on http://localhost:8000/mcp, automatically forwarding requests to the secure RollingGo 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_. - Required header:
Authorization: Bearer mcp_your_key_here
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the RollingGo Team
來源:README.md,提交 7fc8322
工具
0版本歷史
1- v1.0.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分