Ferryhopper MCP Server

официальный

MCP-сервер Ferryhopper предоставляет данные о паромных маршрутах, расписаниях и перенаправлениях на бронирование, чтобы ИИ-ассистент мог находить рейсы по Европе и Средиземноморью и отправлять пользователей на Ferryhopper для завершения бронирования.

Что можно делать с Ferryhopper MCP?

  • Search multi-leg ferry trips — Ask for one-way, round-trip, or island-hopping itineraries with up to 5 legs via search_ferry_trips.
  • Get detailed sailing info — Request vessel specs, amenities, photos, and bookable cabin/seat options for a specific trip using trip_details.
  • Discover ports and direct routes — Find all ferry ports via get_ports or list reachable destinations from an origin with get_direct_connections_for_ports.
  • Check live disruptions — Ask about delays, cancellations, or weather alerts for a country and date using get_disruptions.
  • Get booking handoff links — Receive direct Ferryhopper.com URLs to complete reservations for selected trips.

Документация

Ferry routes, schedules and booking handoff for AI assistants

The Ferryhopper MCP Server exposes ferry routes, schedules and booking redirects so an AI assistant can discover connections across Europe and the Mediterranean and send users to Ferryhopper to complete their booking.

Key features

🌍

Ports & connections

Search ports and connections across 33 countries and 190+ ferry operators

⛴️

Live itineraries

Get real-time ferry itineraries with indicative prices — one-way, round-trip, or island-hopping chains of up to 5 legs

🛳️

Vessel details

Look up vessel details for a sailing: amenities, accessibility, capacity, photos, and bookable seat/cabin classes with prices

⚠️

Disruption alerts

Get live disruption alerts across Greece and Europe, including cancellations, vessel changes, port modifications, and weather warnings

🔗

Booking handoff

Receive a direct link to Ferryhopper.com to continue the booking flow from the selected trip

🧩

MCP apps

An MCP app (see the official overview) is any client that can consume remote MCP tools and, in some hosts, render UI resources alongside tool results.

Use cases

  • Assist users searching for ferry routes and daily itineraries
  • Recommend destinations based on departure port and date
  • Power travel chatbots to plan round trips, island-hopping or multi-leg journeys
  • Answer questions about a specific vessel — wifi, restaurant, pets, cabins, vehicle garage, wheelchair access
  • Inform users of active disruptions before or during travel, so they can adjust plans in real time

Client integration options

📱

MCP-ready hosts consume our toolset and, if they support iframe-style MCP apps, render richer interactive travel results.

⌨️

Text-only or command-line clients use the same tools endpoint, simply ignoring the UI resource and working with the structured JSON responses for ports, routes, and trip data.

Available tools

All tools are read-only. Location parameters take human-readable names (city or port name), not port codes, so there is no need to call get_ports first.

Search ferry trips

The main search tool and the engine behind the Trips Picker UI. Pass an ordered chain of 1–5 legs: one leg is a one-way search, two legs where the second reverses the first is a round trip, and anything longer is an island-hopping chain. Each leg after the first must depart from where the previous leg arrived, in chronological order. Each leg's options are returned independently, and availability flags (cabin, vehicles, pets, e-ticket) are reported per segment. Hosts that support MCP apps render the picker; conversational hosts consume the same structured data.

  • legs[] array, 1–5 items
  • legs[].departureLocation string
  • legs[].arrivalLocation string
  • legs[].departureDate string (YYYY-MM-DD) Schema
{
  "name": "search_ferry_trips",
  "description": "Search ferry trips as an ordered chain of 1 to 5 legs (one-way, round trip, or island hopping)",
  "parameters": {
    "legs": [
      {
        "departureLocation": "string",
        "arrivalLocation": "string",
        "departureDate": "string (YYYY-MM-DD)"
      }
    ]
  }
}

Trip details

Full details for a single sailing, looked up by an option id returned by search_ferry_trips (legs[].options[].id). Returns departure/arrival times, ports and operator, the vessel's specs, amenities and photos, and the bookable accommodation tiers with prices. If the vessel has no detailed specs, vessel.hasDetails is false and the spec fields are null: the data is unavailable, which doesn't mean the amenity is missing.

  • tripId string (from search_ferry_trips legs[].options[].id) Schema
{
  "name": "trip_details",
  "description": "Get vessel specs, amenities, photos and accommodation options for a single sailing",
  "parameters": {
    "tripId": "string (from search_ferry_trips legs[].options[].id)"
  }
}

Get ports

Find ferry ports, harbors, maritime terminals, port IDs, codes, and geographic locations

  • — no parameters Schema
{
  "name": "get_ports",
  "description": "Find ferry ports, harbors, maritime terminals, port IDs, codes, and geographic locations"
}

Get direct connections

Find all direct ferry routes and reachable destination ports from a given origin port without layovers or transfers

  • portLocation string Schema
{
  "name": "get_direct_connections_for_ports",
  "description": "Find all direct ferry routes and reachable destination ports from a given origin port without layovers or transfers",
  "parameters": {
    "portLocation": "string"
  }
}

Get disruptions

Find all ferry travel disruptions, including delays, weather alerts, and strikes for a given date and country

  • country string (ISO 3166-1 alpha-2, e.g. "GR")
  • tripDate string (YYYY-MM-DD) Schema
{
  "name": "get_disruptions",
  "description": "Find all ferry travel disruptions, including delays, weather alerts, and strikes for a given date and country",
  "parameters": {
    "country": "string (ISO 3166-1 alpha-2, e.g. \"GR\")",
    "tripDate": "string (YYYY-MM-DD)"
  }
}

Search trips (deprecated)

Kept for existing integrations. Prefer search_ferry_trips, which covers this tool plus round-trip and multi-leg search.

  • departureLocation string
  • arrivalLocation string
  • date string (YYYY-MM-DD) Schema
{
  "name": "search_trips",
  "description": "Deprecated: get a list of available one-way ferry trips between two ports on a specific date",
  "parameters": {
    "departureLocation": "string",
    "arrivalLocation": "string",
    "date": "string (YYYY-MM-DD)"
  }
}

UI resources

Beyond the tools, we expose MCP app widgets. Hosts that support MCP apps fetch these to render richer UI alongside the tool response:

search-ferry-trips-picker ui://widgets/ferry-trips-picker.html

Used by search_ferry_trips; one row per leg, the user picks an option for each leg

Example prompts

Try these in any connected assistant.

One-way“What ferries depart from Piraeus to Aegina on Saturday morning?”

One-way“Help me find a ferry from Ibiza to Barcelona on July 11th.”

Discovery“I want to visit an island within 3 hours of Athens tomorrow and return the next day, what are my options?”

Round trip“Plan a round trip from Piraeus to Mykonos, leaving August 3rd and returning August 10th.”

Island hopping“I want to island-hop Piraeus → Paros → Naxos → Santorini during the first week of September.”

Vessel details“Does the ferry I picked have wifi, and are pets allowed on board?”

Disruptions“Are there any ferry disruptions or cancellations in Greece today?”

Installation & setup

The MCP clients directory lists the current set of supported apps and agents that can connect to MCP servers, so teams with MCP-enabled clients can integrate Ferryhopper with minimal setup.

Using ChatGPT? Add the Ferryhopper app

Ferryhopper is available as a ChatGPT app. Add it in one click, with no server URL needed.

Or connect any MCP client manually:

Pick an MCP-enabled client

Application examples:

Gemini CLI ChatGPT ↗ Claude.ai / Claude Desktop

Add the Ferryhopper server

Consult their documentation and use the following URL for connecting:

https://mcp.ferryhopper.com/mcp

Start planning

Ask about ferry routes, schedules, vessels or disruptions — see the example prompts above.