hostaway-kit について
hostaway-kitは、Hostawayを物件管理システムとして使う運営者向けの読み取り専用MCPサーバーとスキル集です。リスティング、カレンダー、受信トレイ、レポートを扱い、認証情報がない場合は同梱のフィクスチャを利用できます。
主な機能
- 01リスティング、カレンダー、予約の読み取り
- 02受信トレイのスレッドとメッセージ確認
- 03未返信の分類と返信案の作成
- 04稼働状況とリスティングの完全性を報告
- 05指定された機密フィールドの除去
- 06認証情報不要のデモ用フィクスチャ
活用シーン
- 01物件の空き状況とカレンダーの確認
- 02未返信のゲストメッセージの分類
- 03稼働状況とブロック日数の確認
- 04リスティングの不足情報の発見
MCP 対応
stdioのMCPサーバーは、リスティング、カレンダー、予約、会話、メッセージ、分類、返信案、レポート向けの読み取り専用Hostawayツールを公開します。書き込みやメッセージ送信の機能はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y hostaway-kitHOSTAWAY_ACCOUNT_IDHostaway account id. Optional: omit both credentials to run fixtures.HOSTAWAY_CLIENT_SECRETシークレットHostaway API client secret. Optional: omit both credentials to run fixtures.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| city | string | いいえ | |
| match | string | いいえ | リスティング名で検索 |
| includeArchived | boolean | いいえ | true の場合、specialStatus[]=active を省略します |
| availabilityDateEnd | string | いいえ | Y-m-d。fixture の滞在における、期間に含まれないチェックアウト日 |
| availabilityDateStart | string | いいえ | Y-m-d。Hostaway のリスティング一覧に渡されます |
| availabilityGuestNumber | integer | いいえ |
詳細
hostaway-kit
すでにPMSとしてHostawayを利用している運営者向けの、読み取り専用MCPサーバーと Cursor / Claude Code / Codex スキルです。
アシスタントにリスティング、カレンダー、受信トレイ、簡易レポートについて質問できます。Hostaway が引き続き信頼できる唯一の情報源です。このキットは書き込みを一切行いません。メッセージの送信、カレンダーのブロック、予約の作成は行いません。
カスタム Hostaway 予約サイトや運営者向けダッシュボードを構築する、AI ネイティブなベンチャースタジオ**STYLABS**が提供しています。STYLABS は Hostaway の公式パートナーではありません。
提供内容
- 読み取り専用 MCP(stdio) —
list_listings、get_listing、get_calendar、list_reservations、list_conversations、list_messagesに加え、受信トレイのトリアージ、返信の下書き、レポートを利用できます。 - すべてのリスティング/予約/メッセージのペイロードに対する拒否リスト:
wifiPassword、wifiUsername、doorSecurityCode、doorCode、doorCodeVendor、doorCodeInstruction、およびすべてのinvoicing*連絡先フィールド。 - Hostaway が算出しない受信トレイのインテリジェンス — 未返信/SLA のトリアージと、そのリスティングのフィールド、ハウスルール、カレンダーに基づく返信案を提供します。料金はカレンダーから取得するか、不明として報告されます。送信は行いません。
- Hostaway がオーナー向け明細として提供していないレポート — カレンダーから算出する稼働率とブロックされた空き期間、未返信スレッド数、リスティングの充実度(写真/ハウスルール/アメニティ)。財務情報は含みません。
- このリポジトリ内のスキル(npm では公開されていません)。モデルに MCP ツールを使い、数値を決して捏造しないよう指示します。
Hostaway Public APIに対応しています。
| キットの動作 | Hostaway |
|---|---|
| 有効なリスティング | GET /v1/listings?specialStatus[]=active |
| 1 件のリスティング | GET /v1/listings/{id}?includeResources=1 |
| カレンダー | GET /v1/listings/{id}/calendar?includeResources=1 |
| リスティング一覧での宿泊検索 | availabilityDateStart、availabilityDateEnd、availabilityGuestNumber |
| チェックイン/チェックアウト | 整数の0~23(checkInTimeStart、checkInTimeEnd、checkOutTime) |
| アメニティ | 自由入力の名称ではなくamenityIdの整数(GET /v1/amenitiesで名称を解決します) |
| 受信トレイ | GET /v1/conversations、GET /v1/conversations/{id}/messages |
| 予約の作成/メッセージの送信 | 対象外 |
HOSTAWAY_ACCOUNT_IDまたはHOSTAWAY_CLIENT_SECRETが設定されていない場合、サーバーは同梱のフィクスチャを提供するため、npxでデモを実行できます。
インストール/実行
npx -y hostaway-kit
または、このリポジトリから実行します。
npm install
npm run build
node dist/index.js
stdio のみです。ログは stderr に出力されます。認証情報は任意です。
環境変数
| 変数 | 必須 | 用途 |
|---|---|---|
HOSTAWAY_ACCOUNT_ID | ライブ読み取り時 | Hostaway アカウント ID(POST /v1/accessTokensのclient_id) |
HOSTAWAY_CLIENT_SECRET | ライブ読み取り時 | Hostaway ダッシュボードで取得したクライアントシークレット |
HOSTAWAY_KIT_NOW | いいえ | SLA の計算で「現在」の日時を固定する ISO タイムスタンプ(テストで使用) |
Hostaway ダッシュボードで API クライアントシークレットを取得してください。このキットは Hostaway アカウントを提供も使用もしません。
Cursor
~/.cursor/mcp.json(またはプロジェクトの.cursor/mcp.json)に追加します。
{
"mcpServers": {
"hostaway": {
"command": "npx",
"args": ["-y", "hostaway-kit"],
"env": {
"HOSTAWAY_ACCOUNT_ID": "your-account-id",
"HOSTAWAY_CLIENT_SECRET": "your-client-secret"
}
}
}
}
フィクスチャのデモを実行するには、両方の env 値を空のままにするか、envを省略してください。
このリポジトリからスキルを Cursor にコピーします。
cp -R skills/* ~/.cursor/skills/
Claude Code
~/.claude.json(またはプロジェクトの.mcp.json)に追加します。
{
"mcpServers": {
"hostaway": {
"command": "npx",
"args": ["-y", "hostaway-kit"],
"env": {
"HOSTAWAY_ACCOUNT_ID": "your-account-id",
"HOSTAWAY_CLIENT_SECRET": "your-client-secret"
}
}
}
}
スキル:
mkdir -p .claude/skills
cp -R skills/* .claude/skills/
Codex
~/.codex/config.toml:
[mcp_servers.hostaway]
command = "npx"
args = ["-y", "hostaway-kit"]
[mcp_servers.hostaway.env]
HOSTAWAY_ACCOUNT_ID = "your-account-id"
HOSTAWAY_CLIENT_SECRET = "your-client-secret"
スキルはこのリポジトリのskills/にあります。Codex からそのフォルダーを参照するか、SKILL.mdファイルを Codex のスキルパスにコピーしてください。
スキル(リポジトリのみ)
| スキル | 使用する場面 |
|---|---|
skills/hostaway-pms | PMS は引き続き Hostaway を使用します。Hostaway のウェブサイトビルダーを勧めないでください。 |
skills/hostaway-guest-answers | そのリスティングのフィールドのみを使ってゲストに回答します。 |
skills/hostaway-availability | リスティングのフィルターとカレンダーを使った日付範囲の空き状況確認。 |
skills/hostaway-inbox | SLA のトリアージと返信の下書き。送信はしないでください。 |
skills/hostaway-reporting | 稼働率、空き期間、未返信数、充実度。 |
npm パッケージに含まれるのは MCP サーバーのみです。スキルは git に保存されます。
ツール
| ツール | 機能 |
|---|---|
list_listings | 公開中のリスティング。任意で都市名/名称/空き状況による絞り込みが可能です |
get_listing | 1件のリスティング。リソースを含み、機密情報は除外されます |
get_calendar | ステータス、isAvailable、price(null = 不明)を含む日ごとの行 |
list_reservations | 予約。ドアコードは除外されます |
list_conversations | 受信トレイのスレッド |
list_messages | スレッド内のメッセージ |
inbox_triage | 未返信件数と SLA(breached / waiting / answered) |
draft_reply | 根拠に基づく返信の下書き。send は常に false です。 |
report_occupancy | 予約済み/空き/ブロック済みの日数と、ブロックによる空き |
report_inbox | 未返信スレッド数 |
report_completeness | 写真、ハウスルール、アメニティの不足 |
稼働率 = 予約済みの宿泊数 ÷(予約済み + 空き)。ブロック済みの宿泊数は空きとして示され、稼働率には含まれません。
フィクスチャ
デモ用の物件データ(実際のHostawayアカウントではありません):
- 101 Harbor View Studio — 情報が揃ったリスティングです。生のフィクスチャには
wifiPassword/請求先連絡先が含まれますが、拒否リストによって除外されます。 - 102 Riverside Loft — 写真がありません。
- 103 Pine Cabin — ハウスルールとアメニティがありません。
- 199 — アーカイブ済みです。
includeArchivedが true でない限り除外されます。 - 101の2026年8月のカレンダー。予約済みの宿泊日、2泊分のブロックによる空き(8月6~7日)、および
price: nullの8月11日が含まれます。 - 未読スレッドは501(SLA違反)、502(SLA内)、504(情報が不完全なリスティングに関するペットの質問)です。503は返信済みです。
テスト
npm test
拒否リスト、フィクスチャのフィルター、稼働率の計算、SLA件数、機密情報や未確認の料金を含む返信の拒否、送信経路が存在しないことを検証します。
対象外
あらゆる種類の書き込み。Guest Payments、Stripe、WordPressプラグイン、ホスト型Claudeコネクター、Cursorマーケットプレイスプラグイン、Hostawayのウェブサイトビルダー、Flagshipのゲスト向けウェブサイト、オーナー向け明細書、または実際のクライアントデータ。
ライセンス
MIT。LICENSEを参照してください。
Hostawayはその所有者の商標です。このプロジェクトはHostawayと提携しておらず、Hostawayの承認も受けていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。