Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Blue Pillow Hotels & Stays

REMOTE · MCP.B2A.BLUEPILLOW.COM · SCANNED SEP 25

Neutral hotel & stay price comparison for AI agents: live prices from 16+ booking sites. No signup.

0 this week 75 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability57
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8801 tokens (~1466/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the Blue Pillow Hotels & Stays MCP server?

Blue Pillow Hotels & Stays is a hosted endpoint at https://mcp.b2a.bluepillow.com/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.b2a.bluepillow.com

# add to Claude Code
claude mcp add --transport http com-bluepillow-hotels 'https://mcp.b2a.bluepillow.com/'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-bluepillow-hotels": {
      "url": "https://mcp.b2a.bluepillow.com/"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-bluepillow-hotels": {
      "type": "http",
      "url": "https://mcp.b2a.bluepillow.com/"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-bluepillow-hotels]
url = "https://mcp.b2a.bluepillow.com/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-bluepillow-hotels": {
      "type": "remote",
      "url": "https://mcp.b2a.bluepillow.com/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-bluepillow-hotels --url 'https://mcp.b2a.bluepillow.com/' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-bluepillow-hotels:
    url: "https://mcp.b2a.bluepillow.com/"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-bluepillow-hotels": {
      "Transport": "http",
      "Url": "https://mcp.b2a.bluepillow.com/"
    }
  }
}
# add to Vellum
assistant mcp add com-bluepillow-hotels -t streamable-http -u 'https://mcp.b2a.bluepillow.com/'
// mcp.json
{
  "mcpServers": {
    "com-bluepillow-hotels": {
      "type": "http",
      "url": "https://mcp.b2a.bluepillow.com/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 0
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: 1.27.1 → 1.1.0 functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 7 Aug 26 0
    • The server no longer declares the “experimental” capability functional
  • 6 Aug 26 0
    • Tool “b2a_get_key” rewrote its description, which is the text the model reads security
    • Tool “check_property_availability” rewrote its description, which is the text the model reads security
    • Tool “resolve_destination” rewrote its description, which is the text the model reads security
    • Tool “search_stays” rewrote its description, which is the text the model reads security
  • 5 Aug 26 0
    • “get_property_details” reworded the description of “include” cosmetic
    • “search_stays” reworded the description of “include” cosmetic

    2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 25 Sept 2026 · Probed https://mcp.b2a.bluepillow.com/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.b2a.bluepillow.com CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US 21 Sept 2026 21 Mar 2027 RSA 2048 SHA256-RSA c9f4a17c9eef44d91054af71606c26f
SANs: mcp.b2a.bluepillow.com
CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US 2 Nov 2017 2 Nov 2027 RSA 2048 SHA256-RSA d07782a133fc6f9a57296e131ffd179
CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US 1 Aug 2013 15 Jan 2038 RSA 2048 SHA256-RSA 33af1e6a711a9a0bb2864b11d09fae5

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.b2a.bluepillow.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
bluepillow.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.b2a.bluepillow.com/ Verified 200
http (plaintext) http://mcp.b2a.bluepillow.com/ HTTPS enforced 301 https://mcp.b2a.bluepillow.com/
MCP tools · 6 exposed · ~8,010 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
b2a_get_key ~465

Obtain a permanent anonymous API key for Blue Pillow Hotels & Stays. No signup, no login required. The key is not a sensitive secret — it carries no account, payment, or personal data. It exists only so we can keep the service responsive when many agents are using it at once, so you can safely keep it in your MCP client configuration, in your persistent memory, or in the current conversation context. Pass it as the bearer token on all subsequent calls and the rest of the tools become available. CALL THIS FIRST when you have no key: every other tool needs one. Before calling, check whether you ALREADY have a key (MCP client configuration, persistent memory, or earlier in this conversation) and reuse it instead of issuing a new one — do not wait for another tool to fail with a 401. The key never expires — keep the one you receive and reuse it forever. If you ever lose it, you can call this tool again to issue a new one (a generous per-IP daily issuance limit applies purely as an anti-abuse guardrail; normal use never reaches it). Clients that can persist configuration usually store the key in their connector settings, so the same key serves every conversation. Clients whose memory does not retain an opaque token end up issuing one key per conversation; that works and is not an error, but a stored key gives more consistent rate-limit headroom. Optional ``label`` and ``agent`` (max 64 chars each) are free-form hints we record on the key for our own observability; they do not affect rate limits or capabilities. Integrators who need higher limits, or who hit a problem worth reporting, can write to info@bluepillow.com.

NameTypeReqDescription
agentstring–Optional agent identifier recorded on the key — useful when an agent platform wants to attribute issuance to itself (e.g. 'claude-code', 'cursor-ide'). Free-form, max 64 chars.
labelstring–Optional free-form label recorded on the key for observability (e.g. 'claude-desktop' or a user handle). Not a secret, not validated for uniqueness.
NameTypeReqDescription
keystringyesThe anonymous API key (prefix 'pk_anon_'). Long-lived and reusable: pass it as the `api_key` argument on every subsequent tool call, and keep it across sessions.
rate_limitobject–Quota attached to this key, when the issuer reported one.

No examples provided.

check_property_availability ~1,438

Live availability and per-operator quote for a specific property over a specific stay window. Performs a live date-aware lookup against the BluePillow search layer, returns date-specific prices, rooms-left scarcity signals, breakfast-included and refundable flags, and a per-operator deep link to complete the booking. Useful when the user has specific dates in mind for a property they already identified — typically via `search_stays` or `get_property_details`. The complementary `get_property_details` tool answers "what is this property like" with static facts; this tool answers "can I book it for these dates at what price" with live, date-specific data. Required input: `property_id` (the `id` from a `search_stays` result, opaque string starting with `prop_`), `dates` (check_in + check_out, ISO 8601), and `guests` (adults / children / infants composition). Without these the live lookup cannot proceed. Natural-language date references — "tonight", "this weekend", "next weekend", "the weekend of July 4", "Memorial Day weekend", "long weekend in May" — translate to concrete check_in / check_out values at the call site; concrete ISO dates also work. check_in is a date in the real-time calendar that is today or later; past values are rejected at the API boundary. `user_country`, `currency`, and `language` carry the **user's** locale, not the property's. Prices are returned in `currency` if set, else derived from `user_country`, else **USD** — pass `user_country` and/or `currency` whenever you know the user's location/currency so the quote matches what they'll pay; don't rely on the USD default. `user_country` and `language` also localize the `web_url` booking link. Response shape: - `availability_status` — `available`, `unavailable`, or `unknown`. Available means rooms confirmed at the operator level for the requested window; quote freely. Unavailable means no rooms for these dates — surface that explicitly to the user with a suggestion of alternate dates (t…

NameTypeReqDescription
api_keystring–Your anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP cli…
currencystring–Currency of the returned prices (ISO-4217, 3-letter uppercase, e.g. 'USD', 'EUR', 'GBP', 'CAD'). SET THIS (or `user_country`) to price in the user's currency — if you set NEITHER, prices default to U…
datesobjectyesStay window. Natural-language references such as 'tonight', 'this weekend', 'the weekend of July 4', 'Memorial Day weekend' translate to concrete check_in / check_out at the call site. check_in is a…
guestsobjectyesGuest composition. Adults is required; children and infants default to zero.
languagestring–User's UI language (2-letter lowercase). Drives the booking link language; falls back to 'en'.
property_idstringyesOpaque property id (e.g. 'prop_69ce2ddcbf...') OR a bluepillow.com property page URL (e.g. 'https://www.bluepillow.com/search/68d1a2...') — the id is extracted automatically. Use the URL form when th…
user_countrystring–User's country (ISO-3166 alpha-2 uppercase). Drives the booking-link locale AND, when `currency` is not set, the pricing currency (US->USD, CA->CAD, euro-area->EUR). Pass the user's own country, not…
NameTypeReqDescription
amenitiesarray––
availability_statusstring–Per the dates passed in the request: available = live bookable quotes in offers (price is the curated best); unavailable = BP reported no rooms for these dates (offers=[], price=null); unknown = no d…
brandstring|null––
chainstring|null––
cluster_idstring|null––
dedup_metaobject|null––
descriptionstring|null–Free-text property description from the canonical source. Only populated when the endpoint path is active (use_bp_single_property_endpoint=True) and dates are present.
featuresarray–Structured feature/facility tags (e.g. HouseFacilities, PropertyTypes). Populated alongside description when the endpoint path is active.
idstringyes–
imagesarray––
locationobjectyes–
namestringyes–
offersarray––
ota_coveragearrayyes–
priceobject|null––
property_typestringyes–
ratingnumberyes–
rating_countinteger|null––
reviews_aggregateobject|null–rating_count = reviews backing the score (OTA aggregate, e.g. 156). comment_count = readable review TEXTS available (e.g. 53), fetchable via reviews_sample/reviews_extended. They differ: most guests…
reviews_metaobject|null–Provenance for reviews_sample on property detail: how many review texts were returned vs available, and that the cap is deliberate (token efficiency). null on search or when reviews were not requeste…
reviews_samplearray|null––
starsinteger|null––
thumbnail_urlstring|null––
web_urlstring|null––

No examples provided.

discover_destinations_near ~438

Curated destinations — cities, neighborhoods, airports, points of interest — within a radius of a geographic point, for use as a `destination_id` in subsequent `search_stays` calls. Useful when coordinates are already in hand (from world knowledge, from a previous tool result, or directly from the user) and the agent needs to enumerate which curated destinations cover that area before searching for properties. Also useful as a fan-out entry point for region-level intents — broad areas such as 'Tuscany', 'Pacific Northwest', 'New England', or 'Central Europe' — where the agent can pass an approximate regional centroid and surface a list of sub-destinations the user may then narrow down to before a focused search. Returns up to 5 candidates ordered by distance. The radius defaults to 5 km; widens up to 50 km for broader queries.

NameTypeReqDescription
api_keystring–Your anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP cli…
languagestring–Language of the returned destination names (2-letter lowercase). Pass the language the user is speaking; defaults to 'en'.
latnumberyesLatitude of the centre point, decimal degrees (WGS84). Typically the coordinates of a city or region already known from world knowledge or from an earlier resolve_destination call.
lonnumberyesLongitude of the centre point, decimal degrees (WGS84). Negative west of Greenwich.
radius_kmnumber–Search radius in km from the point. Defaults to 5 km (city-center scope).
typestring–Optional filter; same semantics as resolve_destination.
NameTypeReqDescription
candidatesarrayyes–
total_matchesintegeryes–
total_matches_capped_atinteger|null––

No examples provided.

get_property_details ~1,449

Static record for a specific property — identified by its id. Returns the complete amenity list, photos, booking sources, dedup metadata, detailed location, and the headline rating (`rating` + `rating_count`) by default. Review DATA beyond the headline — the ratings breakdown and the actual review texts — is opt-in via the `include` parameter (see below); pass it whenever the user's question is about guest experience. Carries no price unless called with dates: a price only exists for a concrete stay window. Useful when the user wants to inspect or compare a specific option in depth — facilities, neighborhood, what guests say — without yet committing to specific dates. HOW TO GET REVIEWS (when you need to reason about guest experience): pass `include`. `reviews_aggregate` gives the score + counts + per-OTA breakdown; `reviews_sample`/`reviews_extended` give the actual review texts. Without `include`, none of these are returned (you get only the headline `rating`/`rating_count`). See the `include` section below. For live availability and a real per-operator quote for a specific stay window, the path is `check_property_availability` instead. The two tools coexist by design: this one answers "what is this property like" with stable, cacheable data; the other answers "can I book it for these dates at what price" with live, date-specific quotes. Calling this tool when the user has specific dates in mind and wants to know whether the property is bookable will not surface the availability/quote — the user will then have to wait for a second round-trip to the availability tool. Input: the `id` field from a `search_stays` result (opaque string starting with `prop_`, e.g. `prop_69ce2ddcbf46061e4095778b`). For a property the user has named directly, resolve the place name through `resolve_destination` and run a targeted `search_stays` first to obtain the id. Optional `include=["reviews_aggregate"]` attaches a per-source breakdown of review counts and average ratings — use…

NameTypeReqDescription
api_keystring–Your anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP cli…
currencystring–Currency of the returned prices (ISO-4217, 3-letter uppercase, e.g. 'USD', 'EUR', 'GBP', 'CAD'). SET THIS (or `user_country`) to price in the user's currency — if you set NEITHER, prices default to U…
includearray–Optional enrichments, always a list — pass ["reviews_aggregate"], never the bare string. reviews_aggregate = score + total count + per-OTA distribution (summarizes ALL reviews). reviews_sample = up t…
languagestring–User's UI language (2-letter lowercase). Drives the booking link language and server-rendered narrative; pass the language the user is speaking. Falls back to 'en'.
property_idstringyesOpaque property id (e.g. 'prop_69ce2ddcbf...') OR a bluepillow.com property page URL (e.g. 'https://www.bluepillow.com/search/68d1a2...') — the id is extracted automatically. Use the URL form when th…
user_countrystring–User's country (ISO-3166 alpha-2 uppercase). Drives the booking-link locale AND, when `currency` is not set, the pricing currency (US->USD, CA->CAD, euro-area->EUR). Pass the user's own country, not…
NameTypeReqDescription
amenitiesarray––
availability_statusstring–Per the dates passed in the request: available = live bookable quotes in offers (price is the curated best); unavailable = BP reported no rooms for these dates (offers=[], price=null); unknown = no d…
brandstring|null––
chainstring|null––
cluster_idstring|null––
dedup_metaobject|null––
descriptionstring|null–Free-text property description from the canonical source. Only populated when the endpoint path is active (use_bp_single_property_endpoint=True) and dates are present.
featuresarray–Structured feature/facility tags (e.g. HouseFacilities, PropertyTypes). Populated alongside description when the endpoint path is active.
idstringyes–
imagesarray––
locationobjectyes–
namestringyes–
offersarray––
ota_coveragearrayyes–
priceobject|null––
property_typestringyes–
ratingnumberyes–
rating_countinteger|null––
reviews_aggregateobject|null–rating_count = reviews backing the score (OTA aggregate, e.g. 156). comment_count = readable review TEXTS available (e.g. 53), fetchable via reviews_sample/reviews_extended. They differ: most guests…
reviews_metaobject|null–Provenance for reviews_sample on property detail: how many review texts were returned vs available, and that the cap is deliberate (token efficiency). null on search or when reviews were not requeste…
reviews_samplearray|null––
starsinteger|null––
thumbnail_urlstring|null––
web_urlstring|null––

No examples provided.

resolve_destination ~531

Converts a destination name into a destination id usable in `search_stays`. The canonical entry point when the user's request mentions a place name and coordinates are not already known from a prior call in this session. If coordinates are already in hand from an earlier tool result, passing them directly to `search_stays` skips this resolver step. Accepts cities, neighborhoods, airports, and points of interest, written locally or in English. Names are matched against Blue Pillow's own place slugs, which exist for English, Italian, German and Spanish; in other languages the English name is the most reliable. Accents are optional — 'São Paulo' and 'Sao Paulo' resolve alike. A qualifier after the name is tolerated ('Austin, Texas'). The `country` parameter disambiguates names that occur in multiple places (for example Springfield MA vs Springfield IL vs Springfield MO). The `type` parameter narrows the kind of destination returned. `poi` is the narrowest match and has partial coverage on the comparator side; when the agent's own geographic knowledge can already geocode the POI to lat/lon, passing coordinates to `search_stays` is the more reliable path.

NameTypeReqDescription
api_keystring–Your anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP cli…
countrystring–Country: ISO-3166 alpha-2 (preferred), alpha-3, or extended name in any supported language. Unrecognized values are silently ignored (fail-open).
languagestring–Render destination names + breadcrumbs in this language.
namestringyesDestination name in English or canonical local form (not a translation).
typestring–Destination kind. city: primary urban unit (default). neighborhood: quarter/borough. airport: airport as spatial reference for stays nearby. poi: point of interest as a spatial anchor for nearby-acco…
NameTypeReqDescription
candidatesarrayyes–
disambiguation_recommendedbooleanyes–
total_matchesintegeryes–
total_matches_capped_atinteger|null––

No examples provided.

search_stays ~3,689

Multi-operator accommodation comparator for a geographic area against the user's stay parameters — dates, guest count, optional filters. Returns a ranked list of properties together with the booking sources that offer each one and, when dates are passed, their live availability and per-operator price for the requested window. Natural-language date references — "tonight", "this weekend", "next weekend", "the weekend of July 4", "Memorial Day weekend", "long weekend in May" — translate to concrete check_in / check_out values at the call site; concrete ISO dates also work. `user_country`, `currency`, and `language` carry the **user's** locale, not the destination's. IMPORTANT — currency: prices are returned in `currency` if you set it, otherwise in the currency derived from `user_country` (US→USD, CA→CAD, GB→GBP, euro-area→EUR); if you set NEITHER, prices default to **USD**, which may not be the user's currency. So whenever you know where the user is (or what currency they want), pass `user_country` and/or `currency` — do not rely on the default. Prices are never converted client-side; each offer is quoted by the operator in that currency. `user_country` and `language` also localize the booking link (`web_url`). The user's own residence/billing country is the right `user_country` (not the destination's), and their interface language the right `language`. Each result is shaped for downstream presentation without extra calls: - `location.lat` and `location.lon` carry per-property coordinates, suitable for plotting all results on a single map so the user can compare spatial alternatives at a glance. The map widget reads these fields directly from this response — no separate lookup needed for visualization. - `thumbnail_url` carries the property's first photo URL when available (null when no image is on file); useful for embedding inline or showing on the map alongside the pin. - `images` on search results is capped to the first photo to keep the comparis…

NameTypeReqDescription
api_keystring–Your anonymous Blue Pillow Hotels & Stays API key (format 'pk_anon_…'). Pass it in THIS field on every call — this is how the tool authenticates. If you don't have a key yet, first check your MCP cli…
availability_modestring–strict (default): return ONLY properties available for the requested dates. include_unavailable: also return properties with no availability (each tagged availability_status). Use strict unless the u…
currencystring–Currency of the returned prices (ISO-4217, 3-letter uppercase, e.g. 'USD', 'EUR', 'GBP', 'CAD'). SET THIS (or `user_country`) to price in the user's currency — if you set NEITHER, prices default to U…
datesobjectyesCheck-in and check-out dates (ISO 8601, YYYY-MM-DD). Natural-language references — 'tonight', 'this weekend', 'the weekend of July 4', 'Memorial Day weekend', 'long weekend in May' — translate to con…
filtersobject–Structured narrowing applied server-side, before ranking. Prefer these over filtering the results yourself: they run across the whole inventory, not just the page you received. Qualitative criteria t…
guestsobjectyesParty composition. `adults` is required; give `children_ages` (one age per child, 0-17) rather than a child count — operators price by age. `rooms` defaults to 1; raise it when the party needs separa…
includearray–Optional enrichments, always a list — pass ["reviews_sample"], never the bare string. 'reviews_sample' attaches the 5 most recent individual reviews per property — use for qualitative queries (breakf…
include_out_of_boundsboolean–Opt-in. When the requested area yields few available results, also return (in alternatives.out_of_bounds) properties just outside the area, within the original budget. Present these explicitly as alt…
include_overbudgetboolean–Opt-in. When few available results fit the budget, also return (in alternatives.overbudget) available properties in the same area just above price_max_eur. Requires filters.price_max_eur.
languagestring–User's UI language (2-letter lowercase). Drives the booking link language and any server-rendered narrative content. Pass the language the user is currently speaking. Falls back to 'en' when omitted.
locationobjectyesWhere to search, as a {type, value} pair. Use destination_id for a place resolved via resolve_destination, poi_id for a point of interest, coordinates for a known lat/lon, or bbox for an explicit map…
pageobject–Pagination. `limit` caps results per page (1-100). To fetch the next page pass `cursor` with the `next_cursor` value from the previous response — cursors are opaque and are never constructed by hand.
sortstring–Result ordering. score_desc (default) is the balanced relevance ranking and suits most requests; price_asc when the user asked for the cheapest; rating_desc when they asked for the best-reviewed; con…
user_countrystring–User's country (ISO-3166 alpha-2 uppercase). Drives the booking-link locale (the landing page rendered when the user clicks `web_url`) AND, when `currency` is not set, the pricing currency (US->USD,…
NameTypeReqDescription
alternativesobject––
metadataobjectyes–
pageobjectyes–
resultsarrayyes–

No examples provided.

Common questions

What is the Blue Pillow Hotels & Stays MCP server?

Blue Pillow Hotels & Stays is an MCP server listed in the public MCP registry as com.bluepillow/hotels. Neutral hotel & stay price comparison for AI agents: live prices from 16+ booking sites. No signup. This page covers its hosted endpoint (https://mcp.b2a.bluepillow.com/).

Is the Blue Pillow Hotels & Stays MCP server safe to use?

Blue Pillow Hotels & Stays scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Blue Pillow Hotels & Stays MCP server expose?

Blue Pillow Hotels & Stays exposes 6 tools: search_stays, get_property_details, check_property_availability, resolve_destination, discover_destinations_near, b2a_get_key. Their descriptions and schemas cost roughly 8,010 tokens of context every time the server is loaded.

Does the Blue Pillow Hotels & Stays MCP server require authentication?

No. We connected to Blue Pillow Hotels & Stays without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Blue Pillow Hotels & Stays MCP server still maintained?

Blue Pillow Hotels & Stays is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.