_ registry / mcp http-sse · checked 2h ago

pilot-hotels

https://mcp.pilotplans.com

Registry code: 16bcdf983e4702ff

api record

Search hotels worldwide, compare total-stay prices and cancellation terms, then book on Pilot.

from a public catalogue that lists it, not from the operator

endpoint
https://mcp.pilotplans.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is pilot-hotels live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is pilot-hotels free to use?
Yes — the hub reached it with no key and no payment.
What tools does pilot-hotels have?
3 tools: get_hotel_details, get_room_rates_for_hotel, search_hotels.
Is pilot-hotels safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
249ms

last good check

priced tools
0

of 3 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 3 tools
3 never probed 0 of 3 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_hotel_details unknown 2h ago

    Get static details (description, amenities, photos, address) for a hotel id returned by search_hotels.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "hotel_id"
      ],
      "properties": {
        "hotel_id": {
          "type": "string",
          "description": "Hotel id from search_hotels"
        }
      }
    }
    arguments 13 lines
  • get_room_rates_for_hotel unknown 2h ago

    Get room rates for a hotel id from search_hotels. Each offer includes a price, board type and refundability. Booking is not available through this connector; send the user to Pilot to book.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "hotel_id"
      ],
      "properties": {
        "guests": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "Number of guests"
        },
        "check_in": {
          "type": "string",
          "description": "Override check-in, YYYY-MM-DD"
        },
        "hotel_id": {
          "type": "string",
          "description": "Hotel id from search_hotels"
        },
        "check_out": {
          "type": "string",
          "description": "Override check-out, YYYY-MM-DD"
        }
      }
    }
    arguments 27 lines
  • search_hotels unknown 2h ago

    Search bookable hotels by location and dates. Returns hotels with nightly prices, photos, coordinates, a `url` linking to the hotel on Pilot, and an opaque id to pass to get_hotel_details and get_rates. Booking is not available through this connector, so link the user to a hotel's `url` when they want to book. Narrow with the rating, amenity and radius filters rather than requesting a large limit, and page with offset using next_offset from the previous result.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "location",
        "check_in",
        "check_out"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "description": "Maximum hotels to return"
        },
        "rooms": {
          "type": "integer",
          "default": 1,
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "Rooms required"
        },
        "guests": {
          "type": "integer",
          "default": 2,
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "Number of adults"
        },
        "offset": {
          "type": "integer",
          "default": 0,
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Hotels to skip, for paging"
        },
        "check_in": {
          "type": "string",
          "description": "Check-in date, YYYY-MM-DD"
        },
        "currency": {
          "type": "string",
          "default": "USD",
          "maxLength": 3,
          "minLength": 3,
          "description": "ISO-4217 currency for returned prices"
        },
        "location": {
          "type": "string",
          "description": "City, address, or place name"
        },
        "ai_search": {
          "type": "string",
          "description": "Free-text preference, e.g. 'boutique hotel near the old town'. Ignored when it matches no inventory."
        },
        "check_out": {
          "type": "string",
          "description": "Check-out date, YYYY-MM-DD"
        },
        "amenity_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          },
          "description": "Supplier facility ids the hotel must offer"
        },
        "children_ages": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 17,
            "minimum": 0
          },
          "description": "Ages of children sharing the room"
        },
        "radius_meters": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1000,
          "description": "Restrict to this radius around the location"
        },
        "min_star_rating": {
          "type": "number",
          "maximum": 5,
          "minimum": 1,
          "description": "Only hotels at or above this star rating"
        },
        "min_guest_rating": {
          "type": "number",
          "maximum": 10,
          "minimum": 1,
          "description": "Only hotels at or above this guest review score, out of 10"
        },
        "guest_nationality": {
          "type": "string",
          "default": "US",
          "maxLength": 2,
          "minLength": 2,
          "description": "ISO-2 country of the guest; affects rate eligibility"
        },
        "property_type_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          },
          "description": "Supplier hotel-type ids to restrict to"
        }
      }
    }
    arguments 114 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 16bcdf983e4702ff.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/16bcdf983e4702ff/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/16bcdf983e4702ff/badge.svg)](https://brick.blue/agent/16bcdf983e4702ff?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
70%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.