_ registry / mcp http-sse · checked 3h ago

FerryhopperMCP

https://mcp.ferryhopper.com

Registry code: 74af9bce12251b49

api record

Other · maintained by Ferryhopper · 3 tools: get_ports, search_trips, redirect_to_search_results_page

from a public catalogue that lists it, not from the operator

endpoint
https://mcp.ferryhopper.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing
karma
0 · newcomer
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
74ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ used through this hub 30 days

The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.

accounts
0

distinct, expensive to fake

calls served
0

successful, last 30 days

_ what it can do 6 tools
1 open 5 never probed 1 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_ports open 3h ago

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

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_disruptions unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "tripDate",
        "country"
      ],
      "properties": {
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code to filter disruptions by country (e.g. \"GR\" for Greece)."
        },
        "tripDate": {
          "type": "string",
          "description": "Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15)."
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • get_direct_connections_for_ports unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "portLocation"
      ],
      "properties": {
        "portLocation": {
          "type": "string",
          "description": "Location name or search term used to find matching ports (not limited to exact port codes)."
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • search_trips unknown never probed

    Deprecated: prefer search_ferry_trips, which covers this tool plus round-trip and multi-leg search and per-segment availability flags. Get a list of available one-way ferry trips between two ports on a specific date.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "departureLocation",
        "arrivalLocation",
        "date"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15)."
        },
        "arrivalLocation": {
          "type": "string",
          "description": "Arrival location as a human-readable name or search term (e.g. city, port name), not a port code."
        },
        "departureLocation": {
          "type": "string",
          "description": "Departure location as a human-readable name or search term (e.g. city, port name), not a port code."
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • search_ferry_trips unknown never probed

    Search ferry trips as an ordered chain of 1 to 5 legs. Takes human-readable location names (e.g. city or port name) for each leg, not port codes — no need to call get_ports first. Availability flags (cabin, vehicles, pets, e-ticket) are reported per segment. - One leg: a plain one-way search. - Two legs where leg 2 reverses leg 1 (e.g. leg 1 Piraeus→Mykonos, leg 2 Mykonos→Piraeus): a round trip. - Up to 5 legs otherwise (e.g. A to B, then B to C, then C to D): an island-hopping chain. Legs after the first must depart from the location the previous leg arrived at, and must be in chronological order (a later leg may share the same date as an earlier one, but may not precede it). The response returns each leg's available options independently (legs[].options) — options are never filtered against another leg's options. Consecutive legs must leave enough time between one leg's arrival and the next leg's departure to be a valid connection; this is not pre-filtered server-side or reflected in this output, so do not assume every combination of options across legs is a valid connection — the widget the user interacts with enforces this.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "legs"
      ],
      "properties": {
        "legs": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "departureLocation",
              "arrivalLocation",
              "departureDate"
            ],
            "properties": {
              "departureDate": {
                "type": "string",
                "format": "date",
                "description": "Departure date for this leg in ISO format YYYY-MM-DD (e.g. 2026-06-21)."
              },
              "arrivalLocation": {
                "type": "string",
                "description": "Arrival location as a human-readable name or search term (e.g. city, port name), not a port code."
              },
              "departureLocation": {
                "type": "string",
                "description": "Departure location as a human-readable name or search term (e.g. city, port name), not a port code."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 5,
          "minItems": 1,
          "description": "An ordered chain of sailing legs. A one-way search is a single leg. A round trip is 2 legs where leg 2 reverses leg 1 (e.g. leg 1 Piraeus→Mykonos, leg 2 Mykonos→Piraeus). An island-hopping chain is up to 5 legs, e.g. A→B, then B→C, then C→D. Each leg after the first must depart from the location the previous leg arrived at."
        }
      },
      "additionalProperties": false
    }
    arguments 40 lines
  • trip_details unknown never probed

    Get full details for a single sailing leg, looked up by the id of one of the options returned by search_ferry_trips (legs[].options[].id). Returns the trip's departure/arrival time, ports, and operating company, plus the vessel's technical specs, onboard amenities, and photos. Use this to answer questions about a vessel such as: does it have wifi / a restaurant / a snack bar / an open deck / a lift or elevator / wheelchair or disabled access / a designated smoking area? Is it pet-friendly, or does it allow pets on board? Does it have cabins, or a garage / vehicle deck for cars and motorbikes? How many passengers or vehicles does it carry (capacity)? How long is the vessel (length in meters)? What is its IMO number or MMSI (maritime identification numbers used for registry/tracking lookups)? Is this vessel accessible, family-friendly, or suitable for passengers who need mobility assistance? What does the vessel look like (photos)? If no detailed specs exist for the vessel in the source system, vessel.hasDetails is returned as false and every spec/amenity field is null — this means the data is unavailable, not that the vessel lacks that amenity. Also returns the trip's bookable accommodation tiers (seat/cabin classes) with their price and a photo of that accommodation, when available. Throws if the tripId is malformed or the trip is no longer bookable (e.g. it has already departed, was cancelled, or sold out) — re-run search_ferry_trips to get a fresh tripId in that case.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "tripId"
      ],
      "properties": {
        "tripId": {
          "type": "string",
          "description": "The trip identifier for a single sailing leg, as returned in legs[].options[].id by search_ferry_trips. Do not fabricate this value."
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/74af9bce12251b49/badge.svg)](https://brick.blue/agent/74af9bce12251b49)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.