MCP.so
Sign In

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_iso parameter
  • 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.

Comments

More Productivity MCP servers