MCP TOOL
Calendar
Search Rolfs Flyg & Buss trips by destination and get each trip's bookable departures.
Provide a free-text destination (and optionally a date window, market, transport mode, and origin airport). The tool runs your query through the site search and returns every matching trip along with its available departures for those dates.
Endpoint
POST https://api.rolfsbuss.se/mcp/calendar
Model Context Protocol over Streamable HTTP (JSON-RPC 2.0).
Open endpoint – no authentication or API key required.
Parameters
destination (string, required) Free-text destination or trip name, e.g. "Portugal", "Antalya", "textil". Typo-tolerant.
market (enum, optional) Which market to search: sv = Sweden, no = Norway, both = all markets. Default: sv.
start_date (date YYYY-MM-DD, optional) Earliest departure date. Default: tomorrow.
end_date (date YYYY-MM-DD, optional) Latest departure date. Default: 6 months after start.
transport (enum, optional) Filter by transport type: airport = flights only, bus = bus only, any = both. Default: any.
airport (IATA code or "all", optional) Origin airport as a 3-letter code, e.g. CPH, ARN, OSL, GOT. Only applies to flight departures.
Response
A summary object plus a list of trips. Only trips with at least one departure matching the chosen filters are included.
Summary fields
trip_count – number of trips returned
trips_without_departures – how many matches were dropped for having no departures in the selected window
Each trip includes
title – trip name
triptype_url – full link to the trip on rolfsbuss.se
image – full image URL
price_min – lowest available price
Each departure includes
tripname, departureID, date, returnDate, price, seatsleft
Example
Flights to Portugal from Copenhagen, autumn 2026:
POST https://api.rolfsbuss.se/mcp/calendar
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "calendar",
"arguments": {
"destination": "Portugal",
"market": "sv",
"transport": "airport",
"airport": "CPH",
"start_date": "2026-09-01",
"end_date": "2026-10-31"
}
}
}Response (trimmed):
{
"query": "Portugal",
"markets": ["sv"],
"transport": "airport",
"airport": "CPH",
"trip_count": 1,
"trips_without_departures": 0,
"trips": [
{
"market": "sv",
"triptype_id": 2156,
"title": "Textil och kultur i Portugal",
"price_min": 14975,
"image": "https://lvj1vt15bh.execute-api.eu-north-1.amazonaws.com/source/trip-main/flyg-alentejo-textil",
"triptype_url": "https://www.rolfsbuss.se/flyg/alentejo-textil",
"departure_count": 1,
"departures": [
{
"tripname": "Textil och kultur i Portugal 7d",
"departureID": 60386,
"date": "2026-09-27",
"returnDate": "2026-10-03",
"price": 14975,
"seatsleft": 9
}
]
}
]
}Connecting
Most agent frameworks (Claude SDK, OpenAI connectors, the MCP SDKs) only need the endpoint URL. Manually, it's plain JSON-RPC 2.0: initialize → tools/list → tools/call.
Rolfs Flyg & Buss – MCP tools. More tools coming soon.