Fantasize cruise finder

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

使うべきか

品質と安全性

A
説明の品質
91%
スキーマの完全性
79%
命名の品質
89%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'get_cruise' description lacks action verbget_cruise 内
  • LOWTool 'compare_cruise_lines' description lacks action verbcompare_cruise_lines 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,980トークン数(ツール定義)
~1.9 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.55%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

https://fantasize.net/mcpstreamable-http

できること

ツール一覧

ツール(7)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢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).

入力スキーマ

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

入力スキーマ

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

入力スキーマ

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

入力スキーマ

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

入力スキーマ

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

入力スキーマ

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

入力スキーマ

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

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件