Case Study

Swiss Transit Explorer

A decision-ready Swiss public transit MCP server and ChatGPT app that turns raw timetable data into ranked route options, live station boards, disruption checks, and weather-aware guidance.

Open GitHub

What it solves

  • Ranks options by transfer risk, delay signals, and outdoor exposure.
  • Provides station boards, disruption checks, and route-specific delay context.
  • Wraps everything in ChatGPT widgets instead of forcing long text responses.

Stack

Built with mcp-use, ChatGPT widgets, Swiss public transport open data, Open-Meteo, and optional GTFS line mapping for human-readable train and bus labels.

The hosted demo endpoint is currently unavailable. Run it locally →

Related write-up

The build log covers ideation, tool design, prompt routing, token issues, and the deployment problems that surfaced when moving from inspector to production.

Read the article →

Demo

Chat-first route planning.

Watch on YouTube
Swiss Transit Explorer chat demo
Widgets

Tools that stay readable inside ChatGPT.

Swiss Transit Explorer route explorer widget

Route Explorer

Risk-ranked route options with transfer details, leg breakdowns, and clearer decision cues than a standard timetable UI.

Swiss Transit Explorer ChatGPT app details

ChatGPT App Surface

The final app combines tools, widgets, and structured prompts so ChatGPT can call the right actions without drowning the user in raw API output.

Swiss Transit Explorer tools overview

Inspector Workflow

The inspector was the fastest way to validate tool parameters, widget resources, and prompt behavior before deployment.

Lessons

Most of the hard work was not the routing logic.

Swiss Transit Explorer token issue

Token hygiene

Weather became optional, prompts were consolidated, and the UI was simplified so the app could stay useful without wasting context.

Swiss Transit Explorer deployment issue

Deployment friction

Deploying from source, fixing asset paths, and tightening build order were all necessary before the production app behaved like the local inspector build.

Swiss Transit Explorer deployed app

Outcome

The final build shipped ranked routes, route and station diagnostics, optional weather context, and a deployable MCP endpoint for ChatGPT integration.

Next

Need an MCP app or agent workflow?

I can help design the tool surface, widget UX, and deployment path so the app feels like a product instead of a protocol demo.