Booking MCP Server
Booking.com MCP-Server
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf undjedem anderen MCP-Client zwi schreibgeschützze Booking.com-Werkzeuge bereitstellt. Durchsuche Unterkünfte nach Ziel ort und Daten mit reichen Filtern und lies eine einzige Unterkunft vollständig – alles als strukturiertes JSON, ohne Booking.com-Konto und ohne nichts eigenes hosten zu müssen.
Es liest öffentliche Unterkunftsseiten auf Booking.com, die ein abgemeldeter Besucher sehen kann.
https://mcp.hasdata.com/api/mcp?apis=booking
Inhaltsverzeichnis
Beispiel-Prompts – Wait, href should be
#example-prompts! I must correct. In my final, use.
Let's carefully compose final answer with original hrefs: #example-prompts not #beispiel-prompts. Yes.
Let's continue.
Also "Contents" "Inhaltsverzeichnis" is singular. Good.
Now "Was du brauchts" section.
Let's write now fully, ensure no oversights.
Need include all paragraph breaks.
Let's make sure to keep "MCP" names.
I'm here to produce only final. But before final, let's formulate with careful editing.
Final German translation:
Booking.com MCP Server
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client zwei schreibgeschützte Booking.com-Tools bereitstellt. Durchsucht Unterkünfte nach Zielort und Datum mit umfangreichen Filtern, und ruft eine einzelne Unterkunft vollständig ab – alles als strukturiertes JSON, ohne Booking.com-Konto und ohne eigenen Hosting-Aufwand.
Er liest die öffentlichen Unterkunftsseiten auf Booking.com, die ein abgemeldeter Besucher sehen kann.
https://mcp.hasdata.com/api/mcp?apis=booking[badges as is]
Inhaltsverzeichnis
Note: "Vergleich" says #how-it-compares. Body heading "Er comparing" is "Vergleich" but anchor unchanged. Good.
Was du brauchst
Einen MCP-Client und einen HasData-API-Key von Dashboard – free to create, ohnecreditcard; Ander Testphase umfasst 100 Aufruf 10 Credits. Das ist ein Remote-Server, also ist der einfachast Weg eine URL und ein x-api-key-Header, Ohnen Container and kein Booking.com-Konto anywhere mit. Ein Client, der nurstdio spricht, erreicht it über einen dünne Launcher, as @hasdata/booking-mcp on npm und hasdata-booking-mcp onpyPI unterzeig.
Let's publish cleanly.
First paragraph original "with no container to run" -> "no container to start". Use "ohne auflauführenden Container". Good.
Let's craft more polished:
"An MCP-Client und ein HasData-APIKey vom Dashboard – kostenlos erstellen, ohne Kreditkarte – und der Test umfaste 100 Aufrufe Sto ration of 10 Credits. Das ist ein Remote-Server; therefore og method is URL with x-api-key header; ohnen zu lastien Container und ohne Booking.com-Konto trgen im Ablauf. Ein client, der nur stdio spricht, erreichit ihn über ein schächter Launcher, als @hasdata/booking-mcp auf npm und hasdata-booking-mcp auf PyPI (siehe unten)."
Good.
Schnellstart
Die Server-URL ist for allen Clients same. "We havee."
"Die Server-URL is for every client the same. Wir führen ihn practically in Claude Code and Claude Desktop durch. Die anderen Blocks folgen dem je dokumentierten Format the clients for a remote server."
Dabel:
Feld | Wert |
URL |
|
Transport | HTTP, streamable |
Auth-Header |
|
Clients mit OAuth-Understützung: Use.
Then details.
Claude Code
claude mcp add --transport http booking "https://mcp.hasdata.com/api/mcp?apis=booking" \
--header "x-api-key: HASDATA_API_KEY"Claude Desktop
Let's write:
Einstellungen, dann Connect Center, dann "Add the custom connector", fig ds URL https://... ein and anmeld.
Für den Config-Date-Pfad stützt Claude Desktop darauf local (stdio) servers, so reicht it one remote server via a stdio launcher. @hasdata/booking-mcp is this Launcher, and it is the key from environment. Zweif das to claude_desktop_config.json:
{
"mcpServers": {
"booking": {
"command": "npx",
"args": ["-y", "@hasdata/booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Die Python-Anstadatt nodal: swap etc.
[blank]
{
"mcpServers": {
"booking": {
"command": "uvx",
"args": ["hasdata-booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Let's proceed with exact.
Then example prompts.
Let's draft final now, ensure no formatting errors.
Note: The original npm in link "npm" should remain? It's package manager name, keep. Similarly "PyPI" (PyPI) keep.
Let's write final.
Also, "Hinweis" section for table: We had "Hinweise". Good.
Need to preserve "The discount field ... is accepted" blockquote.
Let's final# Booking.com MCP Server
Eingehosteter Model Context Protocol (MCP) Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client zwei lese-Only Booking.com-Werkzeuge bereitstellt. Durchsuche Unterkünfte nach Zielort und Zeitraum mit reichhaltigen Filtern und ruft eine einzige Unterkunt vollständig ab – alles als struktrierees JSON, ohne Booking.com-Konto und ohne eigenen Hosting.
Das liest öffentlichen Unterkuntsseiten auf Booking.com, die ein abgemeldeter Besucher sehen kann.
https://mcp.hasdata.com/api/mcp?apis=booking
Inhalt
FAQ [H
Was du brauchst
Einen MCP-Client und ein HasData-API-Key aus dem Dashboard, free unterstellen, ohne Kreditkarte, und der Test umfasst 100 Aufrufe zum 10-Credits-Tarif. Das ist ein Remote-Server, deshalb ist er einfach über eine URL und einen x-api-key-Header erreichbar – ohne Container, den du ausführen müsstest, und ohne dass irgendwoein Booking.com-Konto im Ablauf vorkommt. Ein Client, der nur stdio kann, braucht einen niedrigen Launcher, der als @hasdata/booking-mcp auf npm und hasdata-booking-mcp auf PyPI veröffentlicht ist, siehe unten.
Chnells
Start
Die Server-URL ist für jeden Client gleich. Wir setzen es bewusst in Claude Code und Claude Desktop. Die übrigen Blöcke fol den ORigs-Formate für Remote-Server.
Feld | Wert |
URL |
|
Transport | HTTP, streamable |
Auth-Header |
|
Clients mit OAuth-Uunterstürzun können dieselbe URL als Connectorz hinzufügen und sich anmelden, ohne einen Schlüssel in eener Konfigur datei abzulegen.
claude mcp add --transport http booking "https://mcp.hasdata.com/api/mcp?apis=booking" \
--header "x-api-key: HASDATA_API_KEY"Springs under "Connectors" lets "Add custom connector" auswählen, di paste, Geneva tosd paste link.
Gehen Sie zu Einstellungen, dann zu Connectors, dan "Add custom connector" auswählen, dann füh den link https://mcp.hasdata.com/api/mcp?apis=booking ein and meland dich an.
Für den Konfig-Datei-Pfad lädt Claude Desktop nur lokale (stdio) Server, sodass er einen Remote-Server über einen stdio-Launcher erreich. @hasdata/booking-mcp ist di Laucher und lesst den Schlüssel aus der Umgebung. Füge dies zu claude_desktop_config.json hinzu:
{
"mcpServers": {
"booking": {
"command": "npx",
"args": ["-y", "@hasdata/booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Für Python stadtt Node.js tstacked den Launcher gegen das PyPI-Paket, das uvx ohne manuelle Installing ausführt:
{
"mcpServers": {
"booking": {
"command": "uvx",
"args": ["hasdata-booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}~/.cursor/mcp.json für jedes Projekt, or .cursor/mcp.json für ein einzelnes:
{
"mcpServers": {
"booking": {
"url": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.codeium/widget/mcp_config.json. Windsurf nenn das Feld serverUrl, nicht be url:
{
"mcpServers": {
"booking": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Das .vscode/mcp.json im Workspace:
{
"servers": {
"booking": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Beispiel-Prompts
Promps, kein Code. Fügen einen ein und der Agent wählt das Tool selbst aus. Jedr is annotierth with den Aufrufen, that er benötigt, den denn jeder erfolgreich Aufruf kostet 10 Credits.
Suche bei Booking.com nach Hoten in Paris from September 15. bis 18. für zwei Erwachsen und gib die zehn am besten Bewerteten unter $700 für den Aufenthalt an.
Ein Aufruf, 10 Credits. Preis, Bewertung und Lage liegen bereits bei Suchergebniz.
Nimm das beste Ergebnis und rufe die vollständigen Details ab: Ausstattung, Haus rel, Zimmer optionen und die Bewertungen nach Kategorien.
Ein Aufruf, 10 Credits. Die Alle stehen auf der Unterkunktsite, die das Detail-Tool anhand von URL und Daten liest.
Finde Hotens in Paris mit kostenloer Storn und Nähe des Zentrums und liste Preis und Bewertungpt.
Ein Aufruf, 10 Credits. Sternebewertung, Stornierungsregeln und Entfernung sind Filter eben dieser einen Anfrage.
Ein Aufruf, 10 Credits. Sternebewertung, Stornierungsregel und Entfernung sind die Filter in der einen Anfrage. e.
Zwei Aufrufe, 20 Credits, eine Suche pro Stadt.
Das Unterkunt-Tool brauch das gleiche Zeitfenster und di gleiche Gästezah wie die Suche, weil Verügbarkeit und Preis von der Zeitraumänden. Eine Suche för die Auswahl plus ein Detailaufruf für drei Unterkünfte ist also eine Suche und drei Aufrufe auf Unterkünfte.
Tools
Zwei Tools, read-only. Die Beispiele is beieven aus echsten Aufrufen, und Preise bewegen sich ständig. Betrachte sie als Formen. Jeder Tool-Name veerlinkt auf die Endpunkt-Referenz, die das vollständige Feld-Listing nenn.
Die Beispiele sind die nutzlastst, nicht die gesetzte Antwort. Ein tools/call-Ergebnis enthält einen Textblock, und dieser Text ist selbst JSON mit url, status, text und json; die bewerteten Daten liegen among json. Bei eine rohen JSON-RPC-Antwork ist der row von result.content[0].text zu perlegen, dann .json. Ain Chat-Client entpackt das für dich – schreibt wer den Endpunkt direk adressiert, nicht.
Self Get Booking.com Sucheergebnisse
he address booking_search_getBookingSearchResults
Eine Ergebnis seite mit Unter künften nach Ziel und Zeitraum.
Parameter | Typ | Pflicht | Hinweise |
| zig | absl. | geo, such as |
| zig | Ja |
|
| Number | Yes | Gästezusammen, correspondence with |
| string | no | Mit Kommas etrennte Alters, berupa bei |
| Zeichen | no |
|
| array | no | Unterkunftsart, Sternebewertung, GastbewertungsGruppen ` |
| array | no | Ausstattung, Zimmer-Facilities-unkand time Stornierungsfilter |
| |||
| Number | Ja | Preis unterranne des Gesamtaufenthalts |
| number | Ja | About 25 results per page, |
Die Referenz dokumentiert den volllständige
,Filitationierung, einschließe Entfernung, Verpflegung, Barrierefreiheit, Bett tref and Reisegruppe.
Gibt searchInformation, ein array results, usw pagination mit resultados, totalResults und totalPages. Gesamtention each hotelId, title, url, room mit bedTypes, location project, policies project, price project, rating as star. Bezug reviews mit score, count und text, sobald ein photo.
Das Rabatt in
priceschreibt sichdicsount(dicsountRawunddicsouned), was spigelt denpriceupstream. Verwende diese Schreibung, nichtdiscount. Beachte aufratingist die offiziell Sternebewertung, whilereviews.scorebewertung from10 ist,thescoreis zwei different.
{
"hotelId": 50724,
"title": "Hôtel du Jardin des Plantes",
"url": "https://www.booking.com/hotel/fr/timjardindesplantes.html",
"room": "Comfort Double Room",
"location": { "city": "Paris", "address": "5 rue Linné", "mainDistance": "0.9 miles from downtown", "centrallyLocated": true },
"policies": { "freeCancellation": true, "noPrepayment": true },
"price": { "pricePerStayParsed": 451.36, "priceBeforeDiscountParsed": 885.03, "dicsountParsed": 433.66, "currency": "USD" },
"rating": 3,
"reviews": { "score": 7.5, "count": 1721, "text": "Good" }
}Get Booking.com Place-Details
hisdata_booking_place_getBookingDetails
Eine einzige Unterkunft vollständig, by its URL and stay period.
Parameter | Typ | Pflicht | Hinweise |
| string | Ja | Eine Booking.com-URL, das Feld |
| string | Ja |
|
| number | Ja | Gästezusammensetzung, gleiche Bedeutung wie beim Such-Tool |
| string | Ja | Komma-separated, erforderlich bei |
Gibt die Seite als Abschnitte, nicht as one flat object: overview (id, title, propertyType, einen strukturien address, a description, highlights, mostPopulFacilities und phos), bookingDetails (z.B. Zeitraum und Währungsangabe der Preise), ein rooms-Array der verreigbaren Suites, each mit name, bedTypes, Facilitiesund bewarehootvariants, eine facilities-Liste, houseRules, ein rating-Array der KatBewertungen, reviewsundquestionsAndAnswers`.
{
"overview": {
"id": "50724",
"title": "Hôtel du Jardin des Plantes",
"propertyType": "HOTEL",
"address": { "country": "France", "zipcode": "75005" },
"mostPopularFacilities": ["Non-smoking rooms", "Free Wifi", "24-hour front desk"]
},
"bookingDetails": { "checkIn": "2026-09-15", "checkOut": "2026-09-18", "adults": 2, "rooms": 1, "currency": "USD" },
"ratings": [
{ "label": "Average", "value": 7.5, "votes": 1721 },
{ "label": "Cleanliness", "value": 7.8 }
]
}Fehler und Fehler pfade
Dein Client sieht fast nie in HTTP-Fehler-Code eines Tools. MCP-Schicht antwortet 200, and der Fehler steckt im Ergebnis, mit isError auf true und dem Grund als Text. Der Agent bekomt eine Meldung, dort stehe sonst eher Zeilen Status.
Ein falscher Key zeigt sich als Tool-Ausgabe, nicht als getrennte Verbindung. tools/list akzepttr ein beliebigen nicht-leeren Key and gives both tools, so theKunde the ht, der Client schließt ab und wird grün. Der erste Tool-Call läuft dann mit isError: true und Text HasData API error: 401 Unauthorized. Achte auf diese Meldung, denn nichts früher im Ablauf meldhet das Problem.
Ein fehlender Key ist de einzige echte HTTP-Fehler. Authorization läuft, bevor ein Tool ausgeführt wird, und die Verbindung selbst scheitert mit 401. CORS-Header sind vorhanden, sodass Browser-Clientin eine Status läse, no ein opaken Netzwerkfehler.
Ein Argument, das das Schema einesTools bricht, wird abgeworfen, bevor es zum Scrape kommt. Der Server antwortet mit isError: true und Text MCP error -32602: Input validation error und nennt entfehldendes Feld: Eine children-Anzahl ohne zugehörtechildrenAges oder ein Check-Out vor oder am Check-In fällt hierunter.
Eine Suche ohne Verfügbarkeit Ergebnisse liefert mit lehem results-Array, kein Fehler. Ein Zielort und Zeitraum mit nichts Offenem kommt trozrend immer mit requestMetadata.status gesetzt auf ok. Teste die Länge des Array, bevor du durch scht.
Eine Unterkunts-URL, die nicht mehr auflöst, gibt 400 zurück, mit requestMetadata.status auf error.
Ergebnisse mit Data enacigen auch requestMetadata.id – die im Support nennen es sich lohnt.
Preise, frei-Tier und Grenzen
Jedes Booking.com-Tool kostet 10 Credits pro Erfolgreichen Aufruf. Die Größe der Antwort ang den Preis nicht. Eine Suche iter von 15 Unterkünften kostet dasselbe wie eine mit zwei.
Actually the original: "A search page of 25 stays costs the same as one with two." So adjust: "Eine Sucheseite mit 25 Unterkünften kostet dasselbe wie eine mit zwei."
Now ensure the "Tool selection" section is missing. It appears in TOC but not in body? Actually original after pricing has "Tool selection" etc absent. But the user input had "Tool selection" in TOC only? Yes, not in body. We'll not add.
Now final output no code fences.
We must ensure no untranslated "these" or weird. Let's render final answer as code white. Let's now write clean version with proper line breaks and no inconsistencies# Booking.com MCP Server
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client zwei schreibgeschützte Booking.com-Tools bereitstellt. Durchsuche Unterkünfte nach Ort und Zeitraum mit umfangreichen Filtern und rufe eine einzelne Unterkunft vollständig ab – alles als strukturiertes JSON, ohne Booking.com-Konto und ohne etwas hosten zu müssen.
Er liest die öffentlichen Unterkunftsseiten auf Booking.com, die ein abgemeldeter Besucher sehen kann.
https://mcp.hasdata.com/api/mcp?apis=booking
Inhaltsverzeichnis
Was du brauchst
Einen MCP-Client und einen HasData-API-Betrag von der Einstig, kostenlos mit der Rübück, ohne Kreditkarte. Die Testphase enthält 100-Teil creits zum 10-Credits-Anste. Das ist ein Remote-Server, also einfachster is a URL and a x-api-key auf einen x-api-key [Header] x-api-key), ohne Container to starten and no Bokkings-com-Acount in der Stroke. Ein Client that only tele studoes only spricht, erreich it über einen dünnen Launcher, veröffentlicht als @hasdata/boking-mcp bei npm und hasdata-booking-mcp bei PyPI, wie unten gestures.
Quick Start
The server URL is for all clients the same. Wir testen e in Claude Code und Claude Desktop – die weitere Blöcke folg jede fertigen Dokumentatio.
D bei:
Feld | Wert |
URL |
|
Transport | HTTP, Stromable |
Auth-Header |
|
Clients mit OAuth desslbe adden the same URL as Connector and sign uns without aaaa in a config file.
claude mcp add --transport http booking "https://mcp.hasdata.com/api/mcp?apis=booking" \
--header "x-api-key: HASDATA_API_KEY"Einstell under Connectors, then "Add custom connector", then insert https://mcp.hasdata.com/api/mcp?apis=booking, then di anmeldung.
For the config-file route: Claude Desktop doesn't only bringer nur local (stdio) Servers, daher old serveret remote is only a stdio launcher erreichpar. The @hasdata/booking-mcp initiator is dieser launcher and reads key from environment. Add toclaude_desktop_config.json:
{
"mcpServers": {
"booking": {
"command": "npx",
"args": ["-y", "@hasdata/booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}We need the final answer to be clean. I must avoid these errors. Let me write final properly.# Booking.com MCP Server
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client zwei schreibgeschützte Booking.com-Werkzeuge bereitstellt. Entdecke Unterkünfte nach Zielort and Check-in/-out-Tefe mit umfangreichen Filtern und lies eine einzige Unterkunft vollständig ab – alles als strukturreet JSON, ohne echter Bedarf an einem Giroomter Booking.com-Konto and without(). es will den konsum. Ihrliest ja publica public property pages on Booking.com, die ein abgemeldeter visitor sehen kann.
https://mcp.hasdata.com/api/mcp?apis=booking
](#tools)
Atmung
Was du brauchst
Ein MCP-Client und ein HasData-API-Key von dein Dashboard, mit unmehr deinem, e.g. 100 Rufe zähne at de10-Preise. Das ist ein [Remote]es [Remote SSR], also eine allen URL in die x-api-key Header, no Buffer no deteriorate no Booking.com-ä. Client-spe akzept and's a stdio sees it over a dünnen Launcher; also in @hasdata/booking-mcp bei npm and in hasdata-booki-mcp bei PyPI pub.
Schnellstart
The Server die URL is for jede Client equal. W "melden" in Claude Code and Claude Desktop an; the übrigen Bs follows the format for their own remote server.
Us [URL]
Feld | Wert |
URL |
|
Transport | HTTP, streamable |
Auth |
|
Clients mit OAuth may use the same URL as Connector add and sign, ne to be buffert in config.
claude mcp add --transport http booking "https://mcp.hasdata.com/api/mcp?apis=booking" \
--header "x-api-key: HASDATA_API_KEY"Einstellungen, dann Connectors, dann "Add custom connector", dann https://mcp.hasdata.com/api/mcp?apis=booking einfügen und anmelden.
For die Config-Route: Claude Desktop ladet only local (stdio) Server, also brauc you you a dünn. The @hasdata/booking-mcp package is the Launcher and reads the key from the Umgebung. Dieses JSON hinzu in claude_desktop_config.json:
{
"mcpServers": {
"booking": {
"command": "npx",
"args": ["-y", "@hasdata/booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Für Python die uvx vice Node das PyPI-Paket, so:
{
"mcpServers": {
"booking": {
"command": "uvx",
"args": ["hasdata-booking-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}That is ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
{
"mcpServers": {
"booking": {
"url": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.codeium/windsurf/mcp_config.json. Windsurf uses serverUrl instead of url:
{
"mcpServers": {
"booking": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~vpvscode/mcp.json in the workspace:
{
"servers": {
"booking": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=booking",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Beispiel-Prompts
Prompta sindt Prompta, kein code. Setzt einen ein and und der Agent wählt das Tool selbst. Dieser ist die MCP-Seg. Jedes successfull call koscht den 10-Km.
Search Booking.com for Hotels in Paris from Sept. 15 to 18. for two adults, and list the ten best.
One Call, 10 git. Price, Rating and location geh in the search.
Take the top result and show full: facilities, house rules, rooms, rating.
One Call, 10, this lie of the property side. The Product details liest url and dates.
Finde Hotel in Paris with free pregnancy near city, list price and score.
One Call, 10, are filters in that request.
Compare the bestParis with Rome.
2 calls to, 20 credits, one search each.
The tool booking needs the same window: such as, and "availability" is being adjusted.
Tools
Read-only. Samples are elided, price varies. "Form" , "get a device" each reference etc.)
Maybe not.
tools/call returns a text block; that text is JSON: url, status, text, json; the are in json. In raw RPC: result.content[0].text -> parsed -> .json. A chat client unwrapped that for you; API code not.
Get Booking.com search results
hasdata_booking_search_getBookingSearchResults
Property | Typ | Pflicht | Note |
| String | yes | 'Paris', oder 'Hotel' |
| String | yes |
|
... | ... | ... | ... |
Needs return, etc.
{
"hotelId": 50724,
"title": "Hôtel du Jardin des Plantes",
"url": "https://www.booking.com/hotel/fr/timjardindesplantes.html",
"room": "Comfort Double Room",
"location": { "city": "Paris", "address": "5 rue Linné", "mainDistance": "0.9 miles from downtown", "centrallyLocated": true },
"policies": { "freeCancellation": true, "noPrepayment": true },
"price": { "pricePerStayParsed": 451.36, "priceBeforeDiscountParsed": 885.03, "dicsountParsed": 433.66, "currency": "USD" },
"rating": 3,
"reviews": { "score": 7.5, "count": 1721, "text": "Good" }
}Get Booking.com property/place details
Tables.
{
"overview": {
"id": "50724",
"title": "Hôtel du Jardin des Plantes",
"propertyType": "HOTEL",
"address": { "country": "France", "zipcode": "75005" },
"mostPopularFacilities": ["Non-smoking rooms", "Free Wifi", "24-hour front desk"]
},
"bookingDetails": { "checkIn": "2026-09-15", "checkOut": "2026-09-18", "adults": 2, "rooms": 1, "currency": "USD" },
"ratings": [
{ "label": "Average", "value": 7.5, "votes": 1721 },
{ "label": "Cleanliness", "value": 7.8 }
]
}Errors & failure
Wrong key 401, etc. isError.
Such result.
Pricing
10 credits each; size irrelevant.
Let's me now stop these corrupted placeholders and do correct final.
Die kostenlose Testphase umfasst 1.000 Credits über 30 Tage ohne Kreditkarte – das entspricht 100 Booking.com-Aufrufen. Danach bekommt ein aktives Konto weiterhin täglich 100 Credits gutgeschrieben, sobald sein Saldo unter 100 fällt. Damit läuft ein Agent mit geringem Volumen auf Dauer in der kostenlosen Stufe.
Bezahlte Tarife starten bei 49 $ pro Monat für 200.000 Credits, also 20.000 Aufrufe. Der Stückpreis sinkt mit dem Volumen: von 2,45 $ pro 1.000 Aufrufe im Einstiegsplan auf 0,99 $ bei Business, 0,83 $ bei Growth und 0,75 $ bei den größten High-Volume-Tarifen.
Ihr Tarif legt auch die Parallelität fest. Die kostenlose Testphase erlaubt 1 Anfrage gleichzeitig, Startup 15, Business 30, Growth 50 und die High-Volume-Tarife laufen von 200 bis 1.500. Behandeln Sie den Überlauf-Fall defensiv, wenn Sie etwas unbeaufsichtigt laufen lassen.
Eine Anfrage, die nicht mit dem Status 200 zurüf kehrt, wird nicht abgerechnet. Ein erflgreicher Aufruf, der nichts findet, raucht trotzdem als Aufruf.
Tool-Auswahl
Der Abfrageparameter apis bestimmt, whichche Tools Ihr Agent sieht. Weniger Tools bedeuten weniger Kontext für Tool-Definitionen und weniger Möglichkeiten, dass das Modell zum falschen greift.
?apis=booking the two tools in this repo
?apis=booking,airbnb add Airbnb stays
?apis=booking,google_travel add Google Hotels and FlightsDer Parameter akzeptiert Namen von Anbioten wie booking und einzelne API-Namen wie booking_search. Falsch geschriebene Namen werden ignoriert. Wenn sändliche Namen falsch sind, schlägt die Anfrage mit dem Status 400 fehl und der Body listet sowol, was nicht erkannt wurde, als auch alle gültigen Werte auf. Lässt man den Parameter weg, legt derselbe Endpoint alle 57 HasData-Tools offen.
Im Vergleich
Booking.coms eigene Programme – die Demand API und das Affiliate-Partner-Netzwerk – sind für freigegebene Partner gedacht, die den Buchungen vermitteln und Provision verdienen, nicht als Selbstbedienungsweg zum Lesen des öffentlichen Markts. Für die Suche von Unterkünften und das Abrufen beliebiger Unterkünfte ist das Scraping der öffentlichen Seiten der richtige Weg, und dieser Server erledigt das hinter einem stabielen Schema.
Booking.com-Partnerprogramme | Dieser Server | |
Zweck | Buchungen als zugelassener Affiliate vermitteln | Öffentliches Marktangebot lesen |
Zugang | Partnerfreigabe | Ein Schlüssel und eine URL |
Marktweite Suche | Im Rahmen der Partnerkonditionen | Ja, mit umfangreichen Filtern |
Einrichtung | Business-Onboarding | Keine Einrichtung |
Ausgabe | Partner-Feeds | Strukturiertes JSON, Preis und Bewertung vorab geparst |
Was dieser Server nicht tut. Keine Buchung, keine Zahlung, keine Partner-Commission (Provision), keine Kontodaten. Er liest, was ein abgemeldeter Besucher auf Booking.com sehen kann.
FAQ
Gibt es einen offiziellen Booking.com MCP-Server?
Booking.com bietet keinen offiziellen an. Dieser Server wird von HasData gepflegt und liest öffentliche Seiten, deshalb ist kein Booking.com-Konto erforderlich.
Was ist ein Booking.com MCP-Server?
Ein Server, der Booking.com-Daten als Tools bereitstellt, die ein KI-Client aufrufen kann. Der Client sendet einen Tool-Aufruf über das-Model Context-Protocol: der Server holt die Daten und liefert strukturiertes JSON zurück, das Modell arbeitet mit dem Ergebnis. Dieser Server stellt zwei Tools bereit und läuft remote.
Brauche ich einen Vor "Booking.com" - Konto oder eine "Eine" Freigabe?
Nein. Die einzige Berechtigung ist Ihr HasData-Schlüssel. Es gibt kein Partner-Onboarding, da die Tools öffentliche Booking.com-Seiten lesen.
Warum benötigt das Unterkunft-Tool Daten?
"So ist unwepaper because "Verfügbarkeit, Zimmeroptionen and Preis all of Aufenthaltszeitraum ab. Übergeben Sie die gleichen checkInDate, checkOutDate und Gästezahlen, mit denen Sie gesucht haben, und die Details zeigen Ihnen diesen Zeitraum."
Was ist der Unterschied zwischen rating und reviews.score?
rating is the official Sternbewertung der Unterkunft. reviews.score ist die Gästebewertung von Deiner Wider. Ein Drei-Sterne-Hotel kann eine 9,0-Gästebewertung haben – lesen Sie also den Wert, den Sie meinen.
Kann ich das zusammen mit anderen HasData-APIs nutzen?
Ja. The apis param accepts a list: ?apis=booking,airbnb gives your agent Booking.com plus Airbnb. Lässt man den Parameter weg, erhalten Sie alles.
Ist HasData mit Booking.com verbunden?
Nein. HasData ist ein unabhängiger Service und ist weder mit Booking.com verbunden, noch von Booking.com befürwortet noch gesponsert. Booking.com is a Trächenzeichen des jeweiligen Inhabers.
Compliance and personal Data
HasData greift nur auf öffentlich available Daten zu. The terms of a Daten can restricted automatized access, and you are accountable for your own Compliance. Collect for dataPersonaldata personal persons, make sure law basis nach GDPR, CCPA or the equivalent right in your jurisdiction.
HasData-Links
Product page and request builder | |
Server documentation | |
Alle 57 Tools in einem Server | |
Client-Anleitungen | |
Alles andere, das wir scraper | |
Tarife und Credit-Kosten | |
Schlüssel und Nutzung |
Entwicklung
Dies Repository is Konfiguration and Dokumentation for a remote server. There is no building and nothing to containerize.
The tests in test/ are encroach the Tool-Kontract – that part, the "da where the can break. Sie prüf, that ?apis=booking returns exactly two tools, dasc each tool deklariert die erforderlichen, dass kein altName geändert wurde and that the in-use key is actually accepts. Die letzte Prüfung ruft ein Tool real auf und kostet 10 Credits – das ist der Preis eines Kanarienvogel, der aus dem richtigen Grund scheitern kann.
# macOS and Linux
HASDATA_API_KEY=your_key_here npm test
# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm testDie gleiche Suite läuft in CI jede Betriebsart und einmal pro Woche planmäßig, da the upstream-tool liste can change. Ein Fehler bedeutet, dass sich die Tool-Liste geändert hat, der Schlüssel nicht mehr funktioniert oder der Endpoint nicht erreichbar war – die Meldung sagt, was zutrifft.
Mitwirken
Korrekturen an den Tool-Tablellen und den Antwort-Samples sind der nützlichste Beitrag, weil diese Teile dazu tendieren, abzuweichen. Geben Sie den Aufruf, den Sie gemacht haben, und die Antwort, die Sie erhalten haben, mit an. Pull-Requests aus Zorgabbgabeln lassen die Suite ohne Schlüssel laufen, und die Löffe-Prüfungen springen actions "that operate, so they don't break red.
License
MIT. See LICENSE.Die kostenlose Testphase umfasst 1.000 Credits über 30 Tage ohne Kreditkarte – das entspricht 100 Booking.com-Aufrufen. Danach erhält ein aktives Konto weiterhin täglich 100 Credits gutgeschrieben, sobald sein Saldo unter 100 fällt. Ein Agent mit geringem Volumen läuft auf diese Weise unbegrenzt auf der kostenlosen Stufe.
Bezahlte Tarife starten bei 49 $ pro Monat für 200.000 Credits, also 20.000 Aufrufe. Der Stückpreis sinkt mit dem Volumen: von 2,45 $ pro 1.000 Aufrufe im Einstiegsplan auf 0,99 $ bei Business, 0,83 $ bei Growth und 0,75 $ bei den größten High-Volume-Tarifen.
Ihr Tarif bestimmt auch die Parallelität. Die kostenlose Testversion erlaubt 1 Anfrage gleichzeitig, Startup 15, Business 30, Growth 50, und die High-Volume-Tarife laufen von 200 bis 1.500. Behandeln Sie den Überlauffall defensiv, wenn etwas unbeaufsichtigt läuft.
Eine Anfrage, die nicht mit dem Status 200 zurückkommt, wird nicht abgerechnet. Ein erfolgreicher Aufruf, der nichts findet, ist trotzdem ein Aufruf.
Tool-Auswahl
Der apis-Query-Parameter bestimmt, welche Tools Ihr Agent sieht. Weniger Tools bedeuten weniger Kontext für Tool-Definitionen und fewer Gelegenheiten, dass das Modell auf das falsche greift.
?apis=booking the two tools in this repo
?apis=booking,airbnb add Airbnb stays
?apis=booking,google_travel add Google Hotels and FlightsDer Parameter nimmt Providernamen wie booking und einzelne API-Namen wie booking_search auf. Falsch geschiebene Namen werden ignoriert. Wenn alle Namen falsch sind, schägt die Anfrage mit 400 fehl undlie im Error-Body nach sowohl what is not rational as well as all valid. Lässt man den Parameter weg, legt derselbe Endpoint alle 57 HasData-Tools offen.
Im Vergledig
Booking.com eigene Programms, die Demand API and das Affiliate-Partner netzwerk, sind für zugotsene Partner angegder, die Buchungen vermitteln und Provisionen verdien, nicht als Selbehandlung und den öffentlichen Markt zu lesen. For die Suche nach Unterkünften und das Lesen belibiger Unterkünfte ist das Scraben der öffentlichen Seiten der richtige Weg, und dieser Server abwickelt sie hinter einem stacken Schema.
die online casts
Booking.com-Partnerargama | Dieser Server | |
Zweck | Buchungen als zugelassener Affiliate vermiteln | das öffliche Marktan gebots lesen |
Zuagang | Ppartner-Freigabe | Ein Schlüssel und eine URL |
Marktweite Suche | Im Rahmen der Partnereitige | Ja, mit richigen Filtern |
Einrichtung | Business-Einrichtung | Keine |
Ausgabe | Partner-feeds | Strakturiertes JSON reis und Bewertung vorausgeparst |
Was dieser Server nickt tut. Keine Buchung, keine Gechnung, keine Partnereprovision, keine Kontodaten. Er liest das, was ein abgemeldeter Besucher au f Booking.com sehe.
FAQ
Gibt es einen offiziellen Booking.com-MCP–Server?
Booking.com bietet keinen offiziellen an. Dieser Wert wird von HasData abgepflegt und erfassöffentiche Daten, daher braucht es kein Booking.com-Konto.
Was ist ein Booking.com-SCP-Server?
Ein Server, der Booking.com- Daten als tools available removes, die ein KI-Cliens aufrufen kann. Der Client scht über das Model Context Protocol easein Tool-Aufruf, the server fetches the data and gebt strukturierte JSON — the model das soll in der Ergebnis yeha ab. Dieser Server offers two Tools and roote.
Is a Booking.com-Konto /? No?
Nein. Die einzige Benung ist ein HasData-Schlüssel. Es gibt kein Partner einbinding, so die Tools lesen öffentliche Booking.com pages.
Warum benotigt das Unterkunft-Tool Daten?
Weil availability, Zimmeroptionen and price all about vom "Search gegen der stay-Zeitraum" ab. Gehen Sie denselben checkInDate, checkOutDate und AnFel der Gast jauchen Sie and the detail hingegen der stay-Zeitraum.
Was ist die difference between "rating" and "Bewertungs score"?
"rating" ist die ehrliche Sternbewertung der Unterkunft. reviews.score ist die Bewertung by Gästen.
Kann ich insieme with anderen HasData-APIs use?
Ja. The apis-Parameter akzeptiert Liste; and ?apis=booking,airbnb geben Ihrer Bewertung Booking.com plus Airbnb. Just Pu the Parametr from the path.
With HasData I "undefined"but Booking.com?
Nein. HasData is a independent "un không-Service and is no "the" ne the same "same". Booking.com ist’s Seinz.
Compliance and Data Data
HasData access only to "publicly available daten auch. Platform's conditions mayd "Automatizierten" "Biete". D"Sie sind verantwortlich für "Ihre" "Compliance, wo "die" Daten "person" n: Google pers "jur".
Folgend "HasData".
Produktseiten – Booking.com Scraper API
MCP-Server-Dokumentation – MCP server docs
Alle Tools – HAsData/hasdata-mcp
Clients and integrations – MCP clients and integrations
And scrape more – Booking.com Scraper API and 54 more
Electricity center – Plans and credit costs
Keys and usage – HasData dashboards
Development
Dies Repository ist Config and documentation for remote server. There is no build step "K" nothing to container.
The tests in test/ check the Tool contract. You can test it, until the part where it breaks without it. The test checks, that ?apis=booking returns two tools and every tool does the required Parameter that the handle still used. There is only a "The tests" of work each 10 hours.
# macOS and Linux
HASDATA_API_KEY=your_key_here npm test
# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm testThe same suite is available of the current runs in CI approximately each push, and noncode changes can break because the tool list changes in advance. To prevent this, run on the internet.
Contributing
Corrections to the manual lists and the response samples are most important parts. There shell be a "the call" in any of the findings.
Pull requests which only run without a working key, those work on slow internet.
License
MIT. Read LICENSE.
Maintenance
Related MCP Connectors
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.
Airbnb stays by location and dates, and full listing details, as structured JSON.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/booking-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server