Skip to main content
Glama

Airbnb MCP Server

호스팅형 Model Context Protocol(MCP) 서버로, Claude, Cursor, Windsurf 그리고 다른 모든 MCP 클라이언트에 읽기 전용 Airbnb 도구 두 개를 제공합니다. 위치와 날짜로 숙소를 검색하고, 단일 숙소를 전체적으로 읽을 수 있으며, 모든 결과는 구조화된 JSON으로 반환됩니다. Airbnb 개발자 계정도, 파트너 승인도 필요 없습니다.

로그인하지 않은 방문자도 볼 수 있는 공개 목록 페이지를 읽습니다.

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

Glama score tool contract MCP Tools License

목차

Related MCP server: lilo-vacation-rentals

필요한 것

MCP 클라이언트와, 대시보드에서 만든 HasData API 키가 필요합니다. 계정 생성은 무료이고 카드는 필요 없으며, 무료 체험에는 5크레딧 요율 기준 약 200회 호출이 포함됩니다. 이 서버는 원격 서버이므로 가장 간단한 방법은 URL과 x-api-key 헤더를 사용하는 것입니다. 실행할 컨테이너도, 어디에도 Airbnb 개발자 계정도 필요하지 않습니다. stdio만 지원하는 클라이언트는 얇은 런처를 통해 연결하며, 이 런처는 npm에는 @hasdata/airbnb-mcp, PyPI에는 hasdata-airbnb-mcp로 배포되어 있습니다. 아래에서 확인할 수 있습니다.

빠른 시작

서버 URL은 모든 클라이언트에서 동일합니다. 저희는 Claude Code와 Claude Desktop에서 직접 실행해 보았습니다. 나머지 블록은 각 클라이언트가 원격 서버에 대해 문서화한 형식을 따릅니다.

필드

URL

https://mcp.hasdaata.com/api/mcp?apis=airbnb

전송 방식

HTTP, streamable

auth 헤더

x-api-key: HASDATA_API_KEY

OAuth를 지원하는 클라인트는 같은 URL을 커넥터로 추가하고, 키를 설정 파일에 넣지 않고 로그인할 수 있습니다.

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

설정으로 이동한 뒤 Con検ector, 이어 Add custom 커nector를 선택하고 https://mcp.hasdata.com/api/mcp?apis=airbnb를 붂여 넣고 사인인합니다.

설정 파일 경로의 경우, Claude Desktop은 로컬(stdio) 서버만 로드하므로 원격 서버에 stdio 런처를 통해 연결합니다. @hasdata/airbnb-mcp 패키지가 바로 그 런처하며, 환경 변에서 키를 읽습니다. claude_desktop_config.json에 다은 을용을 첨가하세요:

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

Node 대신 Python을 사할 경두, 런처를 PyPI 패키지로 바꾸면됩니다ㅇ 노드는 PyPI 패키지를 수동 설치하지 않고도 uvx로 실행합니다.

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

모든 프로젝트에 대해 ~/.cursor/mcp.json을, 프로젝트 하나에 대해서는 .cursor/mcp.json을 사용합니다.

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

~/.codeium/windsurf/mcp_config.json을 사용합니다. Wandsurf은 필드는 이름을 류ulurl이 아닌 serverUrl로 부릅니다.

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

워크스폼이스에서 .vscode/mcp.json을 사용합니다.

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

빠른 컨트

프롬프트이지 코드가 아니입니다. 하나를 붂여 넣으면 에어이전트가 도구를 선택합니다. 각 프롬프트은 소요 호출 수와 함께 주석되어 있습니다. 성공한 호출에는 5크레딧트이 들기 때문입니다.

9월 15일부터 18일까지 성반 두 명이 머무는 Austin 숙소를 검색하고, 1박에 $200 미만인 곳 중 평▶但是 가장 높은 10곳을 알라주세욍.

한 번의 호출, 5크레딧트. 평▶과 1박 요금은 검색 결▶에 포합니다습니다.

상위 결▶를 가져왁여 전체 어매니티 어 구성, 게▲와 침실 개수, 호스트 상세 정보를 확출하세요.

한 번의 호출, 5크레닧트. 상세사항은 프 roproperty 페이지에 있으며, 상세거 도구가 URL로 읽습니다.

오스팀에서 두 게스트가 3박 묵는 상황의 1박 요금을 나빌과 비교합니다.

두 번의 호출, 10크레딧트, 도시별 하나씩.

이 목록 URL에 대해, 침와 욕실이 몇 개인지 그리고 호스트가Super host인지 알려 주세요.

한 번의 호출, 5크레딧트.

검색 결▶은 고의적으로 가벼게 구성되어, 순위를 매🐘고 후보를 줄이는 데 충분합니다. 편의니시, 침, 호스트 및 전체 설명은 property 호출에서 오므로, 후보를 고른 후 세 집을 살펴는 프롬프트는 검색 1회 + property 호출 3회입니다.

도구

도편읽 도. 아래 샘플은 실제 호출을 간추린 것이며, 숫자는 Airbnb가 업데이 될 때마다 변합니다. 형식의 예시로 해석하세요. 각 도구 이름은 문서의 엔드포인트 참조 페이지를 류결하며, 그 페이지에 전체 필드가 있습니다.

샘플은 전체 응패이가 아니라 페⚰로드입니다. tools/call 결과에는 하나의 텍스트 블로크가 있으며, 그 텍스트 자체가 url, state, text, json을 포함한 JSON이고, 스크래된 데이터는 json 아래에 어씩합니다. 원시 JSON-RPC 응답에서 경로는 result.content[0].text를 파하는 후 .json입니다. 채팅 클라인은 이를 알아서 해페하며, 엔드포인트에 직접 연결는 코드는 직접 해페해야 합니다.

Get Airbnb listlist

hasdata_airbnb_listing_getAirbnbListings

위치와 날짜로 검색 결과의 페이지를 반환합니다.

| 파라미터 | 타입 | 필수 | 참조 | | :----------------------- | :------ | | :-------------------- | | loc | string | yes | 검색할 장소,예: Austin,Texa | |checkIn | string | yes | 체크인 날,YYYY-MM-DD | |checkOut | string | | 체크아웃 날,YYYY-MM-DD | |adults/children/infants/pets| number | | 게스트 구성, 각각의 인원 | |nextPageToken string | | 이전 응답의pagination.nextPageToken` |

응답한 properties array와 pagination을 반환하며, paginationnextPageTokenpageTokens로 결🐘 집할을 이동할 수 있습니다. 각 프로퍼티에는 id, url, title, latitude, longitude, 이를 tagline인 간단한 description, photos 배열, rating, url, rating, reviews, badges 배열(예: Guest favorite, Super Tab) 및 price 객체가 포함됩니다. priceoriginalisedPrice, 할인된 숙박일 때 선택 가능한 discountedPrice, for 3 nights와 같은 qualifier, breakdown을 포함합니다.

검색 결과는 의도적으로 가벼습니다. 침, 욕실, 편의시물, 호스트와 전체 설명은 여기에 없으며, 아래의 property 도구에서 제공됩니다. 검색 결▶에서 침실 수를 기대하지 마시요.

{
  "id": "17545365",
  "url": "https://www.airbnb.com/rooms/17545365",
  "title": "Home in East Austin",
  "latitude": 30.25741,
  "longitude": -97.73366,
  "description": "Downtown Casa - neighborhood feel, close to it all",
  "rating": 4.87,
  "reviews": 601,
  "badges": ["Guest favorite"],
  "price": {
    "originalPrice": "$607",
    "discountedPrice": "$447",
    "qualifier": "for 3 nights",
    "breakdown": [{ "description": "3 nights x $149.00", "price": "$447.00" }]
  }
}

Get Airbnb property details

hasdata_airbnb_property_getAirbnbPropertyDetails

URL로 listing 하나를 전체적으로 반환합니다.

| 파라미터 | 타입 | 조건부 | 참고 | | :------- | :----- | : | :---------------------------------------------------------- | | url | string | yes | Airbnb 목록의 URL, 검색 결과의 url 필드 |

title, overview 배열(예: ["4 guests", "2 bedrooms", "2 beds", "2 baths"]), 전체 description, rating, url, reviews, address, latitude, longitude, photos 배열, guestCapacity, host 객체, amenities 배열, safetyAndPropertyInfo를 반환합니다. host 객체는 name, isSuperHost, isVerified, 호스트 자신의 reviews, rating, yearsHosting을 포함합니다. 각 어메니티에는 title, type, 선택적 description, 그리고 allow 플래그가 함께 있므로, 필터는 available을 확인해야 하며 목록에 있는 모든 편의시설이 존재한다고 가정해서는 안 됩니다.

{
  "id": "17545365",
  "title": "Downtown Casa - neighborhood feel, close to it all",
  "overview": ["4 guests", "2 bedrooms", "2 beds", "2 baths"],
  "rating": 4.87,
  "reviews": 601,
  "address": "Austin, Texas, United States",
  "guestCapacity": 4,
  "host": { "name": "Deanna", "isSuperhost": true, "isVerified": true, "reviews": 1273, "rating": 4.86, "yearsHosting": 11 },
  "amenities": [
    { "title": "Wifi", "type": "SYSTEM_WI_FI", "available": true },
    { "title": "Free washer – In unit", "type": "SYSTEM_WASHER", "available": true }
  ]
}

오어와 실패 경로

당신의 클라이언트은 도구 호출에서 HTTP 에러 코드를 직접 보는 경우가 거의 없습니다. MCP 레이어는 200으로 response하고 실패를 결과 내의에 넣습니다. isErrortrue로 설정하고 원인을 텍스트로 전달합니다. 상패코드를 기대하는 곳에에이전트는 문구를 수신합니다.

잘몯된 키 에는 연결된 실패가 아니라 도구출력으로노출됍니다. tools/list는 비어진 키가 아닌 아는 거의 모든 키를 허양하고 두 도구를 반환하므로, 클라이언트는 핸드셰이크를 완료하고 녹색을 표시합니다. 그 후 첫 호출이 isError: true와 텍스트 HasData API error: 401 Unauthorized로 돌아옵니다. 그 텍스트를 주의하시요, 그전에는 어떤 곳도 이 문구를 알려주지 않습니다.

키가 없으면 유일한 실제 HTTP 에러가 발합니다. 인증은 모든 도구보다 먼저 실행되고, 연결 자체가 checked로 실패합니다. CROP 헤더가 존재하므로 브라우저 기반 클라이언트도 불명확한 네트워크 실패가 아닌 상태 코드를 읽습니다.

도구 스키마를 는 인구는 스크래핑이 발생하가 전에 거부됩니다. 서버는 isError: true와 텍스트 MCP error -32602: Input validation error으로 응답하며, 문제가 있는 필드를 명시합니다. 아무 사항도 가져오지 않으며 청구되지 않습니다.

복실 가능한 검색는 빈 properties 배열을 가진 성공 결과로지 않음. 위치와 날짜 범위에 해당하는 숙소가 없으면 requestMetadata.statusok로설정된으로 돌아옵니다. 반복 구문을 사용하가 전에 배렬 길를 먼저 확인하세요.

삭재된 목록은 400을 반환하며 requestMetadata.statuserror로 설됩니다. 이 날짜 검색의 URL이 이제 사라진 숙소룰 가리키는 수 있습니다.

데이터를 포함한 결고는 서포트에 인용할 수 있는 requestMetadata.id도 있습니다.

가격, 무료 티어와 제한

각 Airbnb 도구는 성른 호출마다 5크레딧이 소모됩니다. 응답 크기에 따라 요금이 바지지 않습니다. 수십 종의 숙이 있는 검색 페이지도 두 개만 있는 검색과 가끽은 요금입니다.

무료 티어는 카드 없이 30일간 1,000크레딧으로, Airbnb 호출 20회입니다. 그 후에도 잔액이 100 미만으로 내려갈 때마다 매일 100크레딧이 충전되므로, 사용량이 적은 에이전트는 무료 티어를 계속 사용할 수 있습니다.

유료 플랜은 200,000크레딧 (40,000회 호출) 기준 월 49달러부터 시작합니다. 단가 요금은 규모에 따라 내려가며, Standard 플랜의 1,000회 호출당 $1.23에서 Business $0.50, Growth 플랜에서 $0.42, 그리고 가장 큰 대량 사용 요금 플랜에서 $0.37입니다.

요금 제 플랜은 동기 요청 수도 결정합니다. 무료 티어는 한 번에 1개 요청, Startup은15, Business는30, Growth는 50, 대량 사용 플랜은 200~1,500입니다. 사람이 개입하지 않는 모드는 초과 상구를 방어적으로 처리하세요.

200이 아닌로 응답한 요청은 비용이 청구되지 않습니다. 아무것도 찾지 못해도 성공한 호출 여전히 1회로 청구됩니다.

도구 선택

apis 쿼리 파라미터는 에이전트가 볼 수 있는 도구를 결정합니다. 수가 적을수록 도구 정의에 필요한 상황이 적어지고, 롬odel이 손대지 말아야 할 도구를 찾을 확률도 낮어집니다.

?apis=airbnb                     the two tools in this repo
?apis=airbnb,booking             add Booking.com stays
?apis=airbnb,google_maps         add Google Maps places

이 파라미터는 airbnb와 같은 공급자 이름, airbnb_listing과 같은 개별 API 이름을 받습니다. 잘못 에 넣은 이름은 무시됩니다. 이름이 많도 틀리르면 400으로 요청이 실패하고, 응본문에 인식되지 않은 방식과 사유효한 값이 모두 목록으로 나왁니다. 이 파라미터를 없앴면 같은 엔드포인트에서 HasData 도구 57개 모두 노출합니다.

How it compares

Airbnb에는 공공 검색 API가 없습니다. Airbnb의 API 프로그램은 파트너 및 코-호스트 관리를 위한 것이며, 시장을 조회할 수 있는 방식이 아닙니다. 경색에서 문의하는 숙소 목록을을 읽는 유일한 방법은 KPI public pages를 scra핏하는 것이고, 이 서버는 안전한 스키마 뒤에서 그 일을 수행합니다.

Airbnb 파트너 API

이 서버

목적

자신의 목록 관리

공개 시장 예스

겟근

파트너 승인

키 나 사 Url 한가

시장 전요 Пример

아니오

구성

비즈니스 온보시링

없음

출력

파트너 페이로드

구зова례 JSON, 예약 및 예약에 대한 예보

이 서버제공 안함. 예약, 메시지, 네트워크, 항목 요소, وما لا. It reads what a signed-out visitor can see.

자주 묻는 질문

공 계식 Airbnb MCP 서버가 있나요?

Airbnb는 공식으로 공식 서버를 제공하지 않습니다. 이 서버는 HasData가 관리하며 공개 사이트에서 보이는 정보를 읽습니다. That means no Airbnb developer account is needed.

Airbnb MCP 서버란 무엇인가요?

Airbnb 데이터를 AI 클라이언트가 호출 기능으로 노출하는 하나입니다. 클라이언트는 Model Context Protocol을 통해 함수 호출을 보내고, 서버는 데이터를 가져와서 구조화된 JSON을 반환합니다. 본 서버는 리모트 형태로 운영되며 두 가지 도구를 제공 합니다.

Airbnb API key or partner account가 경비가인가요?

아니요. 필요한 것은 HasData 키 점 것입니다. 호출 프록시가 public Airbnb pages를 읽기 때문에 파트너 온신가트 포인트입니다.

왜 검색하고 결과에 베다와 convenience 동를 보여 주지 않나요?

보 안되, Airbnb는 검색 카드의 속성을 포함하지 않다 يتم 구성의 전체 정보를 확인하는 것을 위해 속성 세부 정보 도구를 URL에서 가져옵니다.

게스트, 연동 동ellar, trip by datesでフィルタできますか?

예. 리스팅 도구는 checkIn, checkOutadults, children, infants, pets이라는 카운트를 받아 그게 인원 및 시간 카테고리로 사용 가능과 요를 반환합니다.

이전과 HasData API와 함께 사용할 수 있나요?

예. apis参数는 목록을 사용하며, ?apis=airbnb,booking을 에지인트에 Airbnb와 Booking.com을 제공합니다. 파라메터 밹거 항목을 제공하는 것은 모든 것입니다를 사용할 수 있습니다.

regulatoryissues 및 개인 데이터

HasData는 공개적으로 압세 가능한 데이터만 접근하며, 호스팅 플랫폼트의 정책은 자동 압세을 제한 할 수 있습니다. 그 것은 명처에 따라 진행에 대한 선택이 가능할 것입니다. 사용자가 수집한 데이터에 개인 정보가 있다면 GDPR, CCPA 또는 적용관 시장의 같은 규정을 준수 필요가 있습니다.

HasData 링크

제품 페이지

Airbnb Scrapper API

서버 문서

MCP Server Documentation

Node.js에서 한 가지 데, 모든 57 Tool

HasData/hasdata-mcp

ों लिएंटके लिएं

MCP clients and integrations

Everything else we scrape

Airbnb Scrapper API and 54 more

Plans and credit costs

Plans and credit costs

Keys and usage

HasData dashboard

Development

This 저장소는 리모트 서버를 위한 구성 및 도큐멘션입니다. Build process나 containerizing이 없심.

test/ 파일상의 테스트는 도구 계약을 검증하며, 이 부분은 커밋 없이도 끨질 수 있습니다. They check that ?apis=airbnb contains exactly two tools, that all tools still declare their required parameters, that name has not changed, and that the key in use is actually accepted. The last check makes a real tool call and that costs 5 credits, which is the cost of a canary test that could fail for the right reason.

# macOS and Linux
HASDATA_API_KEY=your_key_here npm test

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

Same suite runs in CI on every push and once per week on a schedule, because upstream tool list can change without anyone touching this repository. A failure means tool list changed, the key stopped working, or the endpoint was unreachable, and the assertion message says which.

Contributing

Corrections to the tool tables and sample responses are the most useful, because these are the parts that get often outdated. Include the call that you made and the response you got. Pull requests from fork run the suite without a key, and live checks are skipped instead of going red.

License

MIT. See LICENSE.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

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/airbnb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server