sbb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SBB_MCP_URL | No | Override the hosted server URL. | https://mcp.swisstrip.app/mcp |
| SWISSTRIP_TOKEN | No | Sync your traveler profile from your SwissTrip account. Mint at https://swisstrip.app/settings/developer. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {
"subscribe": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| save_profileA | Save the user's travel profile locally for future sessions. Call this after asking the user for their details (name, date of birth, reduction card). Data is stored at ~/.sbb-mcp/profile.json. |
| get_profileA | Read the user's saved travel profile. Check this before showing prices to use correct reduction card. If no profile exists, ask the user for their details. |
| list_travelersA | List all travelers in the user's SwissTrip account (self, partner, kids). Each traveler has their own reduction card. Use their names with get_prices for family trip pricing. Requires SWISSTRIP_TOKEN. |
| search_stationsA | Search for Swiss train stations, addresses, or points of interest by name. Returns station IDs needed for other tools. |
| search_connectionsA | Find train connections between two Swiss stations. Returns schedules with departure/arrival times, duration, transfers, and trip IDs for pricing. |
| get_trip_detailsA | Get detailed information about a specific train connection including all intermediate stops, platforms, and occupancy. Use a trip ID from search_connections results. |
| get_more_connectionsA | Load earlier or later train connections for a previous search. Use the collection ID from search_connections results. |
| get_pricesA | Get ticket prices for one or more train connections. Supports Half-Fare card (Halbtax) and GA travelcard discounts. When connected to SwissTrip (SWISSTRIP_TOKEN), pass traveler_names to get family pricing for multiple travelers. |
| get_ticket_linkA | Get a direct purchase link to buy a train ticket on SBB.ch. Only call this when the user wants to buy a specific ticket. On mobile with SBB app installed, opens directly in the app with Halbtax/GA applied automatically. Pass traveler_names for family tickets when connected to SwissTrip. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan_journey | Plan a train journey in Switzerland — finds connections, compares prices, and provides ticket links |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| widget-stations-list | Card view of Swiss train station search results. |
| widget-connection-list | Card list of Swiss train connections with times, duration, and transfers. |
| widget-trip-details | Timeline view of a single train journey with stops, platforms, and occupancy. |
| widget-prices-table | Table view of 1st- and 2nd-class ticket prices for selected trips. |
| widget-ticket-card | SBB ticket purchase card with deep link that opens SBB.ch or the SBB mobile app. |
| profile | The user's saved travel profile (name, DOB, reduction card). Read this before showing prices or generating ticket links. If empty, ask the user for their details and save with save_profile. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fabsbags/sbb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server