Skip to content

tjackiet/test_booking_mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Booking.com Mock MCP Server

Booking.com 風の検索/見積/予約フローを MCP ツールとして提供する最小サーバーです。開発・検証向けにモックデータを返します。

要件

  • Node.js 18+(推奨: 20 以上)
  • npm(または互換ツール)

セットアップ

npm install

任意で .env を用意(※モックでは不要! 実 API 切替時に使用想定。)

PORT=3002
BOOKING_API_BASE=
BOOKING_API_KEY=

スクリプト

  • 開発(TS を直接実行)
    npm run mcp:dev
  • HTTP 待受(デフォルト: http://localhost:3002/mcp)
    npm run mcp:http
  • STDIO 起動
    npm run mcp:stdio
  • ビルド
    npm run build

MCP Inspector での確認

  • STDIO:
    • Transport: STDIO
    • Command: tsx
    • Arguments: /Users/<you>/Desktop/booking/src/server.ts
    • Env: MCP_TRANSPORT=stdio
  • HTTP:
    • npm run mcp:http で待受し、URL に http://localhost:3002/mcp

ChatGPT(Apps / Connectors)

  • STDIO(Apps SDK 推奨の一つ): 本リポ直下の app.json を読み込み
  • HTTP(公開 URL が必要):
    1. サーバを起動: npm run mcp:http
    2. トンネル: 例)ngrok http 3002
    3. 発行された https://... の末尾に /mcp を付けて Connector の MCP Server URL に設定
    4. モック運用中は Authentication = None

提供ツール

  • search_accommodations
  • quote_booking
  • create_reservation

戻りは MCP の structuredContent を使用(エラー時は isError: true)。

Inspector で手動入力(search_accommodations の JSON)

{
  "destination": "Tokyo",
  "check_in": "2025-11-22",
  "check_out": "2025-11-24",
  "guests": 2,
  "rooms": 1,
  "currency": "JPY",
  "max_price": 20000,
  "free_cancellation": true
}

ChatGPT で自然言語(Apps/Connectors 経由)

  • 「東京で 11/22–11/24、大人2名、上限2万円、キャンセル可で探して」
    • モデルが search_accommodations を自動選択→引数を生成
    • 続けて「1件目を見積もって」→ quote_booking
    • 「予約して。連絡先は… 支払いトークンは tok_test_123」→ create_reservation
      • (トークンを発行していなくても ChatGPT 等の MCP クライアントが生成してくれる)

自然言語の場合、明示的な JSON は不要です(ツールの引数はモデルが自動で構築します)。

実 API へ切替える場合

  • bookingClient() 内のモック実装を HTTP 呼び出しへ置換
  • 認証情報は .env で管理(API Key / OAuth いずれでも対応可能)

ライセンス

MIT(必要に応じて変更してください)

About

(WIP)Booking.com のモック MCP サーバー

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors