MCP を備えた AI アシスタントとは
MCP は外部の AI アシスタントを Luma Concierge に接続します。オーナーとマネージャーはホテルの運用に関する質問をし、システムの現在のデータに基づいた回答を得ることができます。これはチーム向けの個別の接続であり、ゲストがアプリを利用するために必要となるものではありません。
サーバーは読み取り専用で動作します。AI は行動計画を提案できますが、担当者の割り当て、ステータスの変更、ゲストへのメッセージ送信、支払い操作は Luma のインターフェースで実行されます。
利用可能なデータ
| ツール | AI が取得するもの | 質問の例 |
|---|---|---|
get_operational_overview |
ステータス別の未対応リクエスト数、期限超過リクエスト、アクティブな滞在 | 「シフト開始のための簡単なサマリーを準備して」 |
list_open_requests |
最新の未対応リクエスト:番号、名称、ステータス、優先度、担当者、日付 | 「新規リクエストを表示して、処理順序を提案して」 |
list_active_stays |
アクティブな滞在:部屋番号、チェックイン日とチェックアウト日 | 「アクティブな滞在の中で予定されているチェックアウトはどれ?」 |
list_service_catalog |
アクティブなサービス、料金、通貨、支払い方法、利用可能時間、予約ルール | 「利用可能なサービスとその料金は?」 |
リストはデフォルトで最大 20 件を返します。パラメータ limit は 1 から 50 まで指定できます。ページネーションはありません。50 件のリストはレポートの完全性を保証するものではありません。リクエストは新しい順に並び、滞在はチェックアウト時刻順に並びます。完全な件数にはサマリーを使用してください。
リクエストにはフィルタ status があります:new、accepted、in_progress、waiting_guest、ready。完了済みおよびキャンセル済みのリクエストは未対応リストに含まれません。カタログは名称と説明を英語で返します。アシスタントは回答を翻訳できます。料金は price_minor に保存されます:IDR の場合は表示金額、その他の対応通貨の場合は通貨の 100 分の 1 単位です。
接続方法
- オーナー管理画面にログインし、管理メニューの「AI と MCP」を開きます。接続名を入力し、「トークンを作成」をクリックします。発行されたトークンをコピーしてください。作成後、このページでのみ表示されます。マネージャーはホテルのオーナーからトークンを受け取ります。
- 互換性のある AI クライアントの設定で、HTTP と認証ヘッダーをサポートするリモート MCP サーバーを追加します。
- アドレス
https://lalo.craabchee.com/mcpと、発行されたトークンによるBearer認証を指定します。クライアントは各リクエストでヘッダーAuthorization: Bearer <MCP_TOKEN>を送信する必要があります。ここで<MCP_TOKEN>は表記であり、実際のキーではありません。 - 接続を保存し、クライアントが上記の表にある 4 つのツールを認識していることを確認します。
- ホテルのサマリーをリクエストします。結果を管理画面の現在のデータと比較し、
generated_atの時刻を確認します。
プロトコル 2025-11-25、JSON-RPC 2.0、POST リクエストへの JSON レスポンスをサポートします。GET/SSE ストリームは提供されません。OAuth ログインは実装されていません:OAuth が必須のクライアントはこの方法では接続できません。具体的なフィールド名は AI クライアントによって異なります。
チーム向けのリクエスト例
オーナー: 「MCP 経由で最新のサマリーを取得してください。ステータス別の未対応リクエスト、期限超過件数、アクティブな滞在数を表示してください。チーム向けの優先事項を 3 つ提案してください。データの時刻とサンプリングの制限を明記してください」。
マネージャー: 「list_open_requests で status: new を指定し、最大 50 件の新規リクエストを取得してください。優先度でグループ化し、担当者のいないリクエストをマークし、処理順序を提案してください。何も変更しないでください」。
チェックアウトの準備: 「最大 50 件のアクティブな滞在を取得してください。部屋番号と時刻を含む直近のチェックアウトを抽出してください。ゲストの身元を特定せず、リストが制限されている場合はその旨を明記してください」。
カタログ: 「アクティブなサービスを取得してください。料金と事前予約ルールをわかりやすい言葉で説明してください。特定の日付の空き状況を約束しないでください:MCP は残席数を返しません」。
AI アシスタント向けの指示
この指示はお使いのアシスタントの設定に保存できます:
Luma MCP ツールを使用して現在のデータを取得してください。サーバーからの回答に含まれる事実と推奨事項を区別してください。サマリーの時刻とリストの制限を明記してください。存在しないデータを捏造せず、部屋番号や日付からゲストの身元を特定しないでください。MCP は読み取り専用です。リクエストの変更、支払い、メッセージ送信については、マネージャーが Luma で操作を実行するよう提案してください。データが利用できない場合は、その旨を率直に伝えてください。
接続の管理とプライバシー
各トークンは 1 つのホテルに紐づきます。MCP はゲストの氏名や連絡先、PIN コード、リクエストの説明、内部メモ、支払いデータを返しません。ただし、部屋番号、リクエスト名、割り当てられた従業員の名前はアシスタントから参照できます。チームが信頼する AI クライアントを選択してください。
トークンは保護された接続設定に保管してください。メッセージ、アドレスバー、スクリーンショット、共有ドキュメントに貼り付けないでください。クライアントごとに個別のトークンを発行してください。アクセスを失った場合や担当者が変わった場合、オーナーは管理画面で「AI と MCP」を開き、該当する接続の「失効」をクリックする必要があります。
接続が機能しない場合
- 401: トークンが存在しない、正しくない、または失効しています。また、管理者とホテルの有効性およびサブスクリプションによるアクセスを確認してください。
- 403: ブラウザクライアントの Origin が許可されていません。管理者は許可されたオリジンの設定を確認する必要があります。チェックを無効にする必要はありません。
- 405: クライアントが GET を使用しています。接続は JSON レスポンスを伴う POST で動作する必要があります。
- 429: リクエスト制限を超えています。待ってからリクエストを再試行してください。ルートは 1 分あたり 60 リクエストに制限されています。
- 空のリスト: 該当するデータが存在しない可能性があります。ステータス、滞在日、フィルタを確認してください。存在しないデータを推測で補わないでください。
- OAuth が必要: 現在の統合は Bearer トークンを使用しています。互換性のあるクライアントを選択してください。
オーナー管理画面には、接続名、作成日、最終使用日、ステータスが表示されます。AI クライアントを無効にするには、「失効」をクリックします。失効するとこのトークンによるアクセスが停止します。再接続するには新しいトークンを作成してください。他のホテルのトークンにはアクセスできず、マネージャーはトークンを発行または失効できません。