About hotelbooking-ai
Dida Hotel MCP is an official hotel search and booking MCP server from DIDA, covering over 2 million hotels worldwide. It is intended for developers and product teams adding hotel lookup and booking to AI agents. The service uses streamable-http transport with Bearer token authentication.
Key features
- 01Three core tools for search, details and filter tags
- 02Live room rates and bookable inventory
- 03Filtering by location, dates, star rating and tags
- 04Streamable-http transport with Bearer token authentication
- 05Configuration examples for Claude CLI, Cursor and Codex
Use cases
- 01Searching and comparing hotels within an AI assistant conversation
- 02Adding hotel booking to travel planning or business travel agents
- 03Testing end-to-end AI agent booking flows in prototypes
MCP support
This project is a remote MCP server that exposes three tools, searchHotels, getHotelDetail and getHotelSearchTags, to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @didaai/hotelbooking-aiDIDA_API_KEYSecretDida Hotel API KeyLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| size | number | No | Number of results to return, integer, 1~20. Defaults to 10. |
| place | string | Yes | A single geocodeable location text defining the search scope, e.g. "Beijing", "Shanghai Pudong International Airport", "Tokyo Disneyland", "No. 19 Sanlitun Road, Chaoyang District, Beijing". |
| hotelTags | object | No | Structured tag filters for price, brands, and specific amenities. |
| hotelTags.requiredTags | array | No | Required tags/amenities that must be present (hard constraint). |
| hotelTags.preferredBrands | array | No | Preferred hotel brands. |
| hotelTags.maxPricePerNight | number | No | Maximum price per night in RMB (e.g. 500). |
| placeType | string | Yes | Location type. Allowed values: `city`, `airport`, `point_of_interest`, `train_station`, `subway_station`, `hotel`, `district/county`, `detailed address`. Must be semantically consistent with `place`. |
| countryCode | string | No | ISO 3166-1 alpha-2 country code for currency/locale preference, e.g. US, GB, JP. |
| originQuery | string | Yes | The user's original natural-language query (verbatim), used for semantic understanding and ranking. |
| checkInParam | object | No | Check-in parameters. Fields: adultCount (integer, >=1, default 2); checkInDate (string YYYY-MM-DD, future date); stayNights (integer, 1~28, default 1). |
| checkInParam.adultCount | number | No | |
| checkInParam.stayNights | number | No | |
| checkInParam.checkInDate | string | No | |
| filterOptions | object | No | Optional filters. Fields: distanceInMeter (integer, >0, only for POI); starRatings (array [min, max], 0.0~5.0 step 0.5). |
| filterOptions.starRatings | array | No | |
| filterOptions.distanceInMeter | number | No |
Details
The maintainer has not added details yet. Check the README in the repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.