Skip to main content
Glama

Follow On Tours – bespoke sports travel

Price a tour

get_price
Read-onlyIdempotent

Get an indicative price for a published tour from list_tours (one with status "bookable"), for a number of adults, two sharing a room or each in a single room. It uses the same engine as the Follow On Tours website checkout, for the cheapest available ticket and room, and returns the total and the price per person in the tour currency, with the hotel, ticket and nights it is based on, the day the traveller arrives for that match and the date the balance is due. Quote it exactly as returned, as an indicative price: nothing is held or booked, and the price on the traveller’s own quote is the one that applies. It takes no personal details and sends nothing. For another hotel, extra nights, breakfast, transfers, or any tour priced on request, use request_quote.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tourYesThe tour slug or name from list_tours.
matchNoOn a tour with several matches (e.g. a five-Test series), which match or venue, in the traveller’s words: a city, a ground or its nickname (the MCG, Chepauk), or “first”, “fifth”, “the last Test”. If it fits more than one match, the reply says so: ask the traveller which.
adultsYesHow many adults are travelling.
roomTypeYes"sharing" = two to a room; "single" = each traveller in their own room.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / match / description
      Previous value: -"On a tour with several matches (e.g. a five-Test series), which match or venue, in the traveller’s words."New value: +"On a tour with several matches (e.g. a five-Test series), which match or venue, in the traveller’s words: a city, a ground or its nickname (the MCG, Chepauk), or “first”, “fifth”, “the last Test”. If it fits more than one match, the reply says so: ask the traveller which."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds substantive behavior beyond them: the same engine as the website checkout, cheapest ticket+room selection, no personal details taken, nothing sent or held, and an instruction to quote the result verbatim. It also warns that the traveller's own quote supersedes the returned figure.

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 and the listing constraint are front-loaded, and the return-field inventory and the request_quote routing each earn their place. The paragraph is dense and could shed some clauses, but no sentence is 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?

With no output schema, the description carries the return burden and does: total, per-person price, currency, hotel, ticket, nights, arrival day, balance due date. Combined with the no-booking/no-PII caveats and the alternative-tool pointer, an agent has everything needed to call it and interpret the result.

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, but the description adds a real constraint the schema omits: the tour must be one with status "bookable", which qualifies how the `tour` parameter may be populated. It also restates the roomType semantics (two sharing vs each in a single) with pricing framing rather than mere enum explanation.

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?

Opens with a specific verb+resource+scope: an indicative price for a *published* tour sourced from list_tours with status "bookable". It names the dimensions priced (adults, sharing vs single) and explicitly contrasts itself with request_quote, so the agent can separate it from siblings without reading any 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 both when-to-use (a bookable tour, standard room/night configuration) and when-not, with the alternative named for each excluded case: other hotels, extra nights, breakfast, transfers, or on-request tours all route to request_quote. The booking caveat (nothing is held) tells the agent not to treat this as a reservation step.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.