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.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"caltrain": {
"command": "uvx",
"args": [
"caltrain-mcp"
]
}
}
}Tools
No tools detected
Fetch the live tool list by running this server in a temporary sandbox using the button above.
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.
Frequently asked questions
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.
Basic information
More Productivity MCP servers

YouTube Transcript AI
youtube-transcript.aiFetch the full transcript of any YouTube video as clean text — no API key, no signup, no quota wall. Pass a YouTube URL (watch, youtu.be, shorts, embed) or a bare video ID and get the transcript back with title and metad

Syncro
Syncro Technologies, IncSyncro is a Remote Monitoring and Management (RMM) and Professional Services Automation (PSA) platform. Connect Claude to your Syncro instance for live access to tickets, alerts, customers, contacts, assets, products, ap

AdWhispr - Research, Clone, & Launch Ads from Claude/ChatGPT
AdWhisprRemote MCP server that turns Claude, ChatGPT, or Cursor into a full ad workflow: research any brand's live Facebook and TikTok ads, clone the proven winners for your own brand, and launch real campaigns on Google, TikTok
twocents
twocents-pageHuman feedback for AI agents — remote MCP server at twocents.page/mcp (share_page / get_feedback)

RADAAR
RADAARThe RADAAR MCP (Model Context Protocol) Server acts as a bridge between AI assistants (such as Claude, ChatGPT, or custom LLM agents) and the RADAAR social media management platform. By exposing RADAAR’s core tools and A
Comments