CohostSTR (MCP server for Guesty) について
CohostSTRは、MCP対応AIクライアントをGuestyの物件管理アカウントに接続するオープンソースのMCPサーバーです。予約、ゲスト対応、料金、財務、運営、物件の健全性データを扱い、読み取りと書き込みに対応します。
主な機能
- 01予約とゲストの管理
- 02ゲストへのメッセージとレビュー返信
- 03リスティングとカレンダーの更新
- 04料金と財務レポート
- 05タスクとWebhookの管理
- 06IoTによる物件状態ツール
活用シーン
- 01予約の確認と更新
- 02空室状況の確認と料金調整
- 03清掃とメンテナンスの調整
- 04物件群の収益と経費の取得
MCP 対応
MCP サーバーはGuestyアカウントの操作をツールとしてMCP対応AIクライアントに公開します。GuestyのOAuth2認証情報を使用し、読み取りと書き込みの両方に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y cohoststr-mcpGUESTY_CLIENT_IDシークレットGuesty OAuth2 Client IDGUESTY_CLIENT_SECRETシークレットGuesty OAuth2 Client SecretGUESTY_MCP_LICENSE_KEYシークレットOptional. All tools are currently free; a key is recognized but does not change access.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
44掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| skip | number | いいえ | ページネーションのオフセット |
| limit | number | いいえ | 結果の最大数(デフォルトは 10) |
| status | string | いいえ | ステータスで絞り込みます:confirmed、canceled、inquiry など。 |
| checkInTo | string | いいえ | チェックイン日の終了(YYYY-MM-DD) |
| listingId | string | いいえ | リスティング ID で絞り込む |
| checkOutTo | string | いいえ | チェックアウト日の終了(YYYY-MM-DD) |
| checkInFrom | string | いいえ | チェックイン日の開始(YYYY-MM-DD) |
| checkOutFrom | string | いいえ | チェックアウト日の開始(YYYY-MM-DD) |
詳細
CohostSTR — Guesty 用 MCP サーバー
Guesty の物件管理向け、書き込みに対応したオープンソースの MCP(Model Context Protocol)サーバーです。Guesty に、MCP 対応の AI クライアント(Claude、ChatGPT、Copilot、Cline)を接続して、予約の管理、ゲストとの連絡、収支の追跡、料金の更新ができます。
現在利用可能: Guesty の全 43 ツールを無料で利用できます。予約、リスティング、ゲスト、カレンダー、ゲストとのメッセージ、財務レポート、料金とリスティングの書き込み、運営、レビュー、Webhook、IoT/物件の健全性に対応しています。ライセンスキーも有料プランもありません。
MCP を採用した理由: Guesty は短期賃貸分野で大手の PMS プラットフォームの一つですが、MCP との連携はありませんでした。主要な PMS にはすべて MCP 連携が必要になります。
自社の短期賃貸物件ポートフォリオで、本番環境に導入して運用しています。Node.js + MCP SDK + Express を使用し、MIT ライセンスで公開しています。得られた知見:Guesty の /reservations エンドポイントは将来のデータしか返さないため、過去のデータにはカレンダーエンドポイントを使用します。また、SSE トランスポートは Vercel のサーバーレス環境では動作しません(想定どおりです)。全 44 ツールを無料で利用できます。
全ツールの内訳:44 ツールを登録しており、すべて無料です。Guesty のツールが 43 個(読み取り専用が 23 個、書き込み/ゲストとのメッセージ用が 16 個。get_conversations と draft_guest_reply を含む)、IoT/物件の健全性用が 4 個です。さらに、Guesty API を呼び出さず、このサーバー自体のライセンス状況を報告する get_license_info があります。有料プランはありません。 GUESTY_MCP_LICENSE_KEY は任意で、呼び出せるツールは変わりません。
すべて無料です。 44 個すべてのツールを、ライセンスキーなしで利用できます。有料プラン用のキーも認識され(
get_license_infoに表示されます)が、必須ではなく、追加機能もありません。追加で利用できる機能はありません。GUESTY_MCP_LICENSE_KEYを設定してもしなくても、アクセスできる内容は同じです。
クイックスタート
最も簡単:Claude Desktop 用のワンコマンド設定(キーは画面に表示されません)
npx -y cohoststr-mcp setup
非表示のプロンプトで Guesty の Client ID と Client Secret を入力します(入力内容はアスタリスクも含めて一切表示されません)。既存の Claude Desktop 設定をバックアップし、CohostSTR を追加します。すでに設定している他の MCP サーバーも保持されます。その後、Claude Desktop を終了して再起動してください。Claude が何かを変更するツールの使用許可を求めたら、「常に許可」ではなく、そのとき一度だけ許可してください。変更のたびに承認できます。
または、自分で設定する
npx cohoststr-mcp
Claude Code:
claude mcp add cohoststr -s user -e GUESTY_CLIENT_ID=your-client-id -e GUESTY_CLIENT_SECRET=your-client-secret -- npx -y cohoststr-mcp
Claude Desktop を手動で設定する場合:Settings > Developer > Edit Config に進み、mcpServers の下に追加します。
{
"mcpServers": {
"cohoststr": {
"command": "npx",
"args": ["-y", "cohoststr-mcp"],
"env": {
"GUESTY_CLIENT_ID": "your-client-id",
"GUESTY_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Guesty API 認証情報の取得
Open API にアクセスできる Guesty プランが必要です(Pro または Enterprise。Lite は対象外です。guesty.com/pricing を参照してください)。
- Guesty にログインします
- Integrations > Developer tools > OAuth applications に進み、新しい API アプリケーションを作成します(Guesty クイックスタートガイド)
- Client ID と Client Secret をコピーします(Guesty でシークレットが表示されるのは一度だけです)
全 44 ツール
予約とゲスト
| ツール | 説明 |
|---|---|
get_reservations | フィルター(日時、リスティング、ステータス、ゲスト)を指定して予約を取得します |
create_reservation | 直接予約を作成します(ウェブサイトから Guesty へ) |
update_reservation | 予約のステータス、日付、ゲスト情報を更新するか、メモを追加します |
search_reservations | ゲストの名前、メールアドレス、または確認コードで検索します |
get_reservation_financials | 予約の詳細な財務内訳を取得します |
create_reservation_note | 予約に内部メモを追加します |
get_guests | 名前またはメールアドレスでゲストデータベースを検索します |
get_guest_by_id | ゲストの詳細なプロフィールを取得します |
リスティングとカレンダー
| ツール | 説明 |
|---|---|
get_listing | 物件の詳細を取得するか、すべての物件を一覧表示します |
update_listing | タイトル、説明、アメニティ、最低宿泊日数、最大宿泊人数を更新します |
get_calendar | 日付ごとの空室状況と料金を確認します |
update_calendar | 日付をブロック/ブロック解除し、最低宿泊日数を設定します |
get_calendar_blocks | 理由とともにブロック済みの日付を取得します |
get_listing_occupancy | 指定した期間の稼働率を計算します |
get_photos | キャプション付きでリスティングの写真を取得します |
update_photos | リスティングの写真を差し替えるか、並べ替えます |
メッセージ
| ツール | 説明 |
|---|---|
get_conversations | ゲストとのメッセージ履歴を取得します |
send_guest_message | 会話内でゲストにメッセージを送信します |
財務と料金設定
| ツール | 説明 |
|---|---|
get_financials | 収益、支払い、手数料のデータを取得します |
update_pricing | 基本料金または日付別料金を更新します |
get_listing_pricing | 基本料金、割引、手数料の詳細を取得します |
update_listing_pricing | 基本料金、清掃料金、割引を更新します |
get_owner_statements | オーナー向けの収益明細とレポートを取得します |
get_expenses | 運営費用を追跡します |
create_expense | 新しい費用記録を作成します |
get_revenue_summary | すべてのリスティングの収益を集計します |
運用
| ツール | 説明 |
|---|---|
get_tasks | 清掃とメンテナンスのタスクを取得します |
create_task | 清掃またはメンテナンスのタスクを作成します |
get_reviews | すべてのチャネルからゲストレビューを取得します |
respond_to_review | ゲストレビューへの返信を投稿します |
get_channels | 物件ごとに接続されている予約チャネルを一覧表示します |
get_supported_languages | リスティングでサポートされている言語を取得します |
自動化とインテグレーション
| ツール | 説明 |
|---|---|
get_automation_rules | 自動化ルールとワークフロールールを一覧表示します |
get_webhooks | 登録済みのウェブフックを一覧表示します |
create_webhook | イベント通知用の新しいウェブフックを登録します |
delete_webhook | 登録済みのウェブフックを削除します |
get_custom_fields | リスティングまたは予約のカスタムフィールドを取得します |
get_account_info | アカウント情報とサブスクリプションの詳細を取得します |
サーバーとライセンス
| ツール | 説明 |
|---|---|
get_license_info | この MCP サーバー自身のライセンス状態を報告します。現在、すべてのツールは無料です。ツール台帳とキーが検出されたかどうかを一覧表示します。Guesty API は呼び出しません。 |
このツールは登録済みの44個のツールには含まれますが、「43個のGuestyツール」という数には含まれません。Guestyアカウントに対して何かを行うのではなく、当方のライセンス状態を報告するためです。43個のGuestyツールとこのツールを合わせて44個です。
IoTと物件の状態
| ツール | 説明 |
|---|---|
get_readiness_score | 清掃、メンテナンス、IoTのシグナルに基づいて、物件のターンオーバー準備状況を総合的にスコア化します |
get_property_health | 物件ごとの状態シグナルを集約します。予約状況、未解決のメンテナンスアラート、レビュー評価、最終清掃時刻、IoTハブの状態が含まれます |
submit_checkout_photos | チェックアウト後の写真アップロードを受け付け、物件のメンテナンス/清掃記録に記録します |
get_maintenance_alerts | 物件またはポートフォリオの未解決のメンテナンスアラートを一覧表示または絞り込みます |
この4つのツールも、ほかのすべてのツールと同様に無料です。これらのツールは、オプションのウェブフック受信サーバー(src/webhook/iot-receiver-server.js)がデータを登録するローカルIoTデータベース(IOT_DB_PATH)を読み取ります。デバイスからの報告がない場合、デバイスとアラートのリストは空になり、不足しているシグナルをそれぞれ示す低い準備状況スコアが返され、状態スナップショットのIoTフィールドはnullになります。これはエラーではありません。また、Guesty側のフィールドは引き続き入力されます。
ユースケース
- ゲストとのコミュニケーション:ゲストメッセージングツールが、実際の予約データに基づいて返信を作成し、送信します
- 収益管理:財務レポートを取得し、稼働率を分析して、料金を最適化します
- 運営業務:チェックイン/チェックアウトを追跡し、清掃スケジュールを調整して、空室状況を管理します
- マーケティング:稼働率が低い期間を特定し、ターゲットを絞ったプロモーションを作成します
- ツール連携:スタック内のすべての MCP 対応クライアントが、同じ物件データにアクセスできるようにします
要件
- Node.js 18+
- API アクセスが可能な Guesty アカウント(Professional プラン以上)
- MCP 対応 AI クライアント(Claude Code、Cursor、Windsurf など)
環境変数
| 変数 | デフォルト | 用途 |
|---|---|---|
GUESTY_CLIENT_ID | — | OAuth2 クライアント ID(必須) |
GUESTY_CLIENT_SECRET | — | OAuth2 クライアントシークレット(必須) |
IOT_WEBHOOK_PORT | 3100 | IoT Webhook 受信スタブ(src/webhook/iot-receiver-server.js)のポート。ローカルまたはリバースプロキシ経由のみで使用してください。公開しないでください。本番環境では、TLS を終端し、IOT_WEBHOOK_SECRET に対する実際の HMAC 検証を強制するリバースプロキシが必要です。 |
API リファレンス
このサーバーは Guesty Open API をラップしています。認証には OAuth2 クライアントクレデンシャルフローを使用し、トークンの自動キャッシュ、リトライロジック、レート制限への対応を備えています。
開発元
短期賃貸物件の運営者が自社のポートフォリオで構築・運用し、STR コミュニティと共有しています。Guesty とは提携していません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。