Skip to main content
Glama

Airbnb MCP Server

Claude、Cursor、Windsurf、その他のあらゆるMCPクライアントに、読み取り専用のAirbnbツールを2つ提供する、ホステッドModel Context Protocol(MCP)サーバーです。場所と日付で滞在を検索したり、個々のリスティングを完全な構造化JSONとして読み取ったりできます。Airbnb開発者アカウントやパートナー承認は一切不要です。

ログアウトした訪問者でも見ることができる公開リスティングページを読み込みます。

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

Glama score tool contract MCP Tools License

Contents

Related MCP server: lilo-vacation-rentals

What you need

MCPクライアントと、ダッシュボードから取得できるHasData APIキーが必要です。APIキーはカード不要で無料作成でき、トライアルでは5クレジット単位で約200回の呼び出しができます。これはリモートサーバーなので、もっとも簡単な方法はURLとx-api-keyヘッダーを使うことです。実行するコンテナも、フロー全体でAirbnb開発者アカウントも一切必要ありません。stdioにしか対応していないクライアントは、薄いランチャーを経由して接続できます。このランチャーはnpmで@hasdata/airbnb-mcp、PyPIでhasdata-airbnb-mcpとして公開されており、後述します。

Quick start

サーバーのURLはすべてのクライアントで共通です。Claude CodeとClaude Desktopでは、実際に動作確認をしています。その他のブロックは、各クライアントに文書化されたリモートサーバーの形式に従っています。

Field

Value

URL

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

Transport

HTTP, streamable

Auth header

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"

「設定」→「コネクタ」→「カスタムコネクタを追加」の順に進み、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.js代わりにPythonを使う場合は、ランチャーを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。Windsurfはurlではなく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" }
    }
  }
}

Example prompts

プロンプトであり、コードではありません。貼り付けると、エージェントが自分でツールを選択します。また、各プロンプトに必要な呼び出し回数を注記しています。成功した呼び出しには毎回5クレジットかかるからです。

大人2名で9月15日から18日までオースティンの滞在を検索し、1泊$200未満で評価が最も高い10件を教えてください。

1回の呼び出し、5クレジット。対象評価と1泊あたりの価格は検索結果に含まれます。

最初の候補の上位を見つけて、その完全なアメニティ、正確な宿泊人数と部屋数、そしてホスト情報を取得してください。

1回の呼び出し、5クレジット。これらはプロパティページにあります。詳細ツールはURLから読み取ります。

夫2名,3泊のオースティンでの宿泊の1泊料金をナッシュビルと比較してください。

2回の呼び出し、10クレジット。都市ごとに1回の検索です。

このリスティングURLで、ベッドとバスの数、そしてホストがスーパーホストかどうかを教えてください。

1回の呼び出し、5クレジット。

検索結果はあえて余分なものを使わないようにしています。ランク付けや候補の絞り込みに十分な内容です。アメニティ、ベッド、ホスト、完全な説明はプロパティの呼び出しで得られるため、3件の宿に絞り込んでからそれぞれ調べるプロンプトは、検索1回とプロパト3回になります。

Tools

2つの読み取り専用ツールです。以下のサンプルは実際の呼び出しから一部をトリムしたもので、値はAirbnbの更新に応じて動きます。形状として読んでください。各ツール名からはエンドポイントのリファレンスにリンクしていて、完全なフィールド一覧を確認できます。

サンプルはペイロードであり、レスポンス全体ではありません。tools/callの結果には1つのテキストブロックが含まれ、そのテキスト自体がurlstatustextjsonを持つJSONです。スクレイピングされたデータはjsonの下にあります。生のJSON-RPCレスポンスからのパスはresult.content[0].textをパースしてから.jsonです。チャットアプリケーションはこれを自動的にアンラップしますが、エンドポイントと直接話すコードではアンラップされません。

Get Airbnb listings

hasdata_airbnb_getAirbnbListings

場所と日付で検索した結果の1ページ。

Parameter

Type

Required

Notes

location

string

はい

検索する場所 (例: Austin, Texas)

checkIn

string

はい

チェックイン日、YYYY-MM-DD

checkOut

string

チェックアウト日、YYYY-MM-DD

adults / children / infants / pets

number

ゲスト構成。各項目に人数

nextPageToken

string

前回のレスポンスの pagination.nextPageToken

properties 配列と pagination を返します。paginationnextPageTokenpageTokens で結果セットをたどります。各プロパティには idurltitlelatitudelongitude、短い description のタグライン、photos 配列、ratingreviewsGuest favoriteSuperhost などの badges 配列、そして price オブジェクトが含まれます。price には originalPrice と、割引がある場合は任意の discountedPricefor 3 nights のような qualifierbreakdown が含まれます。

検索結果は意図的に控えめです。ベッド、バス、アメニティ、ホスト、完全な説明は含まれています。これらは下のプロパティツールで取得してください。検索結果では、にんまり、ベッドルーム数を期待しないでください。

{
  "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を使って完全に1件のリスティングを読み取ります。

Parameter

Type

Required

Notes

url

string

はい

AirbnbのリスティングURL。検索結果の url フィールドを

title["4 guests", "2 bedrooms", "2 beds", "2 baths"] のような overview 配列、完全な descriptionratingreviewsaddresslatitudelongitudephotos 配列、guestCapacityhost オブジェクト、amenities 配列、safetyAndPropertyInfo を返します。host オブジェクトには nameisSuperhostisVerified、ホスト自身の reviewsratingyearsHosting が含まれます。各アメニティには titletype、任意の descriptionavailable フラグがあるため、フィルターは 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 }
  ]
}

Errors and failure paths

ツール呼び出しの結果でHTTPエラーコードをクライアントが目にすることはほとんどありません。MCPレイヤは200を返し、失敗は結果の中に入れて isErrortrue にします。理由はテキストです。エージェントはステータスラインを期待する場所で、代わりにメッセージを読み取ります。

キーが間違っている場合、接続の失敗ではなくツール出力として表れます。 tools/list は空でない任意のキーを受け入れて両方のツールを返すので、クライアントはハンドシェイクを完了して緑色を表示します。最初のツール呼び出しでは isError: true と、テキスト HasData API error: 401 Unauthorized が返ります。その文字列に注意してください。フローのそれ以前で問題を報告することはないからです。

キーが欠落している場合は、唯一の実際のHTTPエラーです。 認証作業はツールの実行前に走るため、接続自体が401で失敗します。CORSヘッダーが存在し、ブラウザのクライアントは不透明なネットワーク障害ではなく ステータスを受け取ります。

ツールのスキーマに違反する引数は、スクレイピングの前に拒否されます。 サーバーは isError: true とテキスト MCP エラー -32602: Input validation error を返し、nr違反フィールドを指定します。データの抽出も課金そも行われません。

空室がない検索はエラーではなく、空配列の properties を持つ成功結果を返します。 場所と期間に空室がなかった場合も、requestMetadata.statusok に設定された結果が戻ります。イテレーション前に配列の長さを確認してください。

取り下げたリスティングの URL は requestMetadata.statuserror として返ります。 古い検索結果の URL が、もう存在しない宿泊先を指すことがります。

データを含む結果には、サポートで引用する価値のある requestMetadata.id も入ってきます。

Pricing, free tier and limits

各Airbnbツールは 成功した呼び出しごとに5クレジット です。レスポンスサイズによって価格は変わりません。 数十件ある検索ページも、2件の検索ページも同じ料金です。

無料トライアルは、カード不要で30日間1,000クレジット であり、Airbnbの呼び出し200回分です。トライアル終了後も、アクティブなアカウントは残高が100を下回るたびに毎日100クレジットが自動追加されるため、低ボリュームのエージェントは無料層で無期限に動かせます。

有料プランは 月額49ドル からで、200,000クレジット(40,000回の呼び出し)です。単価は量が増えるごとに下がります。エントリープランの 1,000回あたり1.23ドル から、Business で 0.50、Growth で 0.42、最大規模のハイボリュームプラン では 0.37 ドルになります。

プランはまた同時実行数も含みます。無料トライアルは1つ同時に、Startup は15、Business は30 、Growth は50、ハイボリュームプランは200から1500までです。無人で動かすものは、過負荷を防ぐように 舵取ります。

200以外で応答したリクエストは課金されません。結果がゼロでも成功した呼び出しは1回分です。

Tool selection

apis クエリパラメータで、エージェントに使われるツールが含まれます。ツールが少ないほど、ツール定義に費やされるコンテキストが少なく、モデルが間違ったツールを選ぶ可能性も低くなります。

?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はありません。APIプログラムは、自社のリスティングを管理するためのパートナー・そしてコホスト向けの統合であり、市場を分析する方法ではありません。滞在を検索し任意のリスティングを読み取るには、パブリックページをスクレイピングするが唯一のルートであり、このサーバーはそれを安定したスキーマの背後で実現しています。

Airbnb partner API

本サーバー

目的

自分のリスティングを管理する

公開マーケットを読む

アクセス

パートナー承認

1つのキーと思えば URL

マーケット横断検索

いいえ

はい

セットアップ

ビジネスオンボーディング

不要

出力

パートナーのペイロード

構造化JSON、価格と評価が事前パース済み

このサーバーが行わないこと。 予約、メッセージ、ホストダッシュボード、ゲストデータはありません。ログアウトした訪問者が見ることのできるものだけを読み取ります。

FAQ

公式のAirbnb MCPサーバーはありますか?

Airbnbは公式のものを公開していません。本サーノーはHasDataが維持しており、公開ページを読み取るため、Airbnb開発者アカウントは不要です。

Airbnb MCPサーバーとは何ですか?

Airbnbのデータを、AIクライアントが呼び出せるツールとして公開するサーバーです。クライアントはModel Context Protocol経由でツール呼び出しを送り、サーバーはデータを取得して構造化JSONを返し、モデルがその結果を扱います。本サーバーは2つのツールを公開し、リモートで動作します。

Airbnb APIキーやパートナーアカウントは必要ですか?

いいえ。唯一の認証情報はHasDataのキーです。ツールはAirbnbの公開ページを読取るため、パートナーオンボーデイングは不要です。

検索結果にベッド数やアメニテイが表示れないのはなぜですか?

Airbnbが検索カーに載せていないからです。それらは物件ページにあり、詳細ツールはURLから読取ります。まず検索で候補を絞。後、後、物件ツールを呼び出して詳細を確認します。

ゲスト数、ペット、日付でフィルタできますか?

はい。リスティングツールはcheckIncheckOutと、adultschildreninfantspetsの数を取り、その人数と期間に対する空き状況と料金を返します。

他のHasData APIと一緒に使えますか?

はい。apisパラメータはリストを受け取ります。?apis=airbnb,bookingとすれば、あなたのAIエージェントにAirbnbとBooking.comを追加します。パラめータを外せばすべてを利用できます。

コンプライアンスとパーソナルデータ

HasDataは公に利用可能なデータにのがnullアクセスします。プットフォームの規約が自動アクセスを制限する場合があり、各自ののンコンプライアンスに責め任はあなたにあります。収集したデータに個人情報が含まれる場合、GDPR、CCPA、またはお住いの地域の同等の規則に基づく正当な法的根拠があることを確認してください。

製品ページとリクエストビルダー

Airbnb Scraper API

サーバードキュメント

MCP server docs

全57ツールを1つのサーバーで

HasData/hasdata-mcp

クライアントウォークスルー

MCP clients and integrations

その他にスクレイピングできるもの

Airbnb Scraper API とさらに54件

プランとクレジット費用

Plans and credit costs

キーと使用状況

HasData dashboard

開発

このリポジトリは、リモートサーエブの構成とドキュメントです。ビルドステップはなく、コンテナ化するものもありません。

test/のテストは、ツール契約を検証します。ここは、このリポジトリへのコミッとトなしで破れる可能性がある部分です。?apis=airbnbが該当に2つのツールを返すこと、すべてのツールが必須パラメータを宣言していること、名前が変更れていないこと、そして使用中のキーが実際に受入れられることをチェックします。最後のチェックは実際にツールを呼び出し、5クレジットを消耗します。それは、正しい理由で失敗できるカナリアの代金です。

# macOS and Linux
HASDATA_API_KEY=your_key_here npm test

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

同じスイートは、毎回のプッシュと週1回のスケジューでCIで実行されます。誰もこのリポジトリを触れなくても、アッパストリームのツールリストが変わる可能性があるためです。失敗があれば、ツールリストが動い、キーが動かなくなり、エンドポイントで不在になったことを意味し、その原因をアサーショシメッセージが示します。

コントリビューション

ツールのプランブルとレスポンスサンプルの訂正が、最も有効なコントリビューションです。それらはずれが生じやすい部分なためです。実行したコールと得られたレスポンスを含めてください。フォークからのプルリクエストはキーなしでテストを実行し、ライブチェックはレッドにならずスキップします。

ライセンス

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