Fantasize cruise finder

Find the best-value cruise: 23 lines, ~30k sailings priced nightly, low/high vs usual, book link.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
91%
Integridad del esquema
79%
Calidad de los nombres
89%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'get_cruise' description lacks action verben get_cruise
  • LOWTool 'compare_cruise_lines' description lacks action verben compare_cruise_lines

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,980Tokens (definiciones de herramientas)
~1.9 KBTamaño de respuesta típico
Impacto moderado en la atención (1.55% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "cruise-finder": {
      "url": "https://fantasize.net/mcp"
    }
  }
}

Puntos de conexión remotos

https://fantasize.net/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_cruises(q, region, month, depart_from, depart_to, ...)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "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."
    },
    "region": {
      "type": "string",
      "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)"
    },
    "month": {
      "type": "string",
      "description": "Departure month, YYYY-MM"
    },
    "depart_from": {
      "type": "string",
      "description": "Earliest departure date, YYYY-MM-DD"
    },
    "depart_to": {
      "type": "string",
      "description": "Latest departure date, YYYY-MM-DD"
    },
    "from_port": {
      "type": "string",
      "description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\""
    },
    "calls_at": {
      "type": "string",
      "description": "A port the ship must visit, e.g. \"Juneau\", \"Santorini\", \"Cozumel\""
    },
    "line": {
      "type": "string",
      "description": "Cruise line, e.g. \"Royal Caribbean\", \"NCL\", \"Princess\", \"Viking\""
    },
    "ship": {
      "type": "string",
      "description": "Ship name or part of it"
    },
    "tier": {
      "type": "string",
      "enum": [
        "contemporary",
        "premium",
        "luxury",
        "river"
      ]
    },
    "nights_min": {
      "type": "integer"
    },
    "nights_max": {
      "type": "integer"
    },
    "cabin": {
      "type": "string",
      "enum": [
        "inside",
        "oceanview",
        "balcony",
        "suite"
      ],
      "description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade."
    },
    "max_price_per_person": {
      "type": "number",
      "description": "Budget per person for the whole cruise, USD"
    },
    "max_price_per_night": {
      "type": "number",
      "description": "Budget per person per night, USD"
    },
    "only_below_usual": {
      "type": "boolean",
      "description": "Only fares measurably below their usual price"
    },
    "sort": {
      "type": "string",
      "enum": [
        "best_value",
        "lowest_price",
        "lowest_per_night",
        "soonest"
      ],
      "default": "best_value"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  }
}
🟢get_cruise(sailing_id, url, cabin)

Everything about one sailing: day-by-day itinerary, current price of each cabin grade (and which are sold out), 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sailing_id": {
      "type": "string",
      "description": "A Fantasize sailing id, as returned in search results"
    },
    "url": {
      "type": "string",
      "description": "Or a fantasize.net /cruise/ link, or a Cruisebound sailing link"
    },
    "cabin": {
      "type": "string",
      "enum": [
        "inside",
        "oceanview",
        "balcony",
        "suite"
      ],
      "description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade."
    }
  }
}
🟢compare_cruise_lines(region, month, depart_from, depart_to, from_port, ...)

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?".

Esquema de entrada

{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "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)"
    },
    "month": {
      "type": "string",
      "description": "Departure month, YYYY-MM"
    },
    "depart_from": {
      "type": "string",
      "description": "Earliest departure date, YYYY-MM-DD"
    },
    "depart_to": {
      "type": "string",
      "description": "Latest departure date, YYYY-MM-DD"
    },
    "from_port": {
      "type": "string",
      "description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\""
    },
    "calls_at": {
      "type": "string",
      "description": "A port the ship must visit, e.g. \"Juneau\", \"Santorini\", \"Cozumel\""
    },
    "line": {
      "type": "string",
      "description": "Cruise line, e.g. \"Royal Caribbean\", \"NCL\", \"Princess\", \"Viking\""
    },
    "ship": {
      "type": "string",
      "description": "Ship name or part of it"
    },
    "tier": {
      "type": "string",
      "enum": [
        "contemporary",
        "premium",
        "luxury",
        "river"
      ]
    },
    "nights_min": {
      "type": "integer"
    },
    "nights_max": {
      "type": "integer"
    },
    "cabin": {
      "type": "string",
      "enum": [
        "inside",
        "oceanview",
        "balcony",
        "suite"
      ],
      "description": "Cabin grade to price. Omit to quote balcony where sold, else the next grade."
    }
  }
}
🟢last_minute_cruise_deals(from_port, region, limit)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "from_port": {
      "type": "string",
      "description": "Departure port, e.g. \"Seattle\" or \"Barcelona\"; several comma-separated: \"Miami,Fort Lauderdale\""
    },
    "region": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  }
}
🟢cruise_options

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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢report_problem(kind, sailing_id, detail, search)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "wrong_price",
        "not_for_sale",
        "wrong_itinerary",
        "broken_link",
        "irrelevant_results",
        "missing_sailings",
        "duplicate",
        "other"
      ]
    },
    "sailing_id": {
      "type": "string"
    },
    "detail": {
      "type": "string",
      "description": "What was wrong, in a sentence or two"
    },
    "search": {
      "type": "object",
      "description": "The search arguments that produced the problem"
    }
  },
  "required": [
    "kind"
  ]
}
🟢port_guide(port)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "port": {
      "type": "string",
      "description": "e.g. \"Juneau\", \"Cozumel\", \"Santorini\""
    }
  },
  "required": [
    "port"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas