# CruiseHops

> Search Carnival and Royal Caribbean cruises, compare fare history and find Viator port experiences.

- name: com.cruisehops/cruisehops
- version: 1.4.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.cruisehops%2Fcruisehops
- tools: https://api.protogrid.dev/v1/servers/com.cruisehops%2Fcruisehops/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cruisehops": {
      "type": "http",
      "url": "https://cruisehops.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-18d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 12 of 12 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 7,139 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 83 (weight 15)

- warn `stability.changes`: 15 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 7,139 tokens to load them all
- tool set hash: 79520577ec5dd52a0182ca4d821ad74b
- tools last changed: 2026-11-10T09:12:43.202Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.cruisehops/cruisehops.svg)](https://protogrid.dev/servers/com.cruisehops/cruisehops)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-10 `compare_sailings` changed (inputSchema)
- 2026-11-10 `present_cruises` changed (inputSchema)
- 2026-11-10 `get_sailing` changed (inputSchema)
- 2026-10-30 `search_cruises` changed (description)
  - before: Find cruise recommendations and deals on CruiseHops across Carnival and Royal Caribbean by destination, departure port, dates, cabin and budget. Returns sailing links for further exploration on CruiseHops. Research only; no widget. Default three choices. Do not add cabin or budget constraints the user did not give. Search captured cruise sailings using typed filters. Prices are USD cents per person for two guests, not live or family quotes. Filter before grouping and choosing lowest cabin price. Use term IDs from suggest_cruise_terms for precise names.
  - after: Find cruise recommendations and deals on CruiseHops by destination, departure port, dates, cabin and budget. Coverage includes captured sailings from Carnival Cruise Line, Royal Caribbean International, MSC Cruises, Norwegian Cruise Line, Celebrity Cruises, Princess Cruises, Holland America Line, Costa Cruises, Disney Cruise Line, Virgin Voyages, AIDA Cruises, TUI Cruises / Mein Schiff, P&O Cruises (UK), Cunard. This is not a whole-market or live-inventory search. Returns sailing links for further exploration on CruiseHops. Research only; no widget. Default three choices. Do not add cabin or budget constraints the user did not give. Search captured cruise sailings using typed filters. Prices are USD cents per person for two guests, not live or family quotes. Filter before grouping and choosing lowest cabin price. Use term IDs from suggest_cruise_terms for precise names.
- 2026-10-30 `compare_sailings` changed (outputSchema)
- 2026-10-30 `present_cruises` changed (outputSchema)
- 2026-10-30 `get_price_history` changed (outputSchema)
- 2026-10-30 `get_cabin_price_history` changed (outputSchema)
- 2026-10-30 `get_sailing` changed (outputSchema)
- 2026-10-30 `list_departures` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.cruisehops%2Fcruisehops/changes

## Remotes

- https://cruisehops.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `compare_sailings`: Compare two to four distinct sailings and optional exact offer IDs. Defaults to lowest current captured two-adult offer; occupancy is explicit per offer. No live or family quote.
- `find_port_excursions`: Search Viator on demand only when the user asks for activities or excursions. Use a port ID from list_excursion_ports or get_sailing itinerary.portId. Pass the port visit date, not the cruise departure date. Optional q searches activity keywords such as snorkeling or food tours within that port; preserve it across pagination. Returns suggestions near the port, NOT verified time-ashore matches or live availability. Prices are indicative, may differ for the date/party, and are not cruise fares. Preserve complete affiliate URLs. No reviews or protected unique content. No widget.
- `get_cabin_price_history`: Read lowest returned cabin prices across promotions. Use headlinePriceHistory[].id from get_sailing as seriesKey. Fare and category changes are explicit; missing observations do not establish unavailability.
- `get_excursion`: Fetch details only for a Viator product the user selected from find_port_excursions. Returns allowed product content and an affiliate booking URL; no reviews, protected content or live availability. Verify meeting point, return timing and availability on Viator.
- `get_price_history`: Read one exact captured offer context's price history. contextKey is required from get_sailing offers. Never blends cabins, fares, markets, guest counts or events. Dates select overlapping captured observation spans; maxPoints retains the latest points.
- `get_sailing`: Explore a CruiseHops sailing page: itinerary, cabin fares, price-history context and links to the website and fare provider. Research only; no widget. Read sailing itinerary, cabin-filtered offers and booking URLs. Amenities and media are omitted by default; request them explicitly only when needed. No live availability or party total is guaranteed.
- `list_departures`: List bounded, paginated unique dated sailings for a public ship-itinerary group ID. Preserves cabin/date filters; older event-specific group IDs remain supported.
- `list_excursion_ports`: List local cruise ports and whether excursion searches are supported. No Viator product request. Use the returned port ID for find_port_excursions.
- `present_cruises`: Present the final shortlist of one to three selected sailings in ONE interactive widget. Call once after research, preserving exact offer IDs, cabin classes and event selectors. Research tools do not render widgets. Do not repeat all widget details in prose.
- `present_excursions`: Open ONE interactive port-experience browser when the user wants excursions, tours or activities. Omit portId to let the user choose a port without calling Viator. Supply a supported local portId and optional visit date and activity keywords q to show matching experiences. This makes a fresh on-demand search; use the returned data as the current result. Preserve requested filters. Do not fetch details for every result. Users can change ports, dates, keywords and pages, inspect one selected experience and open Viator booking links. Suggestions are not verified to fit time ashore; no live availability. Use only on an experience request, never automatically for every cruise search.
- `search_cruises`: Find cruise recommendations and deals on CruiseHops by destination, departure port, dates, cabin and budget. Coverage includes captured sailings from Carnival Cruise Line, Royal Caribbean International, MSC Cruises, Norwegian Cruise Line, Celebrity Cruises, Princess Cruises, Holland America Line, Costa Cruises, Disney Cruise Line, Virgin Voyages, AIDA Cruises, TUI Cruises / Mein Schiff, P&O Cruises (UK), Cunard. This is not a whole-market or live-inventory search. Returns sailing links for further exploration on CruiseHops. Research only; no widget. Default three choices. Do not add cabin or budget constraints the user did not give. Search captured cruise sailings using typed filters. Prices are USD cents per person for two guests, not live or family quotes. Filter before grouping and choosing lowest cabin price. Use term IDs from suggest_cruise_terms for precise names.
- `suggest_cruise_terms`: Suggest matching ship, port, destination and cruise line names, including suffix words. Returns stable term IDs for search filters.
