Daytrip

Daytrip MCP server

Search private door-to-door transfers, quote a live price and hand the traveler a link to book on daytrip.com, from any MCP client. No sign-in, no API key.

What Daytrip is

Daytrip (https://daytrip.com) sells private, fixed-price, door-to-door car transfers between cities, airports, ports and resorts in 130+ countries across Europe, the Americas, Asia, Africa and Oceania. Every booking is a dedicated vehicle with a vetted local driver, never shared with strangers, and on intercity routes the traveler can add sightseeing stops along the way.

The MCP server lets an AI assistant search those transfers, quote a live price for a chosen vehicle and stops, and hand the traveler a link to finish the booking on daytrip.com. It is read-only from the traveler's point of view: nothing is reserved and nothing is charged until the traveler pays on the website. Day trips and hourly bookings are not searchable through it yet.

Connect

Server URL https://mcp.daytrip.com/mcp
Transport Streamable HTTP (MCP 2025-06-18). Send one JSON-RPC message per POST. A request gets a JSON response; an accepted notification (such as notifications/initialized) gets HTTP 202 with an empty body. The server is stateless, so GET and DELETE on the endpoint answer 405.
Authentication None. Searching, quoting and the booking link need no sign-in, API key or header.
Server card https://mcp.daytrip.com/mcp/server-card (also at /.well-known/mcp/server-card.json on this host and on daytrip.com)

Add it to Claude

  1. Open Customize → Connectors in Claude (web or desktop), click Add, then Add custom connector. On a Team or Enterprise plan an owner adds it under Organization settings → Connectors instead, and members then click Connect.
  2. Name it Daytrip, paste the server URL https://mcp.daytrip.com/mcp and click Continue.
  3. Under Authentication choose No sign in. Leave Request headers empty: the public tools take no API key. Click Add.
  4. The three tools below appear in the connector's tool list; no sign-in step follows.

In Claude Code:

claude mcp add --transport http daytrip https://mcp.daytrip.com/mcp

Any other MCP client that speaks Streamable HTTP connects the same way: the endpoint URL and no credentials.

Example prompts

Tools

Every result is returned twice, as structuredContent and as the same JSON in a text block, preceded by a short plain-language summary. Each result carries a status; anything other than the success status also carries a code and a message. These outcomes are results, not errors: a tool call fails with isError only when something unexpected happened on the server.

Access class says what the tool does to Daytrip's data. Read-only tools change nothing. Write tools create data on Daytrip's side but never a booking or a charge.

search_trips Read-only

Search Daytrip transfers

Search Daytrip private door-to-door car transfers between two places (city to city, airport to city, …) and get bookable prices for every vehicle class.

Inputs

FieldTypeDescription
originstringrequiredPickup place as the customer said it: a city, airport, IATA code or "City, Country". To pick an ambiguous_location candidate, pass its label verbatim.
destinationstringrequiredDrop-off place, same rules as origin.
departureAtstringrequiredPickup date and time, ISO 8601. Without an offset it is local time at the pickup place (e.g. 2026-10-01T09:00); with an offset or Z it is converted to the pickup place's local time.
adultsintegerrequiredNumber of adult passengers (the lead traveler counts as one).
childrenintegeroptional, default 0Number of children (under 12).
additionalLuggageintegeroptional, default 0Suitcases beyond one per passenger; each passenger already has one suitcase and one carry-on included.
currencyone of eur, usd, aud, cad, gbp, nzd, czk, mxnoptionalISO 4217 code the customer prefers (eur, usd, gbp, …). Adds priceInRequestedCurrency and makes the checkout charge in it.
localeone of en, es, de, fr, ptoptional, default "en"Customer language (en, de, es, fr, pt). Used for the handover link.

Returns

statusMeaning
okOne option per vehicle class with its price, capacity, duration and expiresAt, the resolved origin and destination, and availableStops, the sightseeing stops on the way with their extra cost. Prices are per vehicle, all-inclusive, and valid until expiresAt.
ambiguous_locationThe origin or destination could mean several places; candidates lists them. Search again with the chosen candidate's label.
location_not_foundThe place could not be resolved. Use a city, airport or IATA code.
invalid_departureThe date or time could not be read, or is in the past.
route_not_availableDaytrip does not serve that trip.
price_unavailableNothing could be priced for that date.

get_quote Read-only

Quote a Daytrip transfer

Price one search_trips option exactly as it will be booked: the chosen vehicle, the party and any stops.

Inputs

FieldTypeDescription
offerIdstringrequiredofferId of the chosen search_trips option.
vehicleTypestringrequiredvehicle.type of the chosen search_trips option (a class identifier such as sedan or van).
adultsintegerrequiredNumber of adult passengers, including the lead traveler.
childrenintegeroptional, default 0Number of children.
additionalLuggageintegeroptional, default 0Suitcases beyond one per passenger.
currencyone of eur, usd, aud, cad, gbp, nzd, czk, mxnoptionalISO 4217 code to show the price in as well; use the one from search_trips.
localeone of en, es, de, fr, ptoptional, default "en"Language of the traveler's pages and emails (en, de, es, fr, pt).
stopsarray of objectoptional, default []Sightseeing stops from the search's availableStops the customer wants to add, in any order.
stops[].locationIdstringrequiredlocationId of an availableStops entry from search_trips.
stops[].durationMinutesintegeroptionalTime at the stop; defaults to the stop's defaultDurationMinutes.
customStopsarray of objectoptional, default []Stops at places not in availableStops. The trip is then routed and priced through them, so the price will differ from the search.
customStops[].placestringrequiredFree-text place, like origin/destination.
customStops[].durationMinutesintegerrequiredTime at the stop.

Returns

statusMeaning
quotedThe total price and currency for the chosen vehicle, party and stops, what is included, when the traveler is charged, the cancellation policy with its free-cancellation deadline, and expiresAt. previousPrice is set when the price differs from the search option.
offer_expiredThe search option is gone; search again.
route_not_availableThe trip can no longer be priced.
invalid_inputThe vehicle type or a stop does not belong to that offer; message says what to fix.

Data and privacy

Limits and errors

{ "statusCode": 429, "message": "ThrottlerException: Too Many Requests" }
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32602, "message": "Invalid arguments for tool search_trips: …" } }

Support

Questions about the connector, a traveler's booking or data: daytrip@daytrip.com, or the Support chat on daytrip.com.