Direct Ferries
by Direct Ferries Ltd (Community)
Description
Compare and book from over 4k ferry crossings worldwide, using real-time pricing and availability, anytime, anywhere.
Capabilities
No special capabilities listed
AI Agent Discovery
Direct Ferries is indexed by Tedix as a structured travel listing for AI assistants, search crawlers, and users comparing agent-ready apps.
- Direct Ferries is categorized as Travel.
- Developer: Direct Ferries Ltd.
- Connector type: AI-Powered App.
- Current connector status: Connected.
- Observed distribution channels: chatgpt.
- Available regions: US, FR, GB, ES, KR, IN.
Use this page to understand whether Direct Ferries is relevant for travel workflows in AI assistants.
For MCP discovery, this listing helps crawlers connect Direct Ferries to tool, resource, prompt, and server-health signals instead of treating it as a generic directory entry.
The canonical Tedix directory URL is https://tedix.dev/apps/direct-ferries/.
Crawlable Profile
Source and availability
Tedix identifies Direct Ferries from Upstream Mcp tool source; Store sources: ChatGPT app store; Distribution: Ecosystem Directory. Availability is reported for US, FR, GB, ES, KR, IN.
- ChatGPT app store Auth not flagged · RELEASED · US, FR, GB, ES, KR, IN
Auth, tools, and actions
Authentication: Open Access. No special capability flags are currently listed. Current MCP inventory reports 3 tools, 1 resources, and 0 prompts.
- get_routes_from_country_b2b · Read-only action
Discover Direct Ferries routes from a departure country when the Direct Ferries departure port code is unknown. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I found the direct crossing/route/sailing” instead of “I found routeId X” or “I found route ID X”. WHEN TO USE: - Use this as the starting point when the user provides a port name, city name, island name, route name, country, or any non-Direct-Ferries port code. - Use this when the Direct Ferries departure port code is unknown or uncertain. - Do not infer, invent, or translate Direct Ferries port codes from port names, city names, island names, IATA codes, UN/LOCODE-style codes, or common public abbreviations. - Use routeSearchText when the user provides route, port, city, or island text to keep route results manageable. COUNTRY ISO: - countryISO must be the departure/origin country, not the destination country. - If the user provides a route such as Dover to Calais, use the country of the departure point: GB. - If the departure country is ambiguous, ask a clarifying question before calling the tool. HOW TO USE RESULTS: - Use returned port codes and routeId values internally for follow-up route lookup and quoting. - If the requested crossing is present in the returned routes, select the matching crossing internally for quoting. - If the requested crossing is not present in the returned routes, do not invent a route. Explain that no matching direct crossing was found, or try a more precise routeSearchText when appropriate. EXAMPLE: - User asks for Dover to Calais. Do not assume Dover is "DOV". - Call this tool with countryISO "GB" and routeSearchText "Dover Calais". - From the returned results, select the Dover to Calais crossing internally for quoting. - For a return journey, use the lookupPortCode from the returnRouteLookupHint to query get_routes_from_port for a return journey routeId. RETURN JOURNEYS: - Do not assume the outbound routeId can be reused in reverse. - Use returnRouteLookupHint to look up the reverse-direction route with get_routes_from_port. - Select the reverse route whose destination port matches the original departure port. - For international return journeys, you may need route discovery or route lookup for both countries/directions.
- get_routes_from_port · Read-only action
Given a known Direct Ferries origin port code, returns available outbound routes from that port, including routeId, origin port code, destination port code and return-route lookup guidance. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I found the direct crossing/route/sailing” instead of “I found routeId X” or “I found route ID X”. WHEN TO USE: - Use this only when you already have a known Direct Ferries departure port code and need to retrieve available outbound routes from that port. - A known Direct Ferries port code means either a code returned by a previous Direct Ferries tool response, or a code the user explicitly identifies as a Direct Ferries port code rather than a public/IATA/UN/LOCODE abbreviation. - Do not infer, invent, or translate Direct Ferries port codes from port names, city names, island names, IATA codes, UN/LOCODE-style codes, or common public abbreviations. - If the user provides a port name, city name, island name, route name, country, or any non-Direct-Ferries port code, call get_routes_from_country_b2b first to discover available routes and valid Direct Ferries port codes for the origin country. HOW TO USE RESULTS: - Use returned port codes and routeId values internally for follow-up route lookup and quoting. - If the requested destination is present in the returned outbound routes, select the matching crossing internally for quoting. - If the requested destination is not present in the returned outbound routes, do not invent a route. Use route discovery from the relevant country or explain that no matching direct crossing was found. EXAMPLE: - User asks for Dover to Calais. Do not call get_routes_from_port with "DOV". - First call get_routes_from_country_b2b with countryISO "GB" and routeSearchText "Dover Calais". - From the returned results, select the Dover to Calais crossing internally for quoting. - For a return journey, use the lookupPortCode from the returnRouteLookupHint to query get_routes_from_port for a return journey routeId. RETURN JOURNEYS: - Do not assume the outbound routeId can be reused in reverse. - Use returnRouteLookupHint to look up the reverse-direction route with get_routes_from_port. - Select the reverse route whose destination port matches the original departure port. - For international return journeys, you may need route discovery or route lookup for both countries/directions.
- Get quotes for route · Read-only action
Retrieve available ferry quotes for one-way or return journeys. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I’m getting a quote for the outbound/return sailing” instead of mentioning routeId or internal identifiers. - Surface customer-relevant details first: route, date, time, operator, passenger and vehicle mix, fare, ticket conditions, and check-in requirements. WHEN TO USE: - Use this when you have the required internal routeId values for the requested sailing direction or directions and need to retrieve available ferry quotes. - For one-way journeys, use the outbound routeId returned by route discovery or route lookup. - For return journeys, use the outbound routeId for the outbound leg and the reverse-direction routeId for the return leg. - Do not invent routeId values. If the correct routeId is unknown, first use get_routes_from_country_b2b or get_routes_from_port to identify the correct crossing internally. REQUIRED INPUTS: - culture: Locale in the format ll-CC, for example "en-GB". Infer this from the language the customer is using, unless they explicitly request a different locale. - selectedCurrency: 3-letter ISO currency code, for example "GBP". Infer this from the customer’s explicit preference first, then from customer location, language/market, and the port location of the journey. - legs: One or more journey legs to quote. LEG REQUIREMENTS: - isReturnLeg: true for the return leg, false for the outbound leg. - routeId: Internal route identifier for that sailing direction. Return journeys require a different reverse-direction routeId. - departureDateTime: Target sailing date and time in YYYY-MM-DDTHH:MM:SS format. departureDateTime must be in the future. - vehicles: Vehicle type for the leg. Allowed values are "car", "bicycle", or "" for foot passengers. Case-sensitive. - passengers: Total number of passengers travelling on that leg. - Single-leg journeys must use isReturnLeg false. - Multi-leg journeys must include exactly one outbound leg and exactly one return leg. HOW TO USE RESULTS: - Present customer-relevant quote details in plain language: route, date, time, operator, passenger and vehicle mix, fare, ticket conditions, and check-in requirements. - Do not expose routeId values or other numeric internal identifiers from the request or response. - Use any quoteSearchHint returned in the response to guide follow-up suggestions to the user. SEARCH BEHAVIOUR: - `culture` and `selectedCurrency` are independent and should not be assumed to match. - Quotes may be returned within a time window around the requested departureDateTime, not only at the exact timestamp. - When the user provides only a date and no time, choose a reasonable departureDateTime as a seed search and explain that nearby sailings may be returned. - For same-day searches where the user does not provide a time, choose the earliest clean seed time that is at least two hours ahead of the user’s current local time. Prefer exactly +2 hours when valid. Only add extra buffer if there is a specific reason, and state that reason. - If results are empty, limited, or not suitable, offer to search 1-3 hours earlier or later on the same day. OPTIONS: - Set `returnAlternativeRoutes` to false by default. - Set `returnAlternativeRoutes` to true only if the initial direct-route results are empty, limited, unsuitable, or if the user explicitly asks to see alternatives. - Set `isOpenTicket` to true only for open-return style journeys when supported.
Verification freshness
- Catalog synced 1d ago (June 5, 2026)
- Connector checked May 30, 2026
- MCP scanned May 30, 2026
- Website enriched May 29, 2026
- Directory updated 1d ago (June 5, 2026)
Alternatives and related apps
Comparable apps in Travel include 12Go, ADAC Mietwagen, ALL Accor, AbhiBus.
Publisher Intelligence
Insights and recommendations for app publishers. See how your app performs and how to improve discoverability.
Server Status b2b-mcp-server v1.0.0
https://booking-mcp.directferries.com/mcp-server Last checked: May 30, 2026
Technical Details
Tools(3)
Showing 3 of 3 tools
| Tool | Description | Flags | Test | Last Tested | |
|---|---|---|---|---|---|
get_routes_from_country_b2b | Discover Direct Ferries routes from a departure country when the Direct Ferries departure port code is unknown. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I found the direct crossing/route/sailing” instead of “I found routeId X” or “I found route ID X”. WHEN TO USE: - Use this as the starting point when the user provides a port name, city name, island name, route name, country, or any non-Direct-Ferries port code. - Use this when the Direct Ferries departure port code is unknown or uncertain. - Do not infer, invent, or translate Direct Ferries port codes from port names, city names, island names, IATA codes, UN/LOCODE-style codes, or common public abbreviations. - Use routeSearchText when the user provides route, port, city, or island text to keep route results manageable. COUNTRY ISO: - countryISO must be the departure/origin country, not the destination country. - If the user provides a route such as Dover to Calais, use the country of the departure point: GB. - If the departure country is ambiguous, ask a clarifying question before calling the tool. HOW TO USE RESULTS: - Use returned port codes and routeId values internally for follow-up route lookup and quoting. - If the requested crossing is present in the returned routes, select the matching crossing internally for quoting. - If the requested crossing is not present in the returned routes, do not invent a route. Explain that no matching direct crossing was found, or try a more precise routeSearchText when appropriate. EXAMPLE: - User asks for Dover to Calais. Do not assume Dover is "DOV". - Call this tool with countryISO "GB" and routeSearchText "Dover Calais". - From the returned results, select the Dover to Calais crossing internally for quoting. - For a return journey, use the lookupPortCode from the returnRouteLookupHint to query get_routes_from_port for a return journey routeId. RETURN JOURNEYS: - Do not assume the outbound routeId can be reused in reverse. - Use returnRouteLookupHint to look up the reverse-direction route with get_routes_from_port. - Select the reverse route whose destination port matches the original departure port. - For international return journeys, you may need route discovery or route lookup for both countries/directions. | read-only | 100%Latency 684ms | May 29, 2026 | |
get_routes_from_port | Given a known Direct Ferries origin port code, returns available outbound routes from that port, including routeId, origin port code, destination port code and return-route lookup guidance. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I found the direct crossing/route/sailing” instead of “I found routeId X” or “I found route ID X”. WHEN TO USE: - Use this only when you already have a known Direct Ferries departure port code and need to retrieve available outbound routes from that port. - A known Direct Ferries port code means either a code returned by a previous Direct Ferries tool response, or a code the user explicitly identifies as a Direct Ferries port code rather than a public/IATA/UN/LOCODE abbreviation. - Do not infer, invent, or translate Direct Ferries port codes from port names, city names, island names, IATA codes, UN/LOCODE-style codes, or common public abbreviations. - If the user provides a port name, city name, island name, route name, country, or any non-Direct-Ferries port code, call get_routes_from_country_b2b first to discover available routes and valid Direct Ferries port codes for the origin country. HOW TO USE RESULTS: - Use returned port codes and routeId values internally for follow-up route lookup and quoting. - If the requested destination is present in the returned outbound routes, select the matching crossing internally for quoting. - If the requested destination is not present in the returned outbound routes, do not invent a route. Use route discovery from the relevant country or explain that no matching direct crossing was found. EXAMPLE: - User asks for Dover to Calais. Do not call get_routes_from_port with "DOV". - First call get_routes_from_country_b2b with countryISO "GB" and routeSearchText "Dover Calais". - From the returned results, select the Dover to Calais crossing internally for quoting. - For a return journey, use the lookupPortCode from the returnRouteLookupHint to query get_routes_from_port for a return journey routeId. RETURN JOURNEYS: - Do not assume the outbound routeId can be reused in reverse. - Use returnRouteLookupHint to look up the reverse-direction route with get_routes_from_port. - Select the reverse route whose destination port matches the original departure port. - For international return journeys, you may need route discovery or route lookup for both countries/directions. | read-only | 100%Latency 245ms | May 29, 2026 | |
quotes_get_quotes_request | Retrieve available ferry quotes for one-way or return journeys. IMPORTANT USER-FACING RULES: - routeId is internal-only. Never mention routeId, route IDs, numeric route identifiers, or numeric internal identifiers in any user-visible text unless the user explicitly asks for technical/debug details. - This rule applies to final answers, intermediate progress updates, status messages, explanations, summaries, and error messages. - Do not include routeId values even when confirming that a route was selected for a quote. Keep routeId only in tool arguments. - When narrating progress, say “I’m getting a quote for the outbound/return sailing” instead of mentioning routeId or internal identifiers. - Surface customer-relevant details first: route, date, time, operator, passenger and vehicle mix, fare, ticket conditions, and check-in requirements. WHEN TO USE: - Use this when you have the required internal routeId values for the requested sailing direction or directions and need to retrieve available ferry quotes. - For one-way journeys, use the outbound routeId returned by route discovery or route lookup. - For return journeys, use the outbound routeId for the outbound leg and the reverse-direction routeId for the return leg. - Do not invent routeId values. If the correct routeId is unknown, first use get_routes_from_country_b2b or get_routes_from_port to identify the correct crossing internally. REQUIRED INPUTS: - culture: Locale in the format ll-CC, for example "en-GB". Infer this from the language the customer is using, unless they explicitly request a different locale. - selectedCurrency: 3-letter ISO currency code, for example "GBP". Infer this from the customer’s explicit preference first, then from customer location, language/market, and the port location of the journey. - legs: One or more journey legs to quote. LEG REQUIREMENTS: - isReturnLeg: true for the return leg, false for the outbound leg. - routeId: Internal route identifier for that sailing direction. Return journeys require a different reverse-direction routeId. - departureDateTime: Target sailing date and time in YYYY-MM-DDTHH:MM:SS format. departureDateTime must be in the future. - vehicles: Vehicle type for the leg. Allowed values are "car", "bicycle", or "" for foot passengers. Case-sensitive. - passengers: Total number of passengers travelling on that leg. - Single-leg journeys must use isReturnLeg false. - Multi-leg journeys must include exactly one outbound leg and exactly one return leg. HOW TO USE RESULTS: - Present customer-relevant quote details in plain language: route, date, time, operator, passenger and vehicle mix, fare, ticket conditions, and check-in requirements. - Do not expose routeId values or other numeric internal identifiers from the request or response. - Use any quoteSearchHint returned in the response to guide follow-up suggestions to the user. SEARCH BEHAVIOUR: - `culture` and `selectedCurrency` are independent and should not be assumed to match. - Quotes may be returned within a time window around the requested departureDateTime, not only at the exact timestamp. - When the user provides only a date and no time, choose a reasonable departureDateTime as a seed search and explain that nearby sailings may be returned. - For same-day searches where the user does not provide a time, choose the earliest clean seed time that is at least two hours ahead of the user’s current local time. Prefer exactly +2 hours when valid. Only add extra buffer if there is a specific reason, and state that reason. - If results are empty, limited, or not suitable, offer to search 1-3 hours earlier or later on the same day. OPTIONS: - Set `returnAlternativeRoutes` to false by default. - Set `returnAlternativeRoutes` to true only if the initial direct-route results are empty, limited, unsuitable, or if the user explicitly asks to see alternatives. - Set `isOpenTicket` to true only for open-return style journeys when supported. | read-only | 100%Latency 262ms | May 29, 2026 |
Discoverability Score
Fair
57 of 100 — how easily AI agents find your app
- Description quality14/20
- Example prompts0/20
- Keyword coverage0/15
- Tool metadata16/20
- Visual assets13/20
- Endpoint health10/10
- Data freshness15/15
How to Improve
Add at least 2 example prompts. Prompt examples strongly improve app matching and click-through intent.
Increase keyword coverage (discovery + trigger) to improve retrieval for long-tail queries.
Add at least 2 screenshots that show real workflows to increase confidence and conversion.
Technical Details
- Status
- ENABLED
- Type
- AI-Powered App
- Auth
- Open Access
- Listed on
- ChatGPT
- Added
- May 6, 2026
- Last synced
- 1d ago
- Last checked
- May 30, 2026
- Version
- 1.0.0
- Distribution
- Ecosystem Directory