stayport について
stayportは、CLIとMCPクライアントからHostexの施設管理アカウントに接続し、宿泊施設の運営者が施設、予約、空室状況、ゲストとの会話、レビューを管理するためのツールです。Webhook、カレンダー、料金、カスタムチャネルも操作できます。
主な機能
- 01施設と部屋タイプの管理
- 02予約の検索、作成、キャンセル
- 03空室状況の照会と更新
- 04会話の確認とゲストへのメッセージ送信
- 05レビューとWebhookの管理
- 06カレンダーの取得と料金の更新
活用シーン
- 01施設とゲスト予約の確認
- 02直接予約の作成や予約のキャンセル
- 03期間を指定した空室状況の更新
- 04ゲストへの連絡やレビュー対応
MCP 対応
stdio MCPサーバーを提供し、23種類のHostex操作をhostex_*ツールとしてMCPクライアントに公開します。ほとんどの操作にはHOSTEX_ACCESS_TOKENが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
23掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| id | number | いいえ | 物件 ID のフィルター。この ID の物件のみを返します。 |
| limit | number | いいえ | 返す物件の最大数。 |
| offset | number | いいえ | ページングのためにスキップするレコード数。 |
詳細
stayport
stayport は、ターミナルと MCP クライアントから Hostex の物件管理アカウントに接続します。物件と部屋タイプ、予約(直接予約の作成、キャンセル、ロックコード、滞在ごとのカスタムフィールドを含む)、空室状況、ゲストとの会話、レビュー、Webhook、リスティングのカレンダーと料金、カスタムチャネル、収入方法を扱います。1つのバイナリでコマンドラインインターフェースと stdio MCP サーバーの両方を提供し、同じ23個の操作を hostex_* ツールとして公開します。
必要な認証情報は2種類です。すべての v3 API 呼び出しでは、値を HOSTEX_ACCESS_TOKEN 環境変数から取得する Hostex-Access-Token ヘッダーを送信します。呼び出し先は HOSTEX_API_URL でベース URL を上書きしない限り、https://api.hostex.io/v3 です。トークンが設定されていない場合、コマンドは環境変数名を明記したエラーで失敗します。stayport が結果を捏造することはありません。ゲストレビュー操作だけはトークンのフローの例外です。Hostex の Web アプリ経由で投稿するため、HOSTEX_EMAIL と HOSTEX_PASSWORD でログインします(Web のベース URL は HOSTEX_WEB_API_URL で上書きできます。デフォルトは https://hostex.io/api です)。これらが未設定の場合も、同様に正直にエラーで失敗します。
v3 の呼び出しが成功と見なされるのは、レスポンスエンベロープの error_code が 200 を示す場合に限られます。エンベロープの data が返されます。それ以外のエンベロープは、上流の error_msg と request_id を含むエラーになります。
インストール
npx @reneturcios/stayport properties
または、コンテナイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/stayport
コンテナはデフォルトで MCP サーバーとして動作します(下記を参照)。CLI として使うには CLI の引数を渡し、サーバーがアカウントに接続できるように、上記の環境変数を -e で渡します。
CLI
export HOSTEX_ACCESS_TOKEN=... # from your Hostex account settings
stayport properties --limit 10
stayport room-types
stayport reservations --status accepted --start-check-in-date 2026-11-01
stayport create-reservation --property-id 123 --custom-channel-id 9 \
--check-in-date 2026-11-10 --check-out-date 2026-11-12 \
--guest-name "Ada Lovelace" --currency USD --rate-amount 20000 \
--commission-amount 1000 --received-amount 20000 --income-method-id 3
stayport cancel-reservation RES-123
stayport update-lock-code STAY-9 4321
stayport get-custom-fields STAY-9
stayport update-custom-fields STAY-9 '{"gate_code":"88"}'
stayport availabilities --property-ids 1,2 --start-date 2026-11-01 --end-date 2026-11-07
stayport update-availabilities --property-ids 1,2 --available false --dates 2026-11-03
stayport conversations --limit 5
stayport conversation conv-9
stayport send-message conv-9 --message "Welcome! Check-in is at 3pm."
stayport reviews --property-id 123
stayport create-review RES-123 --score 5 --content "Great guest"
stayport webhooks
stayport create-webhook https://example.com/hook
stayport delete-webhook 17
stayport listing-calendar --start-date 2026-11-01 --end-date 2026-11-30 \
--listings '[{"channel_type":"airbnb","listing_id":"L1"}]'
stayport update-listing-prices --channel-type airbnb --listing-id L1 \
--prices '[{"date":"2026-11-05","price":15000}]'
stayport custom-channels
stayport income-methods
stayport --version
ゲストレビューコマンドには、Web アプリへのログインも必要です。
export [email protected]
export HOSTEX_PASSWORD=...
stayport post-guest-review --reservation-order-code 0-ABC123-xyz \
--content "Lovely stay" --recommend 1 --overall-rating 5 \
--cleanliness 4 --respect-of-house-rules 5 --communication 5
成功したコマンドは、レスポンスの data を JSON として出力します。終了コード:成功時は 0、呼び出しの失敗時(認証情報の不足、上流エンベロープのエラー、ネットワーク障害)は 1、使用方法のエラーは 2 です。予約作成時の金額はセント単位で、Hostex API が受け取る形式とまったく同じです。リスティングの料金は、API が期待する形式のまま渡します。
MCP サーバー
1つのバイナリで両方の機能を提供します。mcp サブコマンドで stdio MCP サーバーを起動します。
npx -y @reneturcios/stayport mcp
MCP クライアントの設定:
{
"mcpServers": {
"stayport": {
"command": "npx",
"args": ["-y", "@reneturcios/stayport", "mcp"],
"env": {
"HOSTEX_ACCESS_TOKEN": "..."
}
}
}
}
ゲストレビュー用ツールを動作させるには、env ブロックに HOSTEX_EMAIL と HOSTEX_PASSWORD を追加します。それ以外の22個のツールに必要なのはアクセストークンのみです。
ツール
| ツール | 入力 | 機能 |
|---|---|---|
hostex_list_properties | offset、limit、id(すべて任意) | ID、タイトル、住所、チャネル、座標とともに物件を一覧表示します。 |
hostex_list_room_types | offset、limit(任意) | 部屋タイプを一覧表示します。 |
hostex_list_reservations | reservation_code、property_id、status、チェックイン/チェックアウト日の範囲、order_by、offset、limit(すべて任意) | 予約を一覧表示し、検索します。 |
hostex_create_reservation | property_id(文字列)、custom_channel_id、check_in_date、check_out_date、guest_name、currency、rate_amount、commission_amount、received_amount、income_method_id(必須);number_of_guests、email、mobile、remarks(任意) | 直接予約を作成します。金額の単位はセントです。 |
hostex_cancel_reservation | reservation_code | 直接予約をキャンセルします(チャネル経由の予約には対応していません)。 |
hostex_update_lock_code | stay_code、lock_code | 滞在のロックコードを設定します。 |
hostex_get_custom_fields | stay_code | 滞在のカスタムフィールドを読み取ります。 |
hostex_update_custom_fields | stay_code、custom_fields(オブジェクト) | 滞在のカスタムフィールドを書き込みます。自動メッセージでは {{cf.field_name}} として使用できます。 |
hostex_list_availabilities | property_ids(カンマ区切りの文字列)、start_date、end_date | 指定した日付範囲の空室状況を照会します。 |
hostex_update_availabilities | property_ids(数値配列)、available;start_date、end_date、dates(任意) | 日付または期間の空室状況を設定します。 |
hostex_list_conversations | offset、limit(任意) | ゲストとの会話や問い合わせを一覧表示します。 |
hostex_get_conversation | conversation_id | すべてのメッセージを含む会話を取得します。 |
hostex_send_message | conversation_id;message、jpeg_base64(任意) | ゲストにテキストまたはJPEG画像のメッセージを送信します。 |
hostex_list_reviews | reservation_code、property_id、review_status、チェックアウト日の範囲、offset、limit(すべて任意) | フィルターを指定してレビューを照会します。 |
hostex_create_review | reservation_code;host_review_score、host_review_content、host_reply_content(任意) | 予約のレビューまたは返信を作成します。 |
hostex_post_guest_review | reservation_order_code、content、recommend("0"/"1")、overall_rating、cleanliness、respect_of_house_rules、communication("1"~"5");任意の *_content メモ3件 | ウェブアプリから完全なゲストレビューを投稿します。メールアドレスとパスワードでのログインが必要です。 |
hostex_list_webhooks | (なし) | 設定済みのWebhookを一覧表示します。 |
hostex_create_webhook | url | Webhookを作成します。 |
hostex_delete_webhook | webhook_id | 管理可能なWebhookを削除します。 |
hostex_get_listing_calendar | start_date、end_date、listings({channel_type, listing_id} 配列) | 複数のリスティングのカレンダー情報を取得します。 |
hostex_update_listing_prices | channel_type、listing_id、prices({date, price} 配列) | リスティングの料金を更新します。 |
hostex_list_custom_channels | (なし) | Custom Options Pageのカスタムチャネルを一覧表示します。 |
hostex_list_income_methods | (なし) | Custom Options Pageの収入方法を一覧表示します。 |
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。