Server definition
- Hash
- sha256:5194f87aefef879aac8b7d2f512e5d3555790101d729abc2aa640d5d6de0b443
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "Fantasize prices every sailing of 23 cruise lines every night and says whether each fare is low, typical or high against its own usual price. To find the best cruise for someone: search_cruises with what they told you (region, month or dates, departure port, budget, cabin), then get_cruise on the one or two you recommend, and give them book_url. compare_cruise_lines answers which line is cheapest for a trip; last_minute_cruise_deals covers the next three weeks; port_guide covers what to do ashore. Quote prices with their priced_on date. If anything looks wrong (a price, a sailing that cannot be bought, a dead link, results that miss), call report_problem.",
"tools": [
{
"description": "Side-by-side cruise lines for the same kind of cruise (a region, departure port or port visited, plus dates): each line's number of sailings, ships, median and lowest price per person per night in one cabin grade, and its cheapest sailing with book_url. Answers \"Alaska in July: Princess or NCL?\".",
"inputSchema": {
"properties": {
"cabin": {
"description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade.",
"enum": [
"inside",
"oceanview",
"balcony",
"suite"
],
"type": "string"
},
"calls_at": {
"description": "A port the ship must visit, e.g. \"Juneau\", \"Santorini\", \"Cozumel\"",
"type": "string"
},
"depart_from": {
"description": "Earliest departure date, YYYY-MM-DD",
"type": "string"
},
"depart_to": {
"description": "Latest departure date, YYYY-MM-DD",
"type": "string"
},
"from_port": {
"description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\"",
"type": "string"
},
"line": {
"description": "Cruise line, e.g. \"Royal Caribbean\", \"NCL\", \"Princess\", \"Viking\"",
"type": "string"
},
"month": {
"description": "Departure month, YYYY-MM",
"type": "string"
},
"nights_max": {
"type": "integer"
},
"nights_min": {
"type": "integer"
},
"region": {
"description": "Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)",
"type": "string"
},
"ship": {
"description": "Ship name or part of it",
"type": "string"
},
"tier": {
"enum": [
"contemporary",
"premium",
"luxury",
"river"
],
"type": "string"
}
},
"type": "object"
},
"name": "compare_cruise_lines",
"outputSchema": null
},
{
"description": "The regions, cruise lines (with tier), departure ports and months on sale, each with its count of sailings. These are the values the search filters accept.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "cruise_options",
"outputSchema": null
},
{
"description": "Everything about one sailing: day-by-day itinerary, current price of each cabin grade with the date it was read (and which have no price listed),each grade against its usual price, the fare's own price history, the same itinerary on other dates with prices, the best thing to do at each port (verified seller and price where we have one, and its booking page), and book_url.",
"inputSchema": {
"properties": {
"cabin": {
"description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade.",
"enum": [
"inside",
"oceanview",
"balcony",
"suite"
],
"type": "string"
},
"sailing_id": {
"description": "A Fantasize sailing id, as returned in search results",
"type": "string"
},
"url": {
"description": "Or a fantasize.net /cruise/ link, or a Cruisebound sailing link",
"type": "string"
}
},
"type": "object"
},
"name": "get_cruise",
"outputSchema": null
},
{
"description": "Today's report of balcony and suite cabins on cruises leaving North American ports within about 21 days, each measured against the book-ahead price for the same ship, grade and length (rebuilt every morning). Filter by departure port or region. Some late fares are dearer than booking ahead; those show a negative percent.",
"inputSchema": {
"properties": {
"from_port": {
"description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\"",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"region": {
"type": "string"
}
},
"type": "object"
},
"name": "last_minute_cruise_deals",
"outputSchema": null
},
{
"description": "Fantasize's ranked guide to one cruise port: the most extraordinary things to do, the operator who runs each, the verified seller and price where we have one, a booking page for each, and how many sailings call there.",
"inputSchema": {
"properties": {
"port": {
"description": "e.g. \"Juneau\", \"Cozumel\", \"Santorini\"",
"type": "string"
}
},
"required": [
"port"
],
"type": "object"
},
"name": "port_guide",
"outputSchema": null
},
{
"description": "Report a problem you found while using these tools: a price that does not match the booking page (wrong_price), a sailing that cannot be bought (not_for_sale), a wrong route or ports (wrong_itinerary), a book_url that does not open the sailing (broken_link), results that miss or do not fit the request (irrelevant_results, missing_sailings), or duplicates. Include sailing_id when it is about one sailing, and the search you ran when it is about results. Reports carry no personal details; a person at Fantasize reads every report.",
"inputSchema": {
"properties": {
"detail": {
"description": "What was wrong, in a sentence or two",
"type": "string"
},
"kind": {
"enum": [
"wrong_price",
"not_for_sale",
"wrong_itinerary",
"broken_link",
"irrelevant_results",
"missing_sailings",
"duplicate",
"other"
],
"type": "string"
},
"sailing_id": {
"type": "string"
},
"search": {
"description": "The search arguments that produced the problem",
"type": "object"
}
},
"required": [
"kind"
],
"type": "object"
},
"name": "report_problem",
"outputSchema": null
},
{
"description": "Sends one email to the person's own address. Their click in that email confirms the request; only then does it reach a Fantasize cruise specialist, who replies to them by email to help plan and book the trip. Free; no account is created and nothing is charged. Takes the trip they want in a sentence or two, and optionally dates, travellers, budget, home city and the sailing ids they looked at.",
"inputSchema": {
"properties": {
"budget": {
"description": "e.g. \"about $3,000 for two\"",
"type": "string"
},
"email": {
"description": "The person's own email address, given with their consent",
"type": "string"
},
"from_city": {
"description": "Where they travel from",
"type": "string"
},
"name": {
"type": "string"
},
"sailing_ids": {
"description": "Fantasize sailing ids they looked at (up to 6)",
"items": {
"type": "string"
},
"type": "array"
},
"travelers": {
"description": "e.g. \"2 adults, 1 child aged 9\"",
"type": "string"
},
"what": {
"description": "The trip they want help with, e.g. \"Alaska in July 2027 from Seattle, balcony, two adults, first cruise\"",
"type": "string"
},
"when": {
"description": "Dates or month, e.g. \"July 2027\"",
"type": "string"
}
},
"required": [
"email",
"what"
],
"type": "object"
},
"name": "request_trip_help",
"outputSchema": null
},
{
"description": "Accepts the request in plain words (q) or as fields. Searches every sailing Fantasize tracks (23 cruise lines, ~30,000 sailings, priced every night) by region, dates, departure port, ports visited, line, length, cabin and budget. Returns up to 25 sailings with the price per person (taxes and port fees in), per night and for a cabin of two, every cabin grade's price, whether the fare is low, typical or high against that sailing's usual price, the ports of call, and book_url - a link the person opens to book that exact sailing. Default ranking is best_value (furthest below its usual price).",
"inputSchema": {
"properties": {
"cabin": {
"description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade.",
"enum": [
"inside",
"oceanview",
"balcony",
"suite"
],
"type": "string"
},
"calls_at": {
"description": "A port the ship must visit, e.g. \"Juneau\", \"Santorini\", \"Cozumel\"",
"type": "string"
},
"depart_from": {
"description": "Earliest departure date, YYYY-MM-DD",
"type": "string"
},
"depart_to": {
"description": "Latest departure date, YYYY-MM-DD",
"type": "string"
},
"from_port": {
"description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\"",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"line": {
"description": "Cruise line, e.g. \"Royal Caribbean\", \"NCL\", \"Princess\", \"Viking\"",
"type": "string"
},
"max_price_per_night": {
"description": "Budget per person per night, USD",
"type": "number"
},
"max_price_per_person": {
"description": "Budget per person for the whole cruise, USD",
"type": "number"
},
"month": {
"description": "Departure month, YYYY-MM",
"type": "string"
},
"nights_max": {
"type": "integer"
},
"nights_min": {
"type": "integer"
},
"only_below_usual": {
"description": "Only fares measurably below their usual price",
"type": "boolean"
},
"q": {
"description": "The person's request in plain words, e.g. \"alaska in july from seattle, balcony, under $3000 for two\". Read by fixed rules; the answer says how it was understood and which words were not. Any other argument given overrides what q says.",
"type": "string"
},
"region": {
"description": "Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)",
"type": "string"
},
"ship": {
"description": "Ship name or part of it",
"type": "string"
},
"sort": {
"default": "best_value",
"enum": [
"best_value",
"lowest_price",
"lowest_per_night",
"soonest"
],
"type": "string"
},
"tier": {
"enum": [
"contemporary",
"premium",
"luxury",
"river"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_cruises",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5194f87aefef879aac8b7d2f512e5d3555790101d729abc2aa640d5d6de0b443 | sha256sum