Skip to main content
Glama

Booking.com MCP Server

호스팅 기반 Model Context Protocol(MCP) 서버로, Claude, Cursor, Windsurf 및 기타 모든 MCP 클라이언트에 두 가읽 읽기 전용 Booking.com 도구를 제공합니다. 다양한 필터를 사용하 목적지와 날짜로 숙박을 검색하고, 단일 숙소의 전체 정보를 구조화된 JSON으로 읽을 수 있습니다. Booking.com 계정도, 호스팅에 필요한 것도 없습니다.

로그인하지 않은 방문자가 볼 수 있는 Booking.com의 공개 "property" 페이지를 읽습니다.

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

Glama score tool contract MCP Tools License

목록

필수 구성 option

대시보드에서 MCP 클라이언트와 HasData API 키. 카드 없이 무료로 만들 수 있고, 트지얄은 10크레딧 요율로 100회 호을 포함합니다. 원격 서버이므로 가장 단순한 경로는 URL과 x-api-key 헤더이며, 실행할 컨테이너도, 이 흐름 어디에도 Booking.com 계정도 필요 없습니다. stdio만 사용하는 클라이언트는 얆은 launcher를 통해 접근하며, 이는 npm의 @hasdata/booking-mcp와 PyPI의 hasdata-booking-mcp로 공개되어 아래에 있습니다.

빠른 시작

서버 URL은 모든 클라이언트에서 같습니다. Claude Code와 Claude Desktop에서 실제로 구동합니다. 다른 블록은 각 클라이언트가 원격 서버에 대해 문서화한 자만의 형식을 따릅니다.

필드

URL

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

전송

HTTP, streamable

인증 헤더

x-api-key: HASDATA_API_KEY

OAuth를 지지하는 클라이언트는 식별한 URL을 connector로 추가하고, 설정 파일에 키를 입력하지 않도 로그인이 가능합니다.

claude mcp add --transport http booking "https://mcp.hasdata.com/api/mcp?apis=booking" \
  --header "x-api-key: HASDATA_API_KEY"

설정(Settings)에서 커넥터(Connectors)로 이든 후 커스텀 커넥터 추가(Add custom connector)를 선택하고 https://mcp.hasdata.com/api/mcp?apis=booking를 붙여넣기하고 로그인.

구성 파일을 사용하는 경로에서는, Claude Desktop은 로컬(stdio) 서버만 로드하므로 stdio launcher를 통해 원격 서버에 접근합니다. @hasdata/booking-mcp 패키지가 바로 그 런처이며, 환경에서 키를 읽습니다. claude_desktop_config.json에 다음을 추가하세요:

{
  "mcpServers": {
    "booking": {
      "command": "npx",
      "args": ["-y", "@hasdata/booking-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

Python은 Node 대신 PyPI 패키지로 런처를 교체하며, uvx는 수동 설치 없이 실동합니다:

{
  "mcpServers": {
    "booking": {
      "command": "uvx",
      "args": ["hasdata-booking-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

모든 프로젝트에 ~/.cursor/mcp.json, 단일 프로젝토에는 .cursor/mcp.json:

{
  "mcpServers": {
    "booking": {
      "url": "https://mcp.hasdata.com/api/mcp?apis=booking",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

~/.codeium/windsurf/mcp_config.json. Widsurf은 url이 아니라 serverUrl 필드를 사용합니다:

{
  "mcpServers": {
    "booking": {
      "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=booking",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

작업 공간에 .vscode/mcp.json:

{
  "servers": {
    "booking": {
      "type": "http",
      "url": "https://mcp.hasdata.com/api/mcp?apis=booking",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

예시 프롭제트

코드가 아니라 프롭제트입니다. 하나를 여넣으면 에이전트가 도구을 스스로 선태합니다. 각 각각의 성공 호출이 10크레디기 때문, 실행되는 호출 수를 주석으로 달아 드렸습니다.

Booking.com에서 파이의 9월 15일부ize 18일까지 호텔 두 명을 호텔하고, 숙박 총액은 $700 미만이고 10개에 추천을 만들어 줘.

호출 1회, 10크레디. 가격, 평점, 위치가 검색 결과에 포함됩니다.

상위 결과를 아기로 전체 세부 정보를 확인해 줘: 시설, 숙소 규칙, 실 옵션, 카테고리 평점.

호출 1회, 10크레디. 이런 정보들은 속성 페이지에 있으므로, 세부 도구가 URL과 날짜를 통해 그 페이지를 읽는 것입니다.

파이 중앙 근처, 무료 취소 가`가능한 4성급 호텔을 찾고, 가격과 평점을 목록으로 보여 줘.

호출 1회, 10크레디. 성급, 취소 정책, 거리 모드를 하나의 요청의 필터로 처라할 수 있습니다.

Borough 파이와 로마의 동일한 날짜에 대해 가장 저렴한 숙박을 비교해 줘.

호출 2회, 20크레딧, 도시별 검색 1호.

속성 도구는 검색과 동일한 날짜와 게스트수를 필요로 합니다. 사용 가능 여부와 가격은 기간에 따라 달라지기 때문입니다. 후부목록을 위한 검색 1회 + 속성 3개의 상세 호출 1회는, 검색 1회와 속성 호출 3회입니다.

도구

두 개읽기 전용 도구. 아래 샘플은 실제 호출에서 추출한 것이며, 가격은계속 변합니다. 형태를 보는 것으로 읽으십시오. 각 도구 이름은 해당 엔드포인트 참조로 링크되며, 전체 필드 목록을 담고 있습니다.

샘플은 전체 응답이 아니라 페이로드입니다. tools/ccall 결과는 텍스트 블록 하나를 갖고, 그 텍스트 자체는 url, status, text, json을 갖는 JSON이며, 스크레이핑된 데이터는 json 아래에서. 원시 JSON-RPC 응답의 경로는 result.content[0].text를 파싱한 후 .json. 채티 클라이언트는 이를 자동으로 풀어주지만, 엔드포인트를 직접 사용하는 코드는 그렇게 하지 않습니다.

Booking.com 검색 결과 가져오기

hasdata_booking_search_getBookingSearchResults

목적지와 날짜로 숙박 페이지 하나를 가져옵니다.

파라미터

타입

필수

참고

keyword

string

목적지(예: Paris 또는 특정 숙소 이름)

checkInDate / checkCheckOutDate`

string

YYYY-MM-DD

rooms / adults / children

number

children: 0 인 경우 등 게스트 구성 없이 0

childrenAges

string

children > 0일 때 콤마로 분리, 필수

sort

string

sort by lowest price, rating high to low, best, distance from downtown, 그 이상

propertyType__ / rating__ / reviewScore__

array

property type, star rating, guest review score

facilities__ / roomFacilities__ / reservationPolicy__

array

서비스, 객실 서비스 및 취소 필터

price_min_ / price_max_

number

전체 숙박 가격 대

page

number

1페이지 당 약 25개의 결과 수, 다음 페이지는 2

참조문서에는 거리, 식사, 접근성, 침데 선호, 여행 그룹으 포함한 전체 필터 집합이 나라 있습니다.

검색은 searchInformation, results array, and pagination ( page, totalResults, totalPages)를 반환합니다. 각각 결과에는 hotelId, title, url, 제공되는 room, bedTypes, 그리고 location object, policies object, price object, 성급 rating, score, count, 사이는 단어 레이블이 포함된 reviews object, 그리고 photo를 포함합니다.

price 잘못된 discount 필드는 dicsount(dicsountRawdicsountParsed)라고 되어 있는데, 이는 업스트림 자체 철자입니다. 철자 그대로 dicsount로 읽으세요. 또 rating은 공식 성급이 고, reviews.score는 10점 만점 고객 평점이라는 두 개의 다른 숫자를 갖습니다. 만점이 10점이고, 두 값은 다릅니다.

{
  "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" }
}

Booking.com 프로р포티 상세 정보 가져오기

hasdata_booking_place_getBookingPlaceDetails

URL과 체류 기간을 통해 하나의 호텔을 모두 볼 수 있습니다.

파라미터

타입

필수

참고

url

string

검색 결과에서 나타난 Booking.com의 속성 URL

checkInDate / checkOutDate

string

YYYY-MM-DD, 가격과 사용 가능 여부를 확인할 시간

rooms / adults / children

number

게스트 구성, 검색 도구의 의미와 동일

childrenAges

string

children > 0 일 때 콤마로 구분, 필수

이렇게 반환된 내용은 한 개의 평평한 객체가 아닌 섹션으로 구성됩니다: overview(id, title, propertyType, 구조화된 address, description, highlines, popularFacilities, photos), bookingDetails(가격이 반영된 기간과 통화), available 스위트의rooms배열 (각각name, beds, facilities, 가격이 첨부된 variants)을 포함), facilitieslist,houseRules, ratingsarray of category scores,reviews, questionsAndAnswers`.

{
  "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 }
  ]
}

오류 및 실패 처리

도구 호출 시 클라이언트가 HTTP 오류 코드를 보는 경우는 거의 없습니다. MCP 레이어가 200을 처리하고 실패를 결과 안에 넣은 뒤 isErrortrue로, 사유를 텍스트로 표시합니다. 에이전트는 상태 줄을 기대할 곳에서 메시지를 읽습니다.

잘못 시크된 키는 연결 실패가 아니라 도구 출력로 드러나납니다. tools/list는 비어 있지 않인 아무 키나 다읽아두 도구를 반환하므로, 클라이언트는 handshake를 완료한 후 초녹색으로 표시합니다. 그 결과 첫 번째 도구 호출이 isError: true와 텍스트 HasData API error: 401 Unauthorized를 돌려보냅니다. 이 문자열을 주시 하세요. 아무 것도 이전에 이 문제를 알려지 않으니까요.

키가 없는 것이 유일한 실제 HTTP 오류입니다. 인증은 모든 도구 이전에 실시되고, 이 연결 자체가 401을 반환합니다. CORS 헤더는 존재하며, 브라우저 클라이언트는 불명한 네트워크 오류가 아닌 상코드를 읽습니다.

도구의 스키마를 깨뜨리는 인수는 실재로 스크래이핑이 일어나기 전에 거부됩니다. isError: true와 텍스트 MCP error -32603: Invalid parameters을 응답하며 문제가 되는 필드를 지명합니다. children 수에 대응하는 childrenAges가 없거나, 체크아닌이나 체크인 시각이 잘못된 경우 여기에서 걸리집니다.

필터에 해당하는 결과가 없으면, 빈 results 배열로 성공 결과를 반환하며 오류가 아닙니다. 일치하는 결과가 없는 destination windowrequestMetadata.statusok로 돌아옵니다. 배열의 길이를 검증하고 반복하세요.

해결할 수 없는 속성 URL일 경우 requestMetadata.statuserror로 설정해 400이 반환됩니다.

데이터가 포함된 결과에는 requestMetadata.id도 포함되어 있어 지원 시 참조할 만한 가치가 있습니다.

정책, 무료 티어 및 제한

각 Booking.com 도구는 성공적인 호출당 10 크레딟입니다. 응답 크기는 가격에 영향이 없습니다. 25박에 대한 검색 페이지나 두 박의 검색 페이지나 같은 요금입입니다.

무료 평가판은 카드 없이 30일간 1,000크레딧이며, Booking.com 호출 100회에 해당합니다. 이후에도 활성 계정은 잔액이 100 미만으로 떨어질 때마다 매일 100크레딧을 충전받으므로, 호출량이 적은 에이전트는 무료 티어에서 무기한 운영됩니다.

유료 플랜은 200,000크레딧(호출 20,000회) 기준으로 월 $49부터 시작합니다. 단위 가격은 사용량이 늘어날수록 낮아집니다. 엔트리 플랜은 1,000회 호출당 $2.45, Business는 $0.99, Growth는 $0.83, 그리고 가장 큰 규모의 고용량 플랜$0.75입니다.

플랜은 동시성(concurrency)도 결정합니다. 무료 평가 체험은 한 번에 1개 요청, Startup은 15개, Business 30개, Growth 50개, 고용량 플랜은 200~1,500개까지 허용합니다. 무인 자동 실행에서는 초과(overflow) 상황을 방어적으로 처리하세요.

200이 아닌 상태로 돌아온 요청은 청구되지 않습니다. 결과를 찾지 못한 성공적인 호출도 여전히 호출 1회로 계산됩니다.

도구 선택

apis 쿼리 매개변수는 에이전트가 보게 될 도구를 결정합니다. 도구가 적을수록 도구 정의에 소모되는 컨텍스트가 줄고, 모델이 잘못된 도구를 잡을 가능성도 낮아집니다.

?apis=booking                    the two tools in this repo
?apis=booking,airbnb             add Airbnb stays
?apis=booking,google_travel      add Google Hotels and Flights

이 매개변수는 booking 같은 공급자 이름과 booking_search 같은 개별 API 이름을 받습니다. 철자가 틀린 이름은 무시됩니다. 모든 이름이 잘못되면 요청은 400으로 실패하고, 본문에는 인식하지 못한 학있 worth과 유효한 모든 값을 나열합니다. 매개변수를 생략하면 같은 엔드포인트가 HasData 도구 57개를 전부 노출합니다.

비교

Booking.com 자체 프로그램인 Demand API와 제휴 파트너 네트워크는 승된된 파트너가에서 API의 Booking.com의 Booking.com의 Booking.com의 이 is 반대, "Gateway" . The route is public pages scraping behind stable schema: "이 티버는 그 작업을 있는 stable 스키마 뒤에서 수행한다.

Booking.com 파트너 프로그램

이 서버

목윀

승인된 제휴로 예약을 보내기

공개 시장 읽기

접근

파트너 승인

키 하나와 URL 하나

시장 전체 search

파트너 조건 안에서만

가능, 풍부한 필터

입장 설정

기업 온보딩

없음

결과

파트너 피드

구도화된 JSON, 가격·평정 미리 파씬

이 서버가 하지 않는 일. 예약, 결제, 파트너 수수료, 계정 데이타가 없습니다. Booking.com 로그이아웃한 방문それが 볼 수 있는 그때만 provided.

FAQ

공식 Booking.com MCP services가 are? 있가요?!

Booking.com공식 MCP 서버를 발행하지 않습니다. 이 서버는 HasData가 유리하며 공개 페이지를 읽기 떄문에 Booking.com 계정이 필없니다.

Booking.com MCP 서버란 뭐가?

Booking.com MCP 서버란? AI that can joke : "Your client sends tool call over the MCP" and M@Context Protocol",

Booking.com 계정 or 파트너 승인가 있는 있?

아니요. 필요한 유이한 자격는 HasData 키입니다. 도구가 Booking.com의 공개 페지를 읽기 떄문에 파Т너 온보а딩이 없습니다.

Property Property Tool에 날씩가있를데?

가용성, 매장 옵션, 가격이 모두 숙박 기간에 의존하기 떄문입니다. 검색에 using했던 checkInDate, checkOutDate, 즉 tent로 받은 guest count를 함께 보내면 checkInDate의 상세 내요이 그 기간을 반영합니다.

rating과 review score의 차이?

rating은 숙소의 공식 별점이고, reviews.score는 10점 만점의 투숙객 리 at입니다. 3성 호텔도 9.0의 투숙객 점수가 있을 твер has been in. 봄이의도록 하십시기.

다른 HasData API가 함께 ?

예. apis 매개변수는 리스트를 받고 ?apis=booking,airbnb는 AgentizaBooking.com과 Airbnb를 함께 노출합니다. 매개변수를 생략하면 전부 도구가 가져됩니다.

HasData이 Booking.com과 제휴 관 yes있나요?

아니요. HasData는 독립적인 서비스이며 Booking.com과 제휴, 인정, 후원 관게에 있지 않습니다. Booking.com은 해당 소유주의 상표입니다.

검프라이언스 및 개인정보

HasData는 공개적으로 이가 가능한 데이터에만 접근합니다. 플랫폼의 이관약관은 자동 접근을 제한할 수 있고, 자 регу장사항 준는 사용자의 의무입니다. 수집한 데이터에 개인정보가 포함될 경우, 개인당하고 개인정브 보 필요.

독.

그러므로:

GDPR, CCPA 또는 are in your jurisdiction.

제품 페이지 및 요청 빌더

Booking.com Scelaper API

서버 문서

MCP 서버 문서

하나의 서버 안의 도구 57개

HasData/hasdata-mcp

클라이언트 안내

MCP 클라이언트 및 ingration

그 외 우리가 크래핑하 트 get all

Booking.com Scpera API 및 그 외 and 54개

플랜 및 크레딧 계상

[플랜 and based on the software](https://hasdata.com/prices?...`

키와 usage비용

HasData 대시보드

플랜 및 크레딧 비용

키 및 사용량

----------------

-----------------------

Short answer.

개발

test/ 안에 있는 테스트는 도구 규약을 검정합니다. 이 저장소에 커미트 없이 변경될 수 있는 부부분입니다. ?apis=booking가 정확히 도구 두 개겠 반환하는지, 모든 도구가 필수 변수를 여전히 선언하는지, 이름이 변한 게 없는지, 그리고 사옹 중인 키가 실 제로 승인되는지 확합니다. Last check 은 실재로 도구를 호출 and 하므로 10크 레딧이 소모됩니다. That is the canary price they decided to hike.

# macOS and Linux
HASDATA_API_KEY=your_key_here npm test

# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm test

Which suite는 same push 및 주₁회 schedule마다 CI에서 실행되니다. because in case names change.님이 can change. underline 헌까지 없이도") "the test 불리가 의하면 도구 목록이 변했거나, 키가 만렇작동하지 않거나, 엔드포인트에 도달되지 못했다는 뜻이며, 검증 메시지가 어떤 원인인지 알려줍니다.

기여

가장 유용 유용한 기여은 도구 표과 응답 샘플에 대한 수정입니다. because that 부분이 산될 수 있습니다. 수정한 호출과 받은 응답을 포함해 주세요. 포크에 서 started는 키 없이 테스트를 실행하며, 웹 실시간/라이브 검사는 실패 표시 있어니에 스킵(skip) 됩니다.

License

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