Skip to main content
Glama

Black Car Service — Bay Area Ride Quotes

Server Details

Bay Area SUV quotes, tentative availability and pending ride requests with secure web checkout.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 40 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
Black Car Service
Claude
–

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation4/5

Each tool maps to a distinct stage (quote, availability, reservation, status, payment), and descriptions explicitly delineate boundaries such as 'quote_ride does not check availability' and 'book_ride does not charge'. The only mild friction is between book_ride and complete_booking, which both sound like 'booking' but are clarified as reservation-creation vs. payment-charge.

Naming Consistency4/5

All snake_case verb_noun style (quote_ride, book_ride, complete_booking, get_booking_status), which is predictable and readable. check_ride_availability is slightly longer but still fits the verb_noun pattern.

Tool Count5/5

Five tools exactly mirror the ride-booking lifecycle (quote → availability → reserve → status → pay), with no redundant or filler tools. The count is well-scoped for this narrow domain.

Completeness4/5

The end-to-end happy path (quote, availability, reservation, checkout link, payment, confirmation status) is fully covered. Minor gaps exist for cancel/reschedule or modifying an existing booking, which an agent cannot do with this surface.

Available Tools

5 tools
book_rideCreate a pending SUV reservationA
Destructive
Inspect

After the customer explicitly confirms a quote_ride estimate and trip, create a pending reservation and return its secure website checkout link. Requires the exact signed booking_token from that quote plus customer-provided name, email and phone. Rechecks price and live availability. Does not hold a vehicle, confirm payment, charge a card, or enroll SMS. Reuse the SAME token and contact details on retries; uncertain outcomes must not be bypassed with a new token. Never request payment credentials.

NameRequiredDescriptionDefault
booking_tokenYesExact booking_token returned by quote_ride. Reuse this token and the same contact details on every retry; never invent a token.
customer_nameYesName supplied by the customer for this reservation.
customer_emailYesCustomer-supplied email for booking communications.
customer_phoneYesCustomer-supplied contact phone. Does not enroll the customer in SMS.
customer_confirmedYesOnly true after the customer explicitly approves the quoted trip, total, and creation of a pending reservation. Payment requires separate customer approval.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (destructive, non-idempotent, open-world); the description adds substantive behavior beyond them — live price/availability recheck, no vehicle hold, no payment or SMS side effects, and the critical retry semantics that constrain how an agent may re-invoke a non-idempotent call. It also restates the security boundary 'never request payment credentials'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six short sentences, each carrying a distinct constraint: trigger, return value, required inputs, revalidation, explicit non-effects, retry rule, security rule. The precondition and result come first; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent, destructive creation tool with no output schema, the description covers everything an agent needs: the precondition gate, the returned checkout link, which side effects do and do not occur, and the retry discipline. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds value by tying booking_token to its origin in quote_ride and mandating that the same token and contact details be reused across retries — semantics the schema repeats but does not fully motivate. customer_confirmed's intent is reinforced but not extended much beyond the schema's const/description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'create a pending reservation and return its secure website checkout link' — with the triggering condition (customer-confirmed quote_ride estimate) front-loaded. This clearly separates it from quote_ride (estimate), complete_booking (payment/confirm) and get_booking_status (read).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('After the customer explicitly confirms a quote_ride estimate and trip'), explicit when-not ('does not hold a vehicle, confirm payment, charge a card, or enroll SMS'), and explicit retry policy (reuse the same token and contacts; do not bypass uncertain outcomes with a new token). No alternatives need to be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_ride_availabilityCheck tentative Bay Area SUV availabilityAInspect

Check a requested Bay Area SUV pickup time against current scheduling constraints. Pickup and destination must both resolve to California or Nevada, and at least one endpoint must be in the nine-county San Francisco Bay Area. Supply the same route, pickup time and passenger inputs as quote_ride. Returns only available, unavailable, or unknown. An available result is tentative and is not a hold or reservation; complete the request at https://www.blackcarservice.co/book. Hourly rides require hours (1–24); other ride types omit hours.

NameRequiredDescriptionDefault
hoursNoRequired for hourly service; omit for airport and one-way rides. Billed minimums apply.
pickup_atYesISO 8601 timestamp with explicit UTC offset. Clarify the customer's pickup time in America/Los_Angeles; account for daylight saving time.
trip_typeYes
passengersYes
pickup_addressYesFull pickup street address or airport, including city and state.
dropoff_addressYesFull destination. For hourly service returning to pickup, repeat the pickup address.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: the result set is exactly available/unavailable/unknown, an 'available' answer is tentative and is not a hold or reservation, and hourly rides require hours. The 'not a hold' framing is especially useful given readOnlyHint=false and idempotentHint=false, clarifying that no operational state is created. Only missing piece is why it is not flagged read-only despite sounding like a pure check.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded: eligibility constraint, input parity, return values, no-hold caveat, then the hours rule. Every sentence carries information, though the opening sentence partially restates the title and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by enumerating the three possible results and the tentative nature of a positive answer, along with geo preconditions and the follow-up booking step. Remaining gaps are minor for a pre-check tool (e.g., what 'unknown' implies for the caller, whether retrying helps).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description fills meaningful gaps: it restates the conditional hours rule (1–24, hourly only, omit otherwise), points to quote_ride for identical route/time/passenger inputs, and imposes geographic constraints on pickup/destination that the schema itself does not encode. It does not add format or DST detail beyond the schema's own pickup_at description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check a requested Bay Area SUV pickup time against current scheduling constraints') and immediately distinguishes itself from quote_ride (input parity) and from booking (not a hold or reservation). An agent can tell it apart from book_ride and get_booking_status without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real usage boundaries: geo eligibility (both endpoints CA or NV, one endpoint in the nine-county Bay Area) and the terminal step ('complete the request at https://.../book'), plus input parity with quote_ride. It does not explicitly say when to prefer quote_ride instead (pricing) or how it relates to book_ride/complete_booking beyond the URL, so it stops short of a full when/when-not/alternatives statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_bookingPay and confirm an approved reservationA
DestructiveIdempotent
Inspect

Charges the exact approved USD booking total using a Stripe shared payment token from the customer's authorized wallet, then verifies reservation confirmation. First call get_booking_status and obtain explicit customer approval of that total and the booking terms. Never accept card numbers, CVC, or saved-card IDs. The token must be issued to the returned Stripe business profile for this amount. Retries reuse the SAME checkout_url; this tool never creates another reservation. Follow customer_action: verify_in_agent_wallet means the issuing wallet must handle the issued token's next_action before retrying this same booking. Only a confirmed result means the ride is booked.

NameRequiredDescriptionDefault
currencyYes
checkout_urlYesExact secure checkout_url from book_ride. Treat it as private; never search for or share it publicly.
customer_confirmedYesOnly true after the customer approves this booking, its final total, terms, and this one-time payment through their agent wallet.
approved_total_centsYesExact USD total from get_booking_status that the customer explicitly approved for payment.
shared_payment_tokenYesStripe Shared Payment Token obtained from the customer's approved wallet, scoped to the returned Stripe profile and total. Never card numbers, CVCs, saved-card IDs, or a token invented by the assistant.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: retries reuse the SAME checkout_url and never create another reservation (concrete idempotency semantics), the token must be scoped to the returned Stripe business profile for that amount, and customer_action verify_in_agent_wallet must be resolved in the issuing wallet before retrying. Consistent with destructiveHint=true and idempotentHint=true, and adds the failure/next-action path an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then prerequisites, then constraint and retry semantics; every sentence carries operational information. It is dense (six sentences) but not padded — only the final clause about 'confirmed result' borders on restating what should be obvious.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does communicate that only a confirmed result counts and that a customer_action may require wallet-side handling before retry. Return-shape detail (what fields a confirmed result carries) is thin, but the critical agent-facing behavior for a money-moving tool is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 80%, and the description still adds meaning: the total must be the exact one from get_booking_status that the customer approved, and the token must be issued to the returned Stripe profile for that amount. It does not explicitly discuss checkout_url or customer_confirmed, but the schema covers both well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource — charges the exact approved USD total via a Stripe shared payment token, then verifies confirmation — which is clearly distinct from siblings book_ride (creates the reservation) and get_booking_status (reads status). An agent can route to it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite sequence ('First call get_booking_status and obtain explicit customer approval of that total and the booking terms') and an explicit prohibition ('Never accept card numbers, CVC, or saved-card IDs'). It also names a sibling as the required prior step, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_booking_statusCheck payment and reservation confirmationA
Read-onlyIdempotent
Inspect

Read the current total, payment options and confirmation status for the exact private checkout_url returned by book_ride. Does not charge or change the booking. Never infer confirmation from a pending reservation or payment authorization. Keep the checkout URL private.

NameRequiredDescriptionDefault
checkout_urlYesExact secure checkout_url from book_ride. Treat it as private; never search for or share it publicly.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, so the safety floor is set; the description still adds real value by specifying that no charge occurs and by warning that a pending reservation or payment authorization must not be read as confirmation. The privacy constraint on the URL is additional operational context not present in the annotations. Return field meanings ('total', 'payment options') are named but their shape is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short, front-loaded sentences with the resource and result fields first, then constraints. Minor redundancy: 'Keep the checkout URL private' repeats what the parameter schema already states.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must convey the return surface, and it does by naming total, payment options and confirmation status. For a one-parameter read-only lookup with full annotation coverage, this is nearly sufficient; only the result format and any not-found/expired behavior are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter's own description already covers exactness and privacy, so the description mostly restates it. It does add provenance ('returned by book_ride'), which is useful for constructing the value correctly, but no format or failure-mode guidance beyond that. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and a concrete set of returned facts (current total, payment options, confirmation status) tied to a specific resource (the checkout_url from book_ride). The provenance 'returned by book_ride' and the disclaimer 'does not charge or change the booking' cleanly separate it from book_ride and complete_booking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly establishes the trigger condition (use the exact URL produced by book_ride) and an explicit negative condition (this is not the tool that charges or modifies a booking). It also warns against inferring confirmation from pending states, which guides interpretation. It stops short of naming complete_booking as the alternative for actually finishing payment, so not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quote_rideEstimate a Bay Area SUV fareAInspect

Estimate Black Car Service SUV fares in the San Francisco Bay Area for SFO, OAK and SJC airport transfers, point-to-point rides and hourly chauffeur service, for 1–6 passengers. Pickup and destination must both resolve to California or Nevada, and at least one endpoint must be in the nine-county San Francisco Bay Area; geographic eligibility does not guarantee service. Pickup dates begin tomorrow in America/Los_Angeles. Hourly rides require hours (1–24); other ride types omit hours. The price excludes extras and gratuity. No availability check, hold, reservation, or payment is performed.

NameRequiredDescriptionDefault
hoursNoRequired for hourly service; omit for airport and one-way rides. Billed minimums apply.
pickup_atYesISO 8601 timestamp with explicit UTC offset. Clarify the customer's pickup time in America/Los_Angeles; account for daylight saving time.
trip_typeYes
passengersYes
pickup_addressYesFull pickup street address or airport, including city and state.
dropoff_addressYesFull destination. For hourly service returning to pickup, repeat the pickup address.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavioral context beyond the annotations: the quote excludes extras and gratuity, geographic eligibility does not guarantee service, dates begin tomorrow in America/Los_Angeles, and no hold or payment is created. This is exactly the sort of side-effect and scope disclosure annotations alone (readOnlyHint=false, openWorldHint=true) cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and every subsequent clause carries a real constraint. The middle sentence packs geography, eligibility caveat, and the date rule into one long run-on, which costs a little readability but no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing what comes back, but it only says the price excludes extras and gratuity. It never states the response shape (fare amount, currency, itemization, quote validity/expiry), which is a meaningful gap for an estimation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Goes well beyond the 67%-covered schema: it explains which endpoints must resolve to CA/NV and the Bay Area (applying to pickup_address and dropoff_address), the 1–6 passenger ceiling, the tomorrow-start date rule with timezone, and the conditional rule that hours applies only to hourly trips. These are business rules the schema cannot express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb ("Estimate") plus a specific resource ("Black Car Service SUV fares") scoped to a region and a set of ride types. The closing sentence ("No availability check, hold, reservation, or payment is performed") cleanly separates it from book_ride and check_ride_availability without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the eligibility conditions for using the tool (CA/NV endpoints, at least one in the nine-county Bay Area, pickup from tomorrow) and, crucially, what it does NOT do (no availability check, hold, reservation, or payment), which implicitly routes the agent to check_ride_availability or book_ride. It stops short of naming those siblings as alternatives, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedbook_ride1 field changed
      • changedInput schema / properties / customer_email / pattern
        Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • Changedcheck_ride_availability1 field changed
      • changedInput schema / properties / pickup_at / pattern
        Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • Changedquote_ride1 field changed
      • changedInput schema / properties / pickup_at / pattern
        Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
  2. 3 tool updates
    • Changedbook_ride1 field changed
      • changedInput schema / properties / customer_confirmed / description
        Previous value: -"Only true after the customer explicitly approves the quoted trip, total, and creation of a pending reservation requiring secure website checkout."New value: +"Only true after the customer explicitly approves the quoted trip, total, and creation of a pending reservation. Payment requires separate customer approval."
    • Addedcomplete_booking
    • Addedget_booking_status
  3. 1 tool update
    • Addedbook_ride
  4. 2 tool updates
    • Changedcheck_ride_availability1 field changed
      • changedInput schema / properties / passengers / maximum
        Previous value: -7New value: +6
    • Changedquote_ride1 field changed
      • changedInput schema / properties / passengers / maximum
        Previous value: -7New value: +6
  5. 2 tool updates
    • First observedcheck_ride_availability
    • First observedquote_ride

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Scheduling and booking engine for AI agents. Check availability, hold slots, and confirm appointments with two-phase booking and conflict-free resource management.
    2
    Apache 2.0
  • F
    license
    B
    quality
    Not graded
    maintenance
    Enables booking cleaning services in San Francisco by collecting customer details and automatically sending booking requests via email to service partners.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Fixed London chauffeur prices for AI agents: Heathrow/Gatwick/Stansted/Luton and cruise-port transfers, hourly and full-day hire, private day trips, Heathrow VIP meet & greet, plus pre-filled booking links. Public remote endpoint, no API key.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources