jetcabams
Registry code: 6f307ab1b3f5f5f7
Jet Cab AMS is a private chauffeur service in Amsterdam (Mercedes E-Class, S-Class, V-Class). Prices are per vehicle in EUR including VAT. Flow: list_services to pick a route, tour or car; get_quote for the exact price; show the customer the total, any deposit and the Terms (https://www.jetcabams.nl/terms.html); only after they approve and accept the Terms, call request_booking with the SAME ride fields, the quoteToken and their name, email and phone. Fixed Schiphol rides: the customer confirms the request with the link Jet Cab AMS emails them, then the driver confirms by email; paid in the…
- endpoint
- https://www.jetcabams.nl/mcp
- protocol
- streamable-http ·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 jetcabams live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
- Is jetcabams free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does jetcabams have?
- 3 tools: request_booking, get_quote, list_services.
- Is jetcabams 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.
90 days 100%· all time 100%
last good check
of 3 tools
- unknown → live
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.
through this hub
successful
what callers paid
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.
list_services open 2h ago
Fixed-fare Schiphol transfers (route ids, per-car prices), private tours (tour ids, durations, per-car prices), vehicles with passenger and luggage limits, and booking rules. No side effects.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesrequest_booking unknown never probed
Books the quoted ride. Call ONLY after the customer has seen the quoted total and deposit and has explicitly approved it and accepted the Terms (https://www.jetcabams.nl/terms.html). Send exactly the same ride fields as the get_quote call plus its unchanged quoteToken and the customer's real contact details. Fixed rides: the customer first gets an email with a Confirm link (valid 24 hours); after the click the driver confirms by email, payment in the car. Tours and custom rides: returns checkoutUrl for the 25% Mollie prepayment, which the customer must open and pay. Repeating the identical call does not create a second booking.
{ "type": "object", "required": [ "type", "car", "date", "time", "passengers", "quoteToken", "name", "email", "phone", "acceptedTerms" ], "properties": { "car": { "enum": [ "eclass", "sclass", "vclass" ], "type": "string", "description": "E-Class max 4, S-Class max 2, V-Class max 7 passengers." }, "date": { "type": "string", "format": "date", "description": "Local date in Europe/Amsterdam." }, "lang": { "enum": [ "en", "nl", "de", "fr", "es", "pt", "ru", "ar", "zh-CN" ], "type": "string" }, "name": { "type": "string", "maxLength": 100, "minLength": 2 }, "time": { "type": "string", "pattern": "^\\d{2}:\\d{2}$", "description": "Local time in Europe/Amsterdam, between 04:00 and 20:00." }, "type": { "enum": [ "fixed", "custom", "tour" ], "type": "string" }, "email": { "type": "string", "format": "email" }, "notes": { "type": "string", "maxLength": 1000 }, "phone": { "type": "string", "maxLength": 30, "minLength": 7, "description": "Customer's phone number, with country code (for example +31 6 1234 5678)." }, "flight": { "type": "string", "maxLength": 24 }, "pickup": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Required for custom rides and tours: agreed pickup address or hotel, preserved in review and confirmations." }, "address": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Fixed routes only: the non-airport pickup/drop-off address. The fare follows the route zone of the address (postcode first, then town name). An address whose Dutch postcode is in no fixed-route zone is refused with error code address_zone; book it as a custom ride." }, "dropoff": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Required for custom rides: drop-off address." }, "routeId": { "enum": [ "ams-spl", "noord-spl", "zaandam-spl", "aveen-spl", "haarlem-spl", "zandvoort-spl", "dh-spl", "rtm-spl", "almere-spl", "almere-buiten-spl", "utrecht-spl" ], "type": "string", "description": "Fixed routes only; ids from /data/rates.json. The server reprices to the route the address belongs to." }, "tourIds": { "type": "array", "items": { "enum": [ "amsterdam-city-tour", "countryside-tour", "keukenhof-tour", "aalsmeer-flower-auction", "dutch-water-defence-line", "giethoorn-day-trip", "south-holland-tour", "rotterdam-kinderdijk", "kroller-muller", "efteling-day-trip", "bruges-day-trip", "roermond-outlet", "mall-of-the-netherlands", "batavia-stad", "style-outlet-amsterdam" ], "type": "string" }, "maxItems": 5, "minItems": 1, "description": "Tours only; ids from /data/tours.json.", "uniqueItems": true }, "direction": { "enum": [ "to", "from" ], "type": "string", "description": "Fixed routes only: to or from Schiphol." }, "meetGreet": { "type": "boolean", "description": "Optional €25 arrivals-area name card; only for direction=from." }, "driverName": { "type": "string", "maxLength": 60 }, "passengers": { "type": "integer", "maximum": 7, "minimum": 1 }, "quoteToken": { "type": "string", "maxLength": 2048, "minLength": 1, "description": "Signed token returned by POST /api/quote. Send unchanged only after the customer approves that quote's total and deposit. It binds the normalized journey, vehicle, passengers, options, fare, rules version and 15-minute expiry. HTTP 409 reviewRequired=true means obtain a new quote and renewed customer approval before retrying. Never supply your own price." }, "returnTrip": { "type": "object", "required": [ "date", "time" ], "properties": { "date": { "type": "string", "format": "date" }, "time": { "type": "string", "pattern": "^\\d{2}:\\d{2}$" }, "flight": { "type": "string", "maxLength": 24 }, "meetGreet": { "type": "boolean", "default": false } }, "description": "Fixed rides only. Books the return leg as well: the opposite direction between the same address and Schiphol, with the same vehicle, passengers and luggage. It is priced as a second ride (plus the name-card fee when meetGreet is set on a return that starts at Schiphol). It must be at least one hour after the first ride, between 04:00 and 20:00, and not on a blocked date. Error codes: retour_type, retour, retour_datetime, retour_hours, retour_date_blocked, retour_order. The booking is stored as two linked bookings: the request id and `<id>-ret`." }, "luggageLarge": { "type": "integer", "default": 0, "maximum": 8, "minimum": 0, "description": "Large check-in suitcases. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage)." }, "luggageSmall": { "type": "integer", "default": 0, "maximum": 8, "minimum": 0, "description": "Pieces of hand luggage. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage)." }, "acceptedTerms": { "type": "boolean", "const": true, "description": "Must be an explicit act by the customer after reading the Terms & Conditions. Agents must not set this on a customer's behalf without their consent." }, "ticketService": { "type": "boolean", "description": "Tours only: attraction ticket purchase assistance, requires 28 days' notice." } } }arguments 219 linesget_quote unknown 2h ago
Exact price and rule check for one ride (no booking, no email, no payment). Returns the total, any online deposit and a quoteToken valid for 15 minutes. Per type: fixed needs routeId, direction and address; custom needs pickup and dropoff; tour needs tourIds and pickup. Fixed fares only apply inside each route's zone: error address_zone means quote a custom ride instead. Does not check driver availability.
{ "type": "object", "required": [ "type", "car", "date", "time", "passengers" ], "properties": { "car": { "enum": [ "eclass", "sclass", "vclass" ], "type": "string", "description": "E-Class max 4, S-Class max 2, V-Class max 7 passengers." }, "date": { "type": "string", "format": "date", "description": "Local date in Europe/Amsterdam." }, "lang": { "enum": [ "en", "nl", "de", "fr", "es", "pt", "ru", "ar", "zh-CN" ], "type": "string" }, "time": { "type": "string", "pattern": "^\\d{2}:\\d{2}$", "description": "Local time in Europe/Amsterdam, between 04:00 and 20:00." }, "type": { "enum": [ "fixed", "custom", "tour" ], "type": "string" }, "notes": { "type": "string", "maxLength": 1000 }, "flight": { "type": "string", "maxLength": 24 }, "pickup": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Required for custom rides and tours: agreed pickup address or hotel, preserved in review and confirmations." }, "address": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Fixed routes only: the non-airport pickup/drop-off address. The fare follows the route zone of the address (postcode first, then town name). An address whose Dutch postcode is in no fixed-route zone is refused with error code address_zone; book it as a custom ride." }, "dropoff": { "type": "string", "maxLength": 180, "minLength": 4, "description": "Required for custom rides: drop-off address." }, "routeId": { "enum": [ "ams-spl", "noord-spl", "zaandam-spl", "aveen-spl", "haarlem-spl", "zandvoort-spl", "dh-spl", "rtm-spl", "almere-spl", "almere-buiten-spl", "utrecht-spl" ], "type": "string", "description": "Fixed routes only; ids from /data/rates.json. The server reprices to the route the address belongs to." }, "tourIds": { "type": "array", "items": { "enum": [ "amsterdam-city-tour", "countryside-tour", "keukenhof-tour", "aalsmeer-flower-auction", "dutch-water-defence-line", "giethoorn-day-trip", "south-holland-tour", "rotterdam-kinderdijk", "kroller-muller", "efteling-day-trip", "bruges-day-trip", "roermond-outlet", "mall-of-the-netherlands", "batavia-stad", "style-outlet-amsterdam" ], "type": "string" }, "maxItems": 5, "minItems": 1, "description": "Tours only; ids from /data/tours.json.", "uniqueItems": true }, "direction": { "enum": [ "to", "from" ], "type": "string", "description": "Fixed routes only: to or from Schiphol." }, "meetGreet": { "type": "boolean", "description": "Optional €25 arrivals-area name card; only for direction=from." }, "driverName": { "type": "string", "maxLength": 60 }, "passengers": { "type": "integer", "maximum": 7, "minimum": 1 }, "returnTrip": { "type": "object", "required": [ "date", "time" ], "properties": { "date": { "type": "string", "format": "date" }, "time": { "type": "string", "pattern": "^\\d{2}:\\d{2}$" }, "flight": { "type": "string", "maxLength": 24 }, "meetGreet": { "type": "boolean", "default": false } }, "description": "Fixed rides only. Books the return leg as well: the opposite direction between the same address and Schiphol, with the same vehicle, passengers and luggage. It is priced as a second ride (plus the name-card fee when meetGreet is set on a return that starts at Schiphol). It must be at least one hour after the first ride, between 04:00 and 20:00, and not on a blocked date. Error codes: retour_type, retour, retour_datetime, retour_hours, retour_date_blocked, retour_order. The booking is stored as two linked bookings: the request id and `<id>-ret`." }, "luggageLarge": { "type": "integer", "default": 0, "maximum": 8, "minimum": 0, "description": "Large check-in suitcases. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage)." }, "luggageSmall": { "type": "integer", "default": 0, "maximum": 8, "minimum": 0, "description": "Pieces of hand luggage. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage)." }, "ticketService": { "type": "boolean", "description": "Tours only: attraction ticket purchase assistance, requires 28 days' notice." } } }arguments 188 lines
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.
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.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - 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. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id6f307ab1b3f5f5f7.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/6f307ab1b3f5f5f7/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/6f307ab1b3f5f5f7?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.
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.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- 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.