mcpbeat Sign in

Spick Me — Swiss public transport MCP Server

answering

Spick Me — Swiss public transport is answering right now. Last checked 14 min ago. It exposes 6 tools.

Swiss trains, trams, buses and boats: journeys door to door, departures, day trips, travel-time maps

Uptime history 23 days of history · worst day 98%
23 days agonow
100.0%
Uptime 24h
91 of 91 checks
6
Tools
read from the server
134 ms
Response time
average over 24h
open, no key
Access
sse

What changed 13

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 4 October 2026. No other catalogue keeps this.

25 Oct 6 tool descriptions were rewritten departures, find_place, plan_day_out and 3 more
16 Oct 4 tool descriptions were rewritten plan_day_out, plan_journey, reachable_area and 1 more
4 Oct 2 tool descriptions were rewritten departures, plan_journey
4 Oct a tool changed the parameters it asks for departures

Spick Me — Swiss public transport missed one check this week

Everything else answered, so this is steady rather than shaky. We check every 15 minutes, which is how a one-off gets told apart from the start of a pattern, and how you hear about the next one within the hour instead of from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 14 min ago.

run in your terminal
claude mcp add swiss-public-transport --transport sse https://spickme.ch/mcp
Settings → Connectors → Add custom connector, then paste this address
https://spickme.ch/mcp
~/.codex/config.toml
[mcp_servers.swiss-public-transport]
url = "https://spickme.ch/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "swiss-public-transport": {
      "url": "https://spickme.ch/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "swiss-public-transport": {
      "type": "sse",
      "url": "https://spickme.ch/mcp"
    }
  }
}

Available tools 6

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

plan
plan_day_out
Plans a multi-stop day with a stay at each stop, timing each leg from when the previous stay ends: the train there, the hours somewhere, the connection on, and the way home. Use it for "a day trip from Bern to Grindelwald with four hours hiking, then dinner in Interlaken", "visit Thun, Spiez and Interlaken today", or an evening out and back. For a single A-to-B trip, use plan_journey. Inputs: start is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. stops is the list of places in order (1–12), each with stay_minutes (default 120; 0 means pass through without stopping) or leave_at ("HH:MM", move on at that time — a night away works: the next such time), and an optional note. end defaults to start, which makes it a round trip. departure is when the day starts: Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. Each leg comes with a picture_url that opens an image of that connection, and the answer's open_url opens the whole day on spickme.ch, where a stay can be changed, the day re-planned for another date, and the plan shared. Example: {"start": "Bern", "stops": [{"place": "Grindelwald", "stay_minutes": 240, "note": "hike"}, {"place": "Interlaken Ost", "stay_minutes": 90, "note": "dinner"}], "departure": "2026-09-26T08:00"}
plan_journey
Find the best connections by train, tram, bus, boat and mountain railway between two places in Switzerland, over the official Swiss timetable. Door to door: an address or a named place works as well as a station, and the walk to and from the nearest stops is included. Use it for "how do I get from A to B", "the next connections from Olten to Zürich", "when is the next train to …", "I need to be in Bern by 9" — it gives departure and arrival times, changes and platforms. Prefer it to the departure board for any question with a destination. Every journey comes with a picture_url: a link that opens a ready-made image of the connection, for looking at or sharing. The answer's open_url opens the same search on spickme.ch, where the connections are shown with their live delays. Inputs: from and to are each A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. Give departure (leave at or after) or arrival (be there by), not both; with arrival, the answer also brings the first connection arriving up to 30 minutes after it, for a user who said "around"; both are Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. via is up to three stations or stops the journey must pass through (then one best journey is returned); to stop somewhere on the way, use plan_day_out. max_transfers caps the number of changes (0 = direct only). limit is how many alternatives to return (1–8, default 4). All times are planned timetable times with their Swiss offset; live delays are not included. Example: {"from": "Winterthur", "to": "Bern", "departure": "2026-09-26T07:00"}
departures
departures
List the next departures from one station or stop, as the board on the platform would: time, line, direction, platform, kind of vehicle, and the next stops it calls at. Use it for "what leaves from Bern in the next hour", "when is the next tram from Bellevue", or to see how often a place is served. With to, it lists only what calls at that station later, each with its arrival time there — "trains from Olten to Zürich HB" — including trains whose destination is further on. For connections that may need a change, or door to door, use plan_journey. The answer's open_url opens the station's live board on spickme.ch. Inputs: station is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. If it is an address or coordinate, the nearest stop is used and named in the answer. to (optional) is a station the departures must call at, read the same way. time is when the board starts; Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. limit is how many departures (1–40, default 12). Times are planned timetable times with their Swiss offset; live delays and cancellations are not included. Example: {"station": "Luzern", "time": "2026-09-26T17:30", "limit": 8}
place
find_place
Look up what a place name means in the Swiss public-transport network: stations and stops, street addresses, and named places (a university, a museum, a mountain), ranked best first, each with a stable place_id. Use it when the user names a place you are not sure of, when another tool answered that a name is ambiguous, or to get coordinates for a place. You do not need it before plan_journey or departures for ordinary names — those tools accept names directly and say how they read them. A station or stop in Switzerland carries a page_url: its page on spickme.ch, with its departures, its lines and the places it reaches directly. Inputs: query is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. limit is how many candidates to return (1–10, default 5). near is an optional latitude/longitude that breaks ties between equally good matches. Example: {"query": "Winterthur Spital"} returns the stop "Winterthur, Kantonsspital" with its place_id, which you can pass to plan_journey as from or to.
reachable
reachable_area
List every station and stop in Switzerland reachable from one place within a number of minutes by public transport, nearest first, with the earliest arrival at each. Use it for "where can I get to from Bern in 45 minutes", "which towns are within an hour's commute of Zug", catchment areas and isochrones. For the travel time between specific places, use travel_time_matrix; for how to make a particular journey, plan_journey. The answer's open_url opens the area as a map on spickme.ch, with every place reached and a picture of it to share. Inputs: from is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. (an address or coordinate is snapped to its nearest stop, which the answer names). departure is when to leave: Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. max_minutes is the time budget (default 60), waiting for the first vehicle included. limit is how many places to list (default 50). max_transfers caps changes. Minutes are timetable minutes from the departure time given, on that day's planned timetable; live delays are not included. Example: {"from": "Bern", "departure": "2026-09-28T07:30", "max_minutes": 45}
travel
travel_time_matrix
Compute the public-transport travel time in minutes from each of several origins to each of several destinations in Switzerland, for one departure time. For comparing locations: which office site is best reached from where staff live, which flat has the shortest commutes, how well a venue is connected. Use it when there are several places on either side. For one pair with the actual connection, use plan_journey; for everywhere reachable, reachable_area. Each origin in the answer carries a reach_url: the places reachable from it, as a map on spickme.ch. Inputs: origins and destinations are lists of places, each A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. (addresses and coordinates are snapped to their nearest stop, named in the answer). departure: Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. max_transfers caps changes. The answer is minutes[i][j] from origins[i] to destinations[j], waiting for the first vehicle included, or null where no connection exists that day. Planned timetable; live delays are not included. Example: {"origins": ["Winterthur", "Baden", "Zug"], "destinations": ["Zürich HB", "Zürich Oerlikon"], "departure": "2026-09-28T07:30"}

Endpoints

URLTransportStateLatencyChecked
https://spickme.ch/mcp sse answering 89 ms 14 min ago

Alternatives to Spick Me — Swiss public transport

same job, measured the same way
PTV MCP by UnClick
by malamutemayhem

Melbourne / Victoria public transport timetables, departures, and disruptions (PTV). By UnClick.

12 installs/wk local only
Swiss Public Transport
by tpjnorton

Swiss public transport — journey planning, live stationboards, delays, and SBB ticket links.

220 installs/wk local only
Faceabot Transit Switzerland (SBB/CFF)
by faceabot

Swiss trains and public transport: live connections and departures. Official data, free, no key.

3 tools answering
NSW Transport
by fisher98kim

NSW public transport: trip planning, real-time departures, service alerts, Park&Ride car parks.

1 339 installs/wk local only
Andiamo
by getandiamo

Plan door-to-door trips across French trains, buses, transit and flights.

answering
Rozklad MCP
by contentwriterco

Polish train, bus & city transit timetables: journeys, departures, live delays, fares

63 installs/wk 8 tools answering
Transport Nsw
by pipeworx-io

Transport for NSW MCP — journey planning, live departures, service alerts

46 tools answering
Live Times Transit
by travelwhiz-ltd

Read-only public transit departures, stop search, and city coverage for bus and train users.

5 tools answering

Spick Me — Swiss public transport — questions

Answers built from our own checks of this server.

What can Spick Me — Swiss public transport do?
It exposes 6 tools, read directly from the server on our last check. Among them: departures, find_place, plan_day_out, plan_journey, reachable_area, travel_time_matrix. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Spick Me — Swiss public transport working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 134 ms. The bar chart above shows every period we have measured.
How do I connect Spick Me — Swiss public transport?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Spick Me — Swiss public transport need an API key?
No. Spick Me — Swiss public transport completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 6 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Spick Me — Swiss public transport?
It answers our handshake in 134 ms on average, which is faster than 92% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.