Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mcp-server-public-transport": {
"env": {
"UK_TRANSPORT_APP_ID": "your-uk-app-id",
"UK_TRANSPORT_API_KEY": "your-uk-api-key"
},
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-server-public-transport",
"run",
"server.py"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP Server providing real-time public transport data across Europe.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in maps
A Model Context Protocol (MCP) server providing TomTom's location services, search, routing, and traffic data to AI agents.
Real-time BART departures, trip planning, fares, stations, and advisories.
MCP server for the VesselAPI — maritime vessel tracking, port events, emissions, and navigation data
Fair meeting point discovery for AI agents with isochrone-based travel time fairness
MCP Security Weekly
Get CVE alerts and security updates for Mcp Server Public Transport and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP Server providing real-time public transport data across Europe.
mcp-server-public-transport is a Model Context Protocol (MCP)-compatible local server that provides access to public transport data across Europe. Currently, it integrates APIs from UK, Switzerland, Norway, Belgium and Berlin/Brandenburg, allowing you to retrieve train connections, live departures, and bus locations.
| Country | API Base URL | Status |
|---|---|---|
| United Kingdom | https://transportapi.com | ✅ |
| Switzerland | https://transport.opendata.ch | ✅ |
| Belgium | https://api.irail.be | ✅ |
| Norway | https://api.entur.io | ✅ |
| Berlin/Brandenburg | https://v6.vbb.transport.rest | ✅ |
| Feature | API Path | Status |
|---|---|---|
| United Kingdom | ||
| Live Departures | /uk/train/station_timetables/{station_code}.json | ✅ |
| Switzerland | ||
| Search Connections | /connections | ✅ |
| Station Lookup | /locations | ✅ |
| Departure Board | /stationboard | ✅ |
| Nearby Stations | /locations?x={lon}&y={lat} | ✅ |
| Belgium | ||
| Live Departures | /departures | ✅ |
| Station Lookup | /stations | ✅ |
| Nearby Stations | /stations/nearby | ✅ |
| Norway | ||
| Place Search | /geocoder/v1/autocomplete | ✅ |
| Live Departures | GraphQL: stopPlace(id) { estimatedCalls(...) } | ✅ |
| Trip Planning | GraphQL: trip(from, to, dateTime, numTripPatterns, ...) | ✅ |
| Nearest Stops | GraphQL: nearest(latitude, longitude, maximumDistance, ...) | ✅ |
| Berlin/Brandenburg | ||
| Location Search | /locations | ✅ |
| Live Departures | /stops/:id/departures | ✅ |
| Live Arrivals | /stops/:id/arrivals | ✅ |
| Journey Planning | /journeys | ✅ |
| Nearby Stations | /locations/nearby | ✅ |
Set the following environment variables:
UK_TRANSPORT_APP_ID=your_uk_app_id
UK_TRANSPORT_API_KEY=your_uk_api_key
Add to your claude_desktop_config.json`:
{
"mcpServers": {
"mcp-server-public-transport": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-server-public-transport",
"run",
"server.py"
],
"env": {
"UK_TRANSPORT_APP_ID": "your-uk-app-id",
"UK_TRANSPORT_API_KEY": "your-uk-api-key"
}
}
}
}
Replace /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-public-transport with the actual path where you've cloned the repository.
Note: You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS/Linux or where uv on Windows.