Rate Ranger

Watch a hotel's price after your user booked it, and email them when it drops enough to rebook.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
100%
命名の品質
100%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~670トークン数(ツール定義)
~2.8 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.52%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "hotel-price-monitor": {
      "url": "https://www.rateranger.io/api/mcp"
    }
  }
}

リモートエンドポイント

https://www.rateranger.io/api/mcpstreamable-http

できること

ツール一覧

ツール(2)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟡submit_hotel_booking(email, bookings, agent)

Enrol a hotel booking the traveller has ALREADY made into free price monitoring. Rate Ranger watches what the hotel charges for the same dates and emails them if it drops far enough to be worth rebooking. IMPORTANT: this monitors nothing on its own. The traveller is emailed one confirmation link, and no price is checked until they click it. Tell your user to expect that email. Do not tell them the booking is being tracked until check_hotel_booking says it is. Unconfirmed bookings are deleted after 7 days. Use this only for a booking that already exists. It does not search for or make reservations.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "The traveller's own email address. One per call. The confirmation and any later price alerts go here, so it must be an address they actually read."
    },
    "bookings": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10,
      "items": {
        "type": "object",
        "required": [
          "hotel_name",
          "city",
          "country",
          "check_in_date",
          "check_out_date",
          "total_price"
        ],
        "properties": {
          "hotel_name": {
            "type": "string",
            "description": "The property as it is normally listed. Closer to the official name is better; it is matched against live hotel data."
          },
          "city": {
            "type": "string",
            "description": "City, not district or area."
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2, for example JP or ID. Required, and it matters more than it looks: it decides which rate source can find the hotel at all."
          },
          "check_in_date": {
            "type": "string",
            "description": "YYYY-MM-DD, in the future."
          },
          "check_out_date": {
            "type": "string",
            "description": "YYYY-MM-DD, after check-in."
          },
          "total_price": {
            "type": "number",
            "description": "The whole cost of the stay, not a nightly rate. Decimals are fine here; only the web form restricts them."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217. Defaults to USD."
          },
          "room_type": {
            "type": "string",
            "description": "Free text. Optional."
          },
          "num_guests": {
            "type": "integer",
            "description": "Defaults to 2."
          },
          "num_rooms": {
            "type": "integer",
            "description": "Defaults to 1."
          },
          "booking_platform": {
            "type": "string",
            "description": "Where they booked: booking.com, expedia, hotels.com, agoda, trip.com, priceline, direct, or other."
          }
        }
      },
      "description": "One to ten bookings for that traveller."
    },
    "agent": {
      "type": "string",
      "description": "Optional name for you, such as my-assistant/1.0. Logged for debugging only."
    }
  },
  "required": [
    "email",
    "bookings"
  ]
}
🟢check_hotel_booking(token)

Check one booking you submitted, using the read token returned at submission. Use it to find out whether the traveller has confirmed yet: `confirmed` is false until they click the emailed link, and while it is false nothing is being monitored. Check here before telling your user their booking is being tracked.

入力スキーマ

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "The read_token from submit_hotel_booking."
    }
  },
  "required": [
    "token"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 2 件
検証済みバージョンは記録されていませんツール 2 件