# Follow On Tours – bespoke sports travel

> Bespoke sports travel: cricket, golf, rugby, polo and playing tours. Tour operator, ABTOT 5718.

- name: com.followontours/cricket-travel
- version: 1.0.2
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.followontours%2Fcricket-travel
- tools: https://api.protogrid.dev/v1/servers/com.followontours%2Fcricket-travel/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cricket-travel": {
      "type": "http",
      "url": "https://www.followontours.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-9d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,726 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 21 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 2,726 tokens to load them all
- tool set hash: 3d2c665abfc7f6f39082ea1592f8b7a8
- tools last changed: 2026-10-12T13:15:26.161Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.followontours/cricket-travel.svg)](https://protogrid.dev/servers/com.followontours/cricket-travel)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `request_quote` changed (title, annotations)
- 2026-10-12 `list_destinations` changed (title, description, annotations)
  - before: List where Follow On Tours goes and what it sells there: the sport hubs (cricket, golf, rugby, playing tours) in `sportHubs`, every live country page with its sport pages (cricket, golf, rugby, polo, playing tours and more) in `countries`, and the cricket grounds each cricket trip is built around in `destinations`. All bespoke and built to order, so no price or departure date applies: use list_tours for what is on sale or quoted on request, and list_golf_trips for golf. Use this when asked where Follow On Tours goes, or whether they cover a sport, a country or a ground.
  - after: List where Follow On Tours goes and what it sells there. When a country has a tour on sale (`onSale`, with its link and dates), lead with that tour, then offer to build a trip around the traveller (`buildYourOwn`); a country with nothing on sale is built to order. Returns the sport hubs (cricket, golf, rugby, playing tours) in `sportHubs`, every live country page with its sport pages (cricket, golf, rugby, polo, playing tours and more) in `countries`, and the cricket grounds each cricket trip is built around in `destinations`. Apart from the tours in `onSale`, everything here is built to order, so no price or departure date applies: use list_tours for prices and details of what is on sale or quoted on request, and list_golf_trips for golf. Use this when asked where Follow On Tours goes, or whether they cover a sport, a country or a ground.
- 2026-10-12 `list_cape_town_experiences` changed (title, annotations)
- 2026-10-12 `list_golf_trips` changed (title, description, annotations)
  - before: List Follow On Tours' golf trips — the Trump portfolio venues, with the courses played, the hotel, nights, rounds and maximum group size, and a link to each trip's page. Use this for any golf enquiry. No payment is taken online. Most are priced on request; a set-price week (such as Sri Lanka) carries `dates` and per-person `prices` in GBP, which are the prices on its public page and may be quoted exactly as given. Golf trips sold on request with no fixed dates (e.g. golf in Argentina) come back in `onRequestTrips`, with their full page text in `details`; use request_quote for them. Golf trips are separate from the cricket tours in list_tours.
  - after: List Follow On Tours' golf trips — the Trump portfolio venues, with the courses played, the hotel, nights, rounds and maximum group size, and a link to each trip's page. Use this for any golf enquiry. No payment is taken online. Most are priced on request; a set-price week (such as Sri Lanka) carries `dates` and per-person `prices` in GBP, which are the prices on its public page and may be quoted exactly as given. Golf trips sold on request with no fixed dates (e.g. golf in Argentina) come back in `onRequestTrips`, with their full page text in `details`; use request_quote for them. A set-price week and its country's bespoke golf (e.g. Legends & Paradise Golf Premier and Golf in Sri Lanka) are two different trips: the week has set dates, a set price and a set programme; the bespoke trip is any dates, any length and any courses, quoted on request. Offer the one that fits and mention the other (`alsoBespoke` on the week, `alsoBookable` on the bespoke trip). Golf trips are separate from the cricket tours in list_tours.
- 2026-10-12 `get_protection` changed (title, annotations)
- 2026-10-12 `get_price` changed (title, description, inputSchema, annotations)
  - before: 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. 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.
  - after: 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.
- 2026-10-12 `list_tours` changed (title, description, annotations)
  - before: List the tours Follow On Tours currently has published. Use this to find out what is on sale before asking about a specific tour. Returns only published tours — the same set a visitor can see on the website — in `tours`, each with its page `url`, dates, `nights`, `fixtures` (the matches), `hotels`, `included`, `notIncluded` and `optionalExtras`. When `priceBasis` is "per person", `fromPricePerPerson` (two sharing) and `singleOccupancyFromPrice` are the lowest selling prices shown on the tour page, in `currency`: quote them as "from" prices, exactly as given, never as a final price for a particular group, and say what one price covers from `pricedPer` (on a multi-match tour it is one match, not the whole series). When `priceBasis` is "not yet priced", say the price is on request and never estimate one. Every trip in every list carries `status` (bookable, on_request, register_interest or sold_out) and `availability` (available, limited, sold_out or on_request); limited means some ticket categories or hotels have already sold out. Never state or guess how many rooms, seats or tickets are left. The `paymentTerms` on each tour give the deposit (or "Confirmed on the quote" when none is set), when the balance is due and the date, quoted exactly; never add terms that are not there. Tours Follow On Tours is quoting now but builds to order (no published programme, no online checkout) come back in `bespokeTours`: they ARE available, quoted on enquiry. Trips available now but sold on request (no fixed dates, no published price, quoted for each group; e.g. golf in Argentina) come back in `onRequestTrips`, with the full public page text in `details`: offer them, and use request_quote to ask for a quote. Tours that are announced but NOT yet on sale come back separately in `holdingTours`: they cannot be booked and their schedules are not confirmed, so never present one as bookable. A coming-soon tour may carry `details` — the full public text of its page (intro, sections, FAQs) — which is safe to quote. For the golf trips use list_golf_trips.
  - after: List the tours Follow On Tours currently has published. Use this to find out what is on sale before asking about a specific tour. Returns only published tours — the same set a visitor can see on the website — in `tours`, each with its page `url`, dates, `nights`, `fixtures` (the matches), `hotels`, `included`, `notIncluded`, `optionalExtras` and `onRequest`. What a tour includes comes in three layers, and every tour is different: `included` is what the price covers; `optionalExtras` are add-ons the traveller can choose in the booker, with their price and whether it is per person or per booking; `onRequest` is everything else, with examples. If a traveller wants something not listed, never say it is not available: ask what else they would like to do and use request_quote. Every tour can also be built around the traveller (`buildYourOwn`): other dates, more nights or another hotel, through request_quote. When `priceBasis` is "per person", `fromPricePerPerson` (two sharing) and `singleOccupancyFromPrice` are the lowest selling prices shown on the tour page, in `currency`: quote them as "from" prices, exactly as given, never as a final price for a particular group, and say what one price covers from `pricedPer` (on a multi-match tour it is one match, not the whole series). When `priceBasis` is "not yet priced", say the price is on request and never estimate one. Every trip in every list carries `status` (bookable, on_request, register_interest or sold_out) and `availability` (available, limited, sold_out or on_request); limited means some ticket categories or hotels have already sold out. Never state or guess how many rooms, seats or tickets are left. The `paymentTerms` on each tour give the deposit (or "Confirmed on the quote" when none is set), when the balance is due and the date, quoted exactly; on a tour with several matches each match has its own balance date in `balanceDueByMatch` (90 days before the traveller arrives for that match), so give the one for their match; never add terms that are not there. Tours Follow On Tours is quoting now but builds to order (no published programme, no online checkout) come back in `bespokeTours`: they ARE available, quoted on enquiry. Trips available now but sold on request (no fixed dates, no published price, quoted for each group; e.g. golf in Argentina) come back in `onRequestTrips`, with the full public page text in `details`: offer them, and use request_quote to ask for a quote. Tours that are announced but NOT yet on sale come back separately in `holdingTours`: they cannot be booked and their schedules are not confirmed, so never present one as bookable. A coming-soon tour may carry `details` — the full public text of its page (intro, sections, FAQs) — which is safe to quote. For the golf trips use list_golf_trips.
- 2026-10-12 `get_about` changed (title, annotations)
- 2026-10-10 `request_quote` changed (description)
  - before: Ask Follow On Tours for a quote on a traveller's behalf. Use after you have found a suitable trip with list_tours or list_golf_trips (or for any other trip — describe it in `trip`). Follow On Tours emails the traveller to confirm the request is theirs; nothing reaches Follow On Tours, and nothing is booked or charged, until the traveller taps the link in that email. Only send details the traveller has given you and agreed to share. This tool never returns a price: quotes come from Follow On Tours directly.
  - after: Ask Follow On Tours for a quote on a traveller's behalf. Use after you have found a suitable trip with list_tours or list_golf_trips (or for any other trip — describe it in `trip`). Follow On Tours emails the traveller to confirm the request is theirs; nothing reaches Follow On Tours, and nothing is booked or charged, until the traveller taps the link in that email. Only send details the traveller has given you and agreed to share. It returns an enquiry reference (FOT-E-YY-NNNN) to give the traveller. This tool never returns a price: quotes come from Follow On Tours directly.
- 2026-10-10 `get_price` added
  - 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. 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.

Full history: https://api.protogrid.dev/v1/servers/com.followontours%2Fcricket-travel/changes

## Remotes

- https://www.followontours.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `get_about`: Get information about Follow On Tours — who we are, what we sell (bespoke cricket, golf, rugby, polo and playing tours), our experience, our financial protection, and how the service works. Use this when someone asks who Follow On Tours is, whether they cover a sport or destination, or how the service operates.
- `get_price`: 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.
- `get_protection`: Get Follow On Tours' financial protection statement and its position in the contract — that it is the tour operator and package organiser, bonded through ABTOT. Use this when asked who the customer contracts with, who takes payment, whether the trip is financially protected, or about ATOL.
- `list_cape_town_experiences`: List the Cape Town day experiences Follow On Tours arranges — city and peninsula tours, the Winelands, whale watching, Marine Big 5, shark cage diving, safari and a scenic helicopter flight — with what each day covers and what is included. Use this for any Cape Town or South Africa enquiry. Enquiry-led: no price is quoted and nothing is charged online. Follow On Tours also builds a full Cape Town week around these on request.
- `list_destinations`: List where Follow On Tours goes and what it sells there. When a country has a tour on sale (`onSale`, with its link and dates), lead with that tour, then offer to build a trip around the traveller (`buildYourOwn`); a country with nothing on sale is built to order. Returns the sport hubs (cricket, golf, rugby, playing tours) in `sportHubs`, every live country page with its sport pages (cricket, golf, rugby, polo, playing tours and more) in `countries`, and the cricket grounds each cricket trip is built around in `destinations`. Apart from the tours in `onSale`, everything here is built to order, so no price or departure date applies: use list_tours for prices and details of what is on sale or quoted on request, and list_golf_trips for golf. Use this when asked where Follow On Tours goes, or whether they cover a sport, a country or a ground.
- `list_golf_trips`: List Follow On Tours' golf trips — the Trump portfolio venues, with the courses played, the hotel, nights, rounds and maximum group size, and a link to each trip's page. Use this for any golf enquiry. No payment is taken online. Most are priced on request; a set-price week (such as Sri Lanka) carries `dates` and per-person `prices` in GBP, which are the prices on its public page and may be quoted exactly as given. Golf trips sold on request with no fixed dates (e.g. golf in Argentina) come back in `onRequestTrips`, with their full page text in `details`; use request_quote for them. A set-price week and its country's bespoke golf (e.g. Legends & Paradise Golf Premier and Golf in Sri Lanka) are two different trips: the week has set dates, a set price and a set programme; the bespoke trip is any dates, any length and any courses, quoted on request. Offer the one that fits and mention the other (`alsoBespoke` on the week, `alsoBookable` on the bespoke trip). Golf trips are separate from the cricket tours in list_tours.
- `list_tours`: List the tours Follow On Tours currently has published. Use this to find out what is on sale before asking about a specific tour. Returns only published tours — the same set a visitor can see on the website — in `tours`, each with its page `url`, dates, `nights`, `fixtures` (the matches), `hotels`, `included`, `notIncluded`, `optionalExtras` and `onRequest`. What a tour includes comes in three layers, and every tour is different: `included` is what the price covers; `optionalExtras` are add-ons the traveller can choose in the booker, with their price and whether it is per person or per booking; `onRequest` is everything else, with examples. If a traveller wants something not listed, never say it is not available: ask what else they would like to do and use request_quote. Every tour can also be built around the traveller (`buildYourOwn`): other dates, more nights or another hotel, through request_quote. When `priceBasis` is "per person", `fromPricePerPerson` (two sharing) and `singleOccupancyFromPrice` are the lowest selling prices shown on the tour page, in `currency`: quote them as "from" prices, exactly as given, never as a final price for a particular group, and say what one price covers from `pricedPer` (on a multi-match tour it is one match, not the whole series). When `priceBasis` is "not yet priced", say the price is on request and never estimate one. Every trip in every list carries `status` (bookable, on_request, register_interest or sold_out) and `availability` (available, limited, sold_out or on_request); limited means some ticket categories or hotels have already sold out. Never state or guess how many rooms, seats or tickets are left. The `paymentTerms` on each tour give the deposit (or "Confirmed on the quote" when none is set), when the balance is due and the date, quoted exactly; on a tour with several matches each match has its own balance date in `balanceDueByMatch` (90 days before the traveller arrives for that match), so give the one for their match; never add terms that are not there. Tours Follow On Tours is quoting now but builds to order (no published programme, no online checkout) come back in `bespokeTours`: they ARE available, quoted on enquiry. Trips available now but sold on request (no fixed dates, no published price, quoted for each group; e.g. golf in Argentina) come back in `onRequestTrips`, with the full public page text in `details`: offer them, and use request_quote to ask for a quote. Tours that are announced but NOT yet on sale come back separately in `holdingTours`: they cannot be booked and their schedules are not confirmed, so never present one as bookable. A coming-soon tour may carry `details` — the full public text of its page (intro, sections, FAQs) — which is safe to quote. For the golf trips use list_golf_trips.
- `request_quote`: Ask Follow On Tours for a quote on a traveller's behalf. Use after you have found a suitable trip with list_tours or list_golf_trips (or for any other trip — describe it in `trip`). Follow On Tours emails the traveller to confirm the request is theirs; nothing reaches Follow On Tours, and nothing is booked or charged, until the traveller taps the link in that email. Only send details the traveller has given you and agreed to share. It returns an enquiry reference (FOT-E-YY-NNNN) to give the traveller. This tool never returns a price: quotes come from Follow On Tours directly.
