RoomLast - Last-Minute Hotels

Find last-minute hotels, compare room offers, and continue on RoomLast to book.

使うべきか

品質と安全性

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

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

コンテキストコスト

~3,743トークン数(ツール定義)
~13.7 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.92%)

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

インストール

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

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

{
  "mcpServers": {
    "roomlast": {
      "url": "https://mcp.roomlast.com/mcp"
    }
  }
}

リモートエンドポイント

https://mcp.roomlast.com/mcpstreamable-http

できること

ツール一覧

ツール(3)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_accommodations(destination, checkinDate, checkoutDate, dateIntent, timeZone, ...)

Finds last-minute hotels in a city, neighborhood, airport, or landmark for tonight or specified upcoming dates. Dates are represented by dateIntent tonight or by checkinDate and checkoutDate. Supports occupancy, price, stars, guest score, property type, amenities, cancellation, and sort filters. Returns hotel IDs, facts, masked RoomLast price bands, public-rate comparisons, and RoomLast links. Room choices and exact private prices are not included in these results.

入力スキーマ

{
  "type": "object",
  "properties": {
    "destination": {
      "type": "string",
      "minLength": 2,
      "maxLength": 160,
      "description": "City, neighborhood, airport, landmark, or other broad destination."
    },
    "checkinDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Explicit check-in date in YYYY-MM-DD; paired with checkoutDate."
    },
    "checkoutDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Explicit check-out date in YYYY-MM-DD; paired with checkinDate."
    },
    "dateIntent": {
      "type": "string",
      "enum": [
        "tonight"
      ],
      "description": "Relative stay intent. Tonight resolves check-in as the current local date and check-out as the following date."
    },
    "timeZone": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "Optional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence."
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 16,
      "description": "Total adult guests. When omitted, RoomLast defaults to 2 adults per room."
    },
    "children": {
      "type": "integer",
      "minimum": 0,
      "maximum": 8,
      "description": "Total child guests; equals childrenAges.length."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "default": [],
      "description": "Age of every child at check-in. The array length must equal children."
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "default": 1,
      "description": "Number of rooms. Each room receives the default of 2 adults when adults is omitted."
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "default": "USD"
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "default": 1
    },
    "sort": {
      "type": "string",
      "enum": [
        "top-picks",
        "distance",
        "total",
        "total-desc",
        "reviews"
      ],
      "default": "top-picks",
      "description": "Result order: top-picks, distance, total price ascending, total price descending, or guest reviews."
    },
    "minimumPrice": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum nightly price in the selected currency."
    },
    "maximumPrice": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Maximum nightly price in the selected currency."
    },
    "minimumStarRating": {
      "type": "number",
      "minimum": 1,
      "maximum": 5,
      "description": "Minimum hotel star classification from 1 to 5; distinct from guest review score."
    },
    "starRatings": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 5
      },
      "maxItems": 5,
      "description": "Exact accepted hotel star classifications."
    },
    "minimumReviewScore": {
      "type": "number",
      "minimum": 0,
      "maximum": 10,
      "description": "Minimum guest review score out of 10; distinct from hotel star classification."
    },
    "propertyTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "hotel",
          "motel",
          "resort",
          "hostel",
          "apartment",
          "apart-hotel",
          "extended-stay",
          "condo",
          "studio",
          "house",
          "townhome",
          "guesthouse",
          "bed-and-breakfast",
          "villa",
          "cabin",
          "cottage",
          "campground",
          "rv",
          "estate",
          "boat",
          "chateau",
          "hotel-suites",
          "corporate-apartment",
          "farm-house",
          "lodge",
          "barn",
          "mobile-home",
          "house-boat",
          "castle",
          "mas",
          "tower",
          "mill",
          "building"
        ]
      },
      "maxItems": 12,
      "description": "Accepted accommodation types, such as hotel, motel, resort, hostel, or apartment."
    },
    "freeCancellationOnly": {
      "type": "boolean",
      "default": false,
      "description": "Whether results require free cancellation or refundable rates."
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "pool",
          "parking",
          "wifi",
          "free-wifi",
          "kitchen",
          "fireplace",
          "beachfront",
          "washer",
          "dryer",
          "air-conditioning",
          "tv",
          "heating",
          "family-friendly",
          "kids-friendly",
          "pet-friendly",
          "hot-tub",
          "free-breakfast",
          "free-cancellation",
          "laundry-in-unit",
          "laundry-on-site",
          "accessible",
          "for-couples",
          "solarium",
          "long-term-deals",
          "pay-over-time",
          "accept-local"
        ]
      },
      "maxItems": 12,
      "description": "Amenities required in every result."
    }
  },
  "required": [
    "destination",
    "children"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "accommodations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "stateCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "propertyType": {
            "type": [
              "string",
              "null"
            ]
          },
          "imageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "type": [
              "number",
              "null"
            ]
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ]
          },
          "starRating": {
            "type": [
              "number",
              "null"
            ]
          },
          "reviewScore": {
            "type": [
              "number",
              "null"
            ]
          },
          "reviewScale": {
            "type": [
              "number",
              "null"
            ]
          },
          "reviewCount": {
            "type": [
              "number",
              "null"
            ]
          },
          "ratingLabel": {
            "type": [
              "string",
              "null"
            ]
          },
          "refundable": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pointsOfInterest": {
            "type": [
              "string",
              "null"
            ]
          },
          "highlightReview": {
            "type": [
              "string",
              "null"
            ]
          },
          "consecutivePositiveReviewCount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "wholesale": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "nightly": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "total": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "maskedTotal": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "currency": {
                "type": "string"
              },
              "includesTaxesAndFees": {
                "type": [
                  "boolean",
                  "null"
                ]
              }
            },
            "required": [
              "label",
              "url",
              "nightly",
              "total",
              "maskedTotal",
              "currency",
              "includesTaxesAndFees"
            ],
            "additionalProperties": false
          },
          "comparison": {
            "anyOf": [
              {
                "$ref": "#/properties/accommodations/items/properties/wholesale"
              },
              {
                "type": "null"
              }
            ]
          },
          "savings": {
            "type": [
              "number",
              "null"
            ]
          },
          "savingsPercent": {
            "type": [
              "number",
              "null"
            ]
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "availabilityToken": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "address",
          "city",
          "stateCode",
          "propertyType",
          "imageUrl",
          "images",
          "latitude",
          "longitude",
          "starRating",
          "reviewScore",
          "reviewScale",
          "reviewCount",
          "ratingLabel",
          "refundable",
          "highlights",
          "pointsOfInterest",
          "highlightReview",
          "consecutivePositiveReviewCount",
          "wholesale",
          "comparison",
          "savings",
          "savingsPercent",
          "detailsUrl",
          "availabilityToken"
        ],
        "additionalProperties": false
      }
    },
    "page": {
      "type": "integer"
    },
    "total": {
      "type": "integer"
    },
    "totalPages": {
      "type": "integer"
    },
    "search": {
      "type": "object",
      "properties": {
        "destination": {
          "type": "string"
        },
        "checkinDate": {
          "type": "string"
        },
        "checkoutDate": {
          "type": "string"
        },
        "adults": {
          "type": "integer"
        },
        "children": {
          "type": "integer"
        },
        "childrenAges": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "rooms": {
          "type": "integer"
        },
        "currency": {
          "type": "string"
        },
        "sort": {
          "type": "string",
          "enum": [
            "top-picks",
            "distance",
            "total",
            "total-desc",
            "reviews"
          ]
        }
      },
      "required": [
        "destination",
        "checkinDate",
        "checkoutDate",
        "adults",
        "children",
        "childrenAges",
        "rooms",
        "currency",
        "sort"
      ],
      "additionalProperties": false
    },
    "priceDisclosure": {
      "type": "string"
    }
  },
  "required": [
    "accommodations",
    "page",
    "total",
    "totalPages",
    "search",
    "priceDisclosure"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_accommodation_details(propertyId, currency)

Returns undated facts for one identified RoomLast property ID, including address, description, photos, amenities, check-in and checkout times, star rating, and guest-review data. Availability, room offers, prices, breakfast, and cancellation terms are not included.

入力スキーマ

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "default": "USD"
    }
  },
  "required": [
    "propertyId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "address": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "images": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "latitude": {
      "type": [
        "number",
        "null"
      ]
    },
    "longitude": {
      "type": [
        "number",
        "null"
      ]
    },
    "starRating": {
      "type": [
        "number",
        "null"
      ]
    },
    "reviewScore": {
      "type": [
        "number",
        "null"
      ]
    },
    "reviewScale": {
      "type": [
        "number",
        "null"
      ]
    },
    "reviewCount": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "highlights": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "checkinFrom": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkoutUntil": {
      "type": [
        "string",
        "null"
      ]
    },
    "propertyType": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "id",
    "name",
    "address",
    "description",
    "images",
    "latitude",
    "longitude",
    "starRating",
    "reviewScore",
    "reviewScale",
    "reviewCount",
    "highlights",
    "amenities",
    "checkinFrom",
    "checkoutUntil",
    "propertyType"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_accommodation_offers(propertyId, hotelName, destination, checkinDate, checkoutDate, ...)

Returns one named or identified hotel's live room offers for tonight or specified upcoming dates. Dates are represented by dateIntent tonight or by checkinDate and checkoutDate. Results include room types, photos, breakfast, refundability, cancellation terms, public-rate comparisons, masked RoomLast price bands, and RoomLast links. Supports single-room and multi-room occupancy. Exact private prices and booking are available on RoomLast.

入力スキーマ

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "RoomLast property ID from a search result or RoomLast stay URL."
    },
    "hotelName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "Exact hotel name when propertyId is unavailable."
    },
    "destination": {
      "type": "string",
      "minLength": 2,
      "maxLength": 160,
      "description": "Optional city or region for disambiguating hotelName."
    },
    "checkinDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Explicit check-in date in YYYY-MM-DD; paired with checkoutDate."
    },
    "checkoutDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Explicit check-out date in YYYY-MM-DD; paired with checkinDate."
    },
    "dateIntent": {
      "type": "string",
      "enum": [
        "tonight"
      ],
      "description": "Relative stay intent. Tonight resolves check-in as the current local date and check-out as the following date."
    },
    "timeZone": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "Optional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence."
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 16,
      "default": 2,
      "description": "Total adult guests."
    },
    "childrenAges": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      },
      "maxItems": 8,
      "default": [],
      "description": "Age of each child at check-in."
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "default": 1,
      "description": "Number of rooms. Each room requires at least one adult."
    },
    "roomArrangements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "adults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "description": "Adults staying in this specific room."
          },
          "childrenAges": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "maxItems": 8,
            "default": [],
            "description": "Ages of children staying in this specific room."
          },
          "infants": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4,
            "default": 0,
            "description": "Number of infants staying in this room."
          }
        },
        "required": [
          "adults"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 3,
      "description": "Exact per-room occupancy. Example: room 1 has 2 adults and room 2 has 2 adults plus children ages 4 and 2 => [{adults:2,childrenAges:[],infants:0},{adults:2,childrenAges:[4,2],infants:0}]. Array length equals rooms, and aggregate guests equal adults and childrenAges."
    },
    "availabilityToken": {
      "type": "string",
      "maxLength": 500
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "default": "USD"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string"
    },
    "property": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "images": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "latitude": {
          "type": [
            "number",
            "null"
          ]
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ]
        },
        "starRating": {
          "type": [
            "number",
            "null"
          ]
        },
        "reviewScore": {
          "type": [
            "number",
            "null"
          ]
        },
        "reviewScale": {
          "type": [
            "number",
            "null"
          ]
        },
        "reviewCount": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "highlights": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "amenities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "checkinFrom": {
          "type": [
            "string",
            "null"
          ]
        },
        "checkoutUntil": {
          "type": [
            "string",
            "null"
          ]
        },
        "propertyType": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "name",
        "address",
        "description",
        "images",
        "latitude",
        "longitude",
        "starRating",
        "reviewScore",
        "reviewScale",
        "reviewCount",
        "highlights",
        "amenities",
        "checkinFrom",
        "checkoutUntil",
        "propertyType"
      ],
      "additionalProperties": false
    },
    "offers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "propertyId": {
            "type": "string"
          },
          "roomTypeName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "beds": {
            "type": [
              "string",
              "null"
            ]
          },
          "roomSize": {
            "type": [
              "string",
              "null"
            ]
          },
          "occupancyMax": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "breakfastIncluded": {
            "type": "boolean"
          },
          "refundable": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "cancellationSummary": {
            "type": [
              "string",
              "null"
            ]
          },
          "wholesale": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "nightly": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "total": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "maskedTotal": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "currency": {
                "type": "string"
              },
              "includesTaxesAndFees": {
                "type": [
                  "boolean",
                  "null"
                ]
              }
            },
            "required": [
              "label",
              "url",
              "nightly",
              "total",
              "maskedTotal",
              "currency",
              "includesTaxesAndFees"
            ],
            "additionalProperties": false
          },
          "comparison": {
            "anyOf": [
              {
                "$ref": "#/properties/offers/items/properties/wholesale"
              },
              {
                "type": "null"
              }
            ]
          },
          "savings": {
            "type": [
              "number",
              "null"
            ]
          },
          "savingsPercent": {
            "type": [
              "number",
              "null"
            ]
          },
          "upgradeTotal": {
            "type": [
              "number",
              "null"
            ]
          },
          "upgradeMaskedTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "payAtProperty": {
            "type": [
              "string",
              "null"
            ]
          },
          "detailsUrl": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "propertyId",
          "roomTypeName",
          "name",
          "description",
          "images",
          "beds",
          "roomSize",
          "occupancyMax",
          "amenities",
          "breakfastIncluded",
          "refundable",
          "cancellationSummary",
          "wholesale",
          "comparison",
          "savings",
          "savingsPercent",
          "upgradeTotal",
          "upgradeMaskedTotal",
          "payAtProperty",
          "detailsUrl"
        ],
        "additionalProperties": false
      }
    },
    "stay": {
      "type": "object",
      "properties": {
        "checkinDate": {
          "type": "string"
        },
        "checkoutDate": {
          "type": "string"
        },
        "adults": {
          "type": "integer"
        },
        "children": {
          "type": "integer"
        },
        "childrenAges": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "rooms": {
          "type": "integer"
        },
        "roomArrangements": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "adults": {
                "type": "integer"
              },
              "childrenAges": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "infants": {
                "type": "integer"
              }
            },
            "required": [
              "adults",
              "childrenAges",
              "infants"
            ],
            "additionalProperties": false
          }
        },
        "currency": {
          "type": "string"
        }
      },
      "required": [
        "checkinDate",
        "checkoutDate",
        "adults",
        "children",
        "childrenAges",
        "rooms",
        "roomArrangements",
        "currency"
      ],
      "additionalProperties": false
    },
    "priceDisclosure": {
      "type": "string"
    }
  },
  "required": [
    "propertyId",
    "property",
    "offers",
    "stay",
    "priceDisclosure"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

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