Search cruises sold to the UK market, with prices in pounds and links to every sailing.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
One cruise in full: the day-by-day itinerary, every future sailing with its price (or why there isn't one) and a booking link, and its Cruisify page. Give the url of a Cruisify cruise page, as search_cruises returns it, or the cruise's slug.
A Cruisify cruise page URL, as search_cruises returns it
A cruise's slug: the last part of its URL
One cruise in full: the day-by-day itinerary, every future sailing with its price (or why there isn't one) and a booking link, and its Cruisify page. Give the url of a Cruisify cruise page, as search_cruises returns it, or the cruise's slug.
| Argument | Type | Description |
|---|---|---|
| url | string | A Cruisify cruise page URL, as search_cruises returns it |
| slug | string | A cruise's slug: the last part of its URL |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"description": "A Cruisify cruise page URL, as search_cruises returns it"
},
"slug": {
"type": "string",
"maxLength": 200,
"description": "A cruise's slug: the last part of its URL"
}
},
"additionalProperties": false
}The cruise lines we cover and their ships, with how many upcoming cruises we hold for each and their Cruisify pages where there are some.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}The ports the cruises we hold leave from, with UK ports marked, how many upcoming cruises leave from each and its Cruisify page where there is one. Set uk_only for UK ports only (no-fly cruises).
| Argument | Type | Description |
|---|---|---|
| uk_only | boolean | true: UK ports only, the departures for no-fly cruises |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"uk_only": {
"type": "boolean",
"description": "true: UK ports only, the departures for no-fly cruises"
}
},
"additionalProperties": false
}Every destination we know, ocean or river, with how many upcoming cruises we hold for each and its Cruisify page where there is one.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Search cruises sold to the UK market by destination, departure port, cruise line, ship, months or dates, length, budget, no-fly (UK departures) and ocean or river. Names or slugs both work, and anything we can't match comes back in not_understood. query takes free text ("a week in the fjords from Southampton next June"); structured fields win where both are given. Returns up to 20 cruises a page, with prices in pounds (each with its basis and the date it was checked), month counts and Cruisify links. The cursor holds only the page number, so for the next page call again with the same fields (applied_filters, without query) and next_cursor as cursor, up to 10 pages.
| Argument | Type | Description |
|---|---|---|
| kind | string | ocean or river cruises only |
| sort | string | departure (default), price, price_per_night, nights (shortest first) or newest |
| query | string | Free text, read into the fields above: "a week in the fjords from Southampton next June". Structured fields win where both are given. Leave it out when paging. |
| ships | array | Ship names or slugs |
| cursor | string | next_cursor from the previous page. It holds only the page number, so send it with that page's applied_filters |
| months | array | Departure months, YYYY-MM |
| no_fly |
| boolean |
| true: only cruises leaving from a UK port |
| date_to | string | Latest departure date, YYYY-MM-DD |
| date_from | string | Earliest departure date, YYYY-MM-DD |
| nights_max | integer | Longest length, in nights |
| nights_min | integer | Shortest length, in nights |
| round_trip | boolean | true: round trips only; false: one-way only |
| cruise_lines | array | Cruise line names, slugs or short names: "P&O", "fred-olsen" |
| destinations | array | Destination names or slugs: "Caribbean", "norwegian-fjords" (list_destinations has them all) |
| max_price_gbp | integer | Highest price per person, in pounds |
| departure_ports | array | Departure port names or slugs: "Southampton" (list_departure_ports has them all) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"kind": {
"enum": [
"ocean",
"river"
],
"type": "string",
"description": "ocean or river cruises only"
},
"sort": {
"enum": [
"departure",
"price",
"price_per_night",
"nights",
"newest"
],
"type": "string",
"description": "departure (default), price, price_per_night, nights (shortest first) or newest"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Free text, read into the fields above: \"a week in the fjords from Southampton next June\". Structured fields win where both are given. Leave it out when paging."
},
"ships": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"description": "Ship names or slugs"
},
"cursor": {
"type": "string",
"maxLength": 64,
"description": "next_cursor from the previous page. It holds only the page number, so send it with that page's applied_filters"
},
"months": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])$"
},
"maxItems": 24,
"description": "Departure months, YYYY-MM"
},
"no_fly": {
"type": "boolean",
"description": "true: only cruises leaving from a UK port"
},
"date_to": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\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])))$",
"description": "Latest departure date, YYYY-MM-DD"
},
"date_from": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\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])))$",
"description": "Earliest departure date, YYYY-MM-DD"
},
"nights_max": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Longest length, in nights"
},
"nights_min": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Shortest length, in nights"
},
"round_trip": {
"type": "boolean",
"description": "true: round trips only; false: one-way only"
},
"cruise_lines": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"description": "Cruise line names, slugs or short names: \"P&O\", \"fred-olsen\""
},
"destinations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"description": "Destination names or slugs: \"Caribbean\", \"norwegian-fjords\" (list_destinations has them all)"
},
"max_price_gbp": {
"type": "integer",
"maximum": 1000000,
"minimum": 1,
"description": "Highest price per person, in pounds"
},
"departure_ports": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"description": "Departure port names or slugs: \"Southampton\" (list_departure_ports has them all)"
}
},
"additionalProperties": false
}