Follow On Tours MCP
An official MCP server by Follow On Tours that allows agents to read tour catalogues, list golf trips, destinations, and Cape Town experiences, retrieve indicative prices, and request quotes for bespoke sports travel packages including cricket, golf, rugby, and polo.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://www.followontours.com/api/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (8)
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to followontours.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- List available cricket, golf, rugby, and polo tours
- Retrieve indicative prices for published tours
- Request a custom quote for a traveller's bespoke trip
- List destinations and Cape Town experiences
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- followontours 1.0.2
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
get_about — About Follow On Tours
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "About Follow On Tours",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_tours — Tours on sale
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; a match that says `balanceDue: "Full price at booking"` has no balance date left and no deposit option, so the full price is paid at booking; 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`: offer them, call get_trip_details with the trip’s slug for its full page text, 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. For a coming-soon tour’s full public page text (intro, sections, FAQs), which is safe to quote, call get_trip_details with its slug. For the golf trips use list_golf_trips.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Tours on sale",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_price — Price a tour
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. When that date has already passed it returns `balanceDue: "Full price at booking"` and no date: there is no deposit option for that match, so never offer one. 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tour",
"adults",
"roomType"
],
"properties": {
"tour": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "The tour slug or name from list_tours."
},
"match": {
"type": "string",
"maxLength": 120,
"description": "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."
},
"adults": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many adults are travelling."
},
"roomType": {
"enum": [
"sharing",
"single"
],
"type": "string",
"description": "\"sharing\" = two to a room; \"single\" = each traveller in their own room."
}
}
}{
"title": "Price a tour",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_protection — Financial 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Financial protection",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_golf_trips — 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, plus `included`, `notIncluded` and `paymentTerms` (the deposit and the balance date), also quoted exactly as given; never add terms that are not there. Golf trips sold on request with no fixed dates (e.g. golf in Argentina) come back in `onRequestTrips`; call get_trip_details with the trip's slug for its full page text, and 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Golf trips",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_trip_details — Trip details
Get the full public page text (intro, sections and FAQs) of one trip from list_tours or list_golf_trips, by its `slug`: a trip sold on request (`onRequestTrips`) or a coming-soon tour (`holdingTours`). The text is the trip's public page and is safe to quote. It returns the trip's name, `url` and `status` with the text; keep to what the status says: an on_request trip is quoted on request with no published price, so use request_quote, and a register_interest tour is not yet on sale and cannot be booked. Never add prices, dates or availability that are not in the text. For tours on sale use list_tours, which already carries their full detail.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"description": "The trip’s `slug` exactly as list_tours or list_golf_trips gives it, e.g. \"golf-in-argentina\"."
}
}
}{
"title": "Trip details",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_cape_town_experiences — 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Cape Town experiences",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_destinations — Where we go
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"title": "Where we go",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}request_quote — Request a 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"email",
"trip"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "The traveller's full name."
},
"trip": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "The trip name or page URL from list_tours / list_golf_trips, or a short description."
},
"email": {
"type": "string",
"maxLength": 200,
"description": "The traveller's own email address. The confirmation goes here."
},
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Anything else: hotel preference, extras."
},
"phone": {
"type": "string",
"maxLength": 40
},
"nights": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "How many nights away, if the traveller has said."
},
"assistant": {
"type": "string",
"maxLength": 60,
"description": "Your own name, e.g. \"Claude\"."
},
"partySize": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "How many people are travelling."
},
"budgetBand": {
"enum": [
"Under £2,000 per person",
"£2,000 to £4,000 per person",
"£4,000 to £7,000 per person",
"Over £7,000 per person"
],
"type": "string",
"description": "The traveller's rough budget per person, only if they have said. Never a price from Follow On Tours."
},
"preferredDates": {
"type": "string",
"maxLength": 200,
"description": "Dates or matches, in the traveller's words."
},
"groundPreference": {
"type": "string",
"maxLength": 200,
"description": "Which grounds, matches or courses matter most, in the traveller's words."
}
}
}{
"title": "Request a quote",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1305 ms
- 95th percentile latency
- 1305 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1305 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http follow-on-tours-mcp https://www.followontours.com/api/mcpCodex
codex mcp add follow-on-tours-mcp --url https://www.followontours.com/api/mcpCursor
{
"mcpServers": {
"follow-on-tours-mcp": {
"url": "https://www.followontours.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"follow-on-tours-mcp": {
"type": "streamableHttp",
"url": "https://www.followontours.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"follow-on-tours-mcp": {
"type": "http",
"url": "https://www.followontours.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http follow-on-tours-mcp https://www.followontours.com/api/mcpClaude Desktop
https://www.followontours.com/api/mcpWindsurf
{
"mcpServers": {
"follow-on-tours-mcp": {
"serverUrl": "https://www.followontours.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Follow On Tours MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Follow On Tours MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.