{
"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.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 8 days ago. 6 stars.
Will it work with my client?
Transport: stdio, http. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
No known vulnerabilities.
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
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.