Skip to main content
Glama

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

Glama score tool contract MCP Tools License

Inhaltsverzeichnis

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

https://mcp.hasdata.com/api/mcp?apis=booking

Transport

HTTP, streamable

Auth-Header

x-api-key: HASDATA_API_KEY

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

Glama score Tool-vertrag MCP Werzeuge Lizenz

Inhalt

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

https://mcp.hasdata.com/api/mcp?apis=booking

Transport

HTTP, streamable

Auth-Header

x-api-key: HASDATA_API_KEY

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

keyword

zig

absl.

geo, such as Paris, oder ein bestimmter Unterkunktsname

checkInDate / checkOutDate

zig

Ja

YYYY-MM-DD, Check-in in Eere, also whereas. in der Cy Zukunft liegt and vor the Check-in .. Check-in in der Zukunft und vor dem Chek-out

rooms / adults / cildren

Number

Yes

Gästezusammen, correspondence with children: 0 with none. give with

childrenAges

string

no

Mit Kommas etrennte Alters, berupa bei children > 0

sort

Zeichen

no

priceLowestFirst, ratingHighToLowent, bestReviewedAndLowestPrice, distanceFromDowntown und mehr

propertyType__ / rating__ / reviews__

array

no

Unterkunftsart, Sternebewertung, GastbewertungsGruppen `

facilities__ / roomFacilities__ / reservationPolicy__

array

no

Ausstattung, Zimmer-Facilities-unkand time Stornierungsfilter

reviewed etc.

price_min_ / price_max_

Number

Ja

Preis unterranne des Gesamtaufenthalts

page

number

Ja

About 25 results per page, 2 for the next 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 price schreibt sich dicsount (dicsountRaw und dicsouned), was spigelt den price upstream. Verwende diese Schreibung, nichtdiscount. Beachte auf rating ist die offiziell Sternebewertung, while reviews.score bewertung from10 ist,the score is 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

url

string

Ja

Eine Booking.com-URL, das Feld url aus einem Suchgebniz

checkInDate / checkOutDate

string

Ja

YYYY-MM-DD, der Zeitraum, für den Preise und Verfügbarkeit abchecken

rooms / adults / children

number

Ja

Gästezusammensetzung, gleiche Bedeutung wie beim Such-Tool

childrenAges

string

Ja

Komma-separated, erforderlich bei children > 0

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

Glama score tool contract MCP Tools License

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

https://mcp.hasdata.com/api/mcp?apis=booking

Transport

HTTP, Stromable

Auth-Header

x-api-key: HASDATA_API_KEY

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

Glama score tool contract MCP Tools](#tools) Lenience

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

https://mcp.hasdata.com/api/mcp?apis=booking

Transport

HTTP, streamable

Auth

x-api-key: HASDATA_API_KEY

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

  1. 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

keyword

String

yes

'Paris', oder 'Hotel'

checkInDate / checkOutDate

String

yes

YYYY-MM-DD

...

...

...

...

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

has_booking...

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 Flights

Der 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.

Product page and request builder

Booking.com Scraper API

Server documentation

MCP-Server-Dokumentation

Alle 57 Tools in einem Server

HasData/hasdata-mcp

Client-Anleitungen

MCP-Clients and Integrations

Alles andere, das wir scraper

Booking.com Scraper API and 54 weitere

Tarife und Credit-Kosten

Tarife und Kredite-Kosten

Schlüssel und Nutzung

HasData Dashboard

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 test

Die 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 Flights

Der 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".

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 test

The 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.

Install Server
-
license - not tested
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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