protogrid

Search / com.roomexpert/hotels

RoomExpert

R0· no sign-in

Hotel verdicts on eight axes, with every quote cited to its outlet and url.

v0.2.0 · active · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality89new
Trust79of 100
Uptime, 30 days95%
Latency p50210 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "hotels": {
      "type": "http",
      "url": "https://mcp.roomexpert.com/mcp"
    }
  }
}
claude mcp add --transport http hotels https://mcp.roomexpert.com/mcp
[mcp_servers.hotels]
url = "https://mcp.roomexpert.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hotels": {
      "type": "remote",
      "url": "https://mcp.roomexpert.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "hotels": {
      "type": "http",
      "url": "https://mcp.roomexpert.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hotels&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnJvb21leHBlcnQuY29tL21jcCJ9"
}
{
  "servers": {
    "hotels": {
      "type": "http",
      "url": "https://mcp.roomexpert.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "hotels": {
      "httpUrl": "https://mcp.roomexpert.com/mcp"
    }
  }
}
extensions:
  "hotels":
    enabled: true
    name: "hotels"
    type: streamable_http
    uri: "https://mcp.roomexpert.com/mcp"
    timeout: 300

Quality 89 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,320 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 5 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

5 tools, about 1,320 tokens to load them all · tool set 9dc339b6e1f3 · tools last changed 2026-10-16 · checked 2026-10-20 12:13 UTC

Tool changes

  • find_award_stayschangedtitle, description, annotationsmeaning changed
    before

    Hotels a given points balance can actually reach, ranked by how good the redemption is AGAINST THAT PROGRAM'S OWN NORM rather than a flat cents-per-point scale. Use it when a traveler says what they are holding - "I have 300k Hyatt points". The balance comes from them; this server stores nothing about anyone.

    after · 40% of words in common

    Lists hotels a given points balance can reach for one night, ranked by how good the redemption is against that program's own norm rather than a flat cents-per-point scale. Fits a traveler who says what they hold, e.g. "I have 300k Hyatt points". The balance is supplied by the caller and is not stored. Only published chart or sampled award prices count; nothing is estimated. Returns a Markdown table of up to `limit` hotels (name, destination, points, value grade, score), or a sentence saying nothing priced fits the budget.

  • get_rateschangedtitle, description, annotationsmeaning changed
    before

    Live rooms and prices for one hotel and a stay window, with a booking link for each. THE EXPENSIVE ONE: it calls a metered supplier, so use it when a traveler has settled on a hotel and wants to book, never to browse or to compare several. Decide with get_evidence first; this closes the decision rather than informing it. Booking links are time-limited and go stale in minutes - surface them promptly or re-call. A LINK IS NOT A BOOKING: it opens a checkout the traveler completes themselves, with their own details and their own card. This tool cannot reserve a room and neither can you. Never say a stay is booked, held or confirmed.

    after · 39% of words in common

    Returns live rooms and prices for one hotel and a stay window, with a booking link for each. It queries a metered rate supplier and is limited to 12 calls a minute per client, so it fits a traveler who has chosen a hotel rather than browsing several. Booking links are time-limited and expire within minutes. A link opens a checkout the traveler completes with their own details and card; this tool does not reserve, hold or confirm a room. Returns a Markdown table (room, nightly, total, refundability, link). Hotels the supplier does not carry, sold-out dates and bad dates each return a plain sentence saying which; an over-limit call says how many seconds to wait.

  • get_evidencechangedtitle, description, annotationsmeaning changed
    before

    The cited quotes behind a hotel's scores. Each one carries the outlet that published it, what kind of document it was, and its url. This is what RoomExpert has that a rate API does not: use it whenever a traveler asks what a hotel is actually LIKE - whether it is quiet, whether the beds are good, whether service holds up.

    after · 42% of words in common

    Returns the cited quotes behind a hotel's scores. Each one carries the outlet that published it, what kind of document it was, and its url. Answers what a hotel is actually like: whether it is quiet, whether the beds are good, whether service holds up. Returns a Markdown list of up to `limit` quotes (default 12, max 40), spread across the axes unless narrowed to one, each with its outlet, document kind and url. Some hosts are returned as "a guest review" with no name or link. An unknown slug returns near matches; no evidence on an axis is stated as such.

  • get_hotelchangedtitle, description, annotations
    before

    The RoomExpert verdict for one hotel: overall score, the eight axis scores and what each is based on, how deep the coverage is, the loyalty program, and the award price where a real one exists. Use this to answer "is this hotel any good" or "what is it strong at". For the quotes behind the scores, call get_evidence.

    after · 60% of words in common

    Returns the RoomExpert verdict for one hotel: overall score, the eight axis scores and what each is based on, how deep the coverage is, the loyalty program, and the award price where a real one exists. Answers "is this hotel any good" and "what is it strong at". Returns Markdown: a score table with one row per axis ("no evidence" where an axis has none), the award line, and the hotel page url. An unknown slug returns up to five near matches. The quotes behind the scores come from get_evidence.

  • search_hotelschangedtitle, description, annotationsmeaning changed
    before

    Find hotels by name, destination or brand, each with its RoomExpert score, slug and page. Call this first whenever you do not already have a slug: every other tool takes one. Can rank by a single axis - "quietest rooms in Tokyo" is destination "tokyo", sort_by_axis "noise". Reads our own database; not metered.

    after · 38% of words in common

    Finds hotels by name, destination or brand and returns each one's RoomExpert score, slug and page url. The other tools take that slug, so this is the lookup when the slug is not already known. Can rank by a single axis: "quietest rooms in Tokyo" is destination "tokyo", sort_by_axis "noise". Returns a Markdown table of up to `limit` hotels (name, destination, score, axis score when sorting, loyalty program). An unknown destination returns suggested names; no match says the hotel is not covered.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 79 / 100

no-repository
provenance45
liveness98
freshness100
hygiene80

+dns-namespace +reachable +uptime-95% +updated-6d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.roomexpert.com/mcp streamable-httpnoneyes95%210 ms2025-11-252026-10-20

Tools (5)

find_award_staysread-onlyLists hotels a given points balance can reach for one night, ranked by how good the redemption is against that program's own norm rather than a flat cents-per-point scale. Fits a traveler who says what they hold, e.g. "I have 300k Hyatt points". The balance is supplied by the caller and is not stored. Only published chart or sampled award prices count; nothing is estimated. Returns a Markdown table of up to `limit` hotels (name, destination, points, value grade, score), or a sentence saying nothing priced fits the budget.
get_evidenceread-onlyReturns the cited quotes behind a hotel's scores. Each one carries the outlet that published it, what kind of document it was, and its url. Answers what a hotel is actually like: whether it is quiet, whether the beds are good, whether service holds up. Returns a Markdown list of up to `limit` quotes (default 12, max 40), spread across the axes unless narrowed to one, each with its outlet, document kind and url. Some hosts are returned as "a guest review" with no name or link. An unknown slug returns near matches; no evidence on an axis is stated as such.
get_hotelread-onlyReturns the RoomExpert verdict for one hotel: overall score, the eight axis scores and what each is based on, how deep the coverage is, the loyalty program, and the award price where a real one exists. Answers "is this hotel any good" and "what is it strong at". Returns Markdown: a score table with one row per axis ("no evidence" where an axis has none), the award line, and the hotel page url. An unknown slug returns up to five near matches. The quotes behind the scores come from get_evidence.
get_ratesread-onlyReturns live rooms and prices for one hotel and a stay window, with a booking link for each. It queries a metered rate supplier and is limited to 12 calls a minute per client, so it fits a traveler who has chosen a hotel rather than browsing several. Booking links are time-limited and expire within minutes. A link opens a checkout the traveler completes with their own details and card; this tool does not reserve, hold or confirm a room. Returns a Markdown table (room, nightly, total, refundability, link). Hotels the supplier does not carry, sold-out dates and bad dates each return a plain sentence saying which; an over-limit call says how many seconds to wait.
search_hotelsread-onlyFinds hotels by name, destination or brand and returns each one's RoomExpert score, slug and page url. The other tools take that slug, so this is the lookup when the slug is not already known. Can rank by a single axis: "quietest rooms in Tokyo" is destination "tokyo", sort_by_axis "noise". Returns a Markdown table of up to `limit` hotels (name, destination, score, axis score when sorting, loyalty program). An unknown destination returns suggested names; no match says the hotel is not covered.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.roomexpert/hotels",
  "title": "RoomExpert",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.roomexpert.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0",
  "description": "Hotel verdicts on eight axes, with every quote cited to its outlet and url."
}