caltrain-mcp
@davidyen1124
About caltrain-mcp
A Model Context Protocol (MCP) server for Caltrain schedules. Get real-time train departures using GTFS data, designed for Claude Desktop and other MCP clients.
Basic information
Category
Productivity
License
NOASSERTION
Runtime
python
Transports
stdio
Publisher
davidyen1124
Submitted by
David
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"caltrain": {
"command": "uvx",
"args": [
"caltrain-mcp"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is caltrain-mcp?
caltrain-mcp is a Model Context Protocol server that provides Caltrain schedule information using official GTFS data. It is intended for users of MCP-compatible clients (like Claude Desktop) who need to look up train departures, stations, and travel times between any two Caltrain stops.
How to use caltrain-mcp?
Configure caltrain-mcp in your MCP client (e.g., Claude Desktop) by adding "caltrain": { "command": "uvx", "args": ["caltrain-mcp"] } to the MCP configuration file. The server can also be tested directly via Python imports or started with uvx caltrain-mcp. It relies on local GTFS data that must be fetched first by running fetch_gtfs.py.
Key features of caltrain-mcp
- Real‑time (GTFS‑based) train schedules between any two stations
- Look up all 31 Caltrain stations by full name, short name, or abbreviation
- Query departures at a specific time using the
when_isoparameter - Smart partial matching of station names (e.g., "diridon" matches "San Jose Diridon")
- Supports weekday/weekend service calendars from official GTFS data
Use cases of caltrain-mcp
- Ask your AI assistant for the next trains from San Jose Diridon to San Francisco
- Find all available Caltrain stations without memorizing names
- Plan a commute at a precise time and date, using GTFS data
- Get departure times for the Gilroy extension line
FAQ from caltrain-mcp
What GTFS data does caltrain-mcp use?
It uses official Caltrain GTFS data, including stops.txt, trips.txt, stop_times.txt, and calendar.txt, which are downloaded by running fetch_gtfs.py.
How do I install and run caltrain-mcp?
Install the uv package manager, run uv sync to install dependencies, then download the GTFS data with uv run python scripts/fetch_gtfs.py. Finally, configure your MCP client to run uvx caltrain-mcp.
What tools does caltrain-mcp expose?
It exposes two tools: next_trains(origin, destination, when_iso=None) to get upcoming departures, and list_stations() to list all 31 Caltrain stations.
How does caltrain-mcp communicate?
The server communicates via stdin/stdout using the Model Context Protocol (MCP). It does nothing when run directly in a terminal.
Are there any known limitations?
The README notes that actual arrival times may vary and that the server relies on the official GTFS data, so accuracy depends on that data. It handles mixed integer/string GTFS fields and supports 24+ hour time format.
More Productivity MCP servers
ntfy-mcp: Your Friendly Task Completion Notifier
teddyzxcvDesktop Commander MCP
wonderwhy-erThis is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities
Outlook Calendar MCP Tool
merajmehrabiA Model Context Protocol (MCP) server that allows Claude to access and manage your local Microsfot Outlook calendar (Windows only).
AppleScript MCP Server (Dual access: python and node.js)
peakmojoMCP server that execute applescript giving you full control of your Mac
Todoist MCP Server
stanislavlysenko0912Full implementation of Todoist Rest API & support Todoist Sync API for MCP server
Comments