Transit MCP API

Real-time transit, maritime, and aviation telemetry for AI agents.

Transit MCP API

Real-time transit telemetry for AI agents. Ingests GTFS-Realtime feeds from 25+ transit agencies and serves normalized vehicle positions, predictions, and alerts via a REST API with x402 crypto payments (USDC on Base).

Live: transit.motioninfo.com:8400

What it does

  • Polls 25 GTFS-RT feeds every 15 seconds (MBTA, NYC Subway, BART, SEPTA, and more)
  • Normalizes vehicle positions, trip predictions, and service alerts into a single queryable database
  • Enriches responses with human-readable route and stop names from GTFS static data
  • Serves data via REST API with x402 payment protocol (USDC on Base mainnet)
  • SSE streaming endpoint for real-time vehicle position updates

Endpoints

EndpointAuthDescription
GET /healthFreeHealth check
GET /api/statsFreeLive statistics
GET /api/feedsFreeFeed list and status
GET /mcp/toolsFreeMCP tool definitions for agent discovery
GET /api/vehicles?lat=X&lon=Y&radius_km=Zx402 $0.001Vehicles near a location
GET /api/alerts?feed=mbtax402 $0.001Service alerts
GET /api/predictions?feed=mbta&stop=70154x402 $0.001Arrival predictions
GET /api/airports?q=back+bayx402 $0.001Search stops/stations
GET /api/stream/vehicles?lat=X&lon=YFreeSSE real-time stream

Payment

Paid endpoints use the x402 protocol. When an agent hits a paid endpoint without payment, it receives HTTP 402 with a PAYMENT-REQUIRED header containing a USDC invoice on Base. The agent signs a payment authorization, re-sends the request with a PAYMENT-SIGNATURE header, and receives the data.

  • Price: $0.001 USDC per query
  • Network: Base mainnet (eip155:8453)
  • Free tier: 10 requests/minute without payment

Setup

python3 -m venv /opt/transit-mcp
source /opt/transit-mcp/bin/activate
pip install gtfs-realtime-bindings requests aiohttp fastapi uvicorn 'x402[fastapi,evm]'

python setup_db.py        # Create database and seed feeds
python load_static.py     # Download GTFS static data (routes, stops)
python ingest.py          # Start polling (run as daemon)
python server.py          # Start API server

Environment

VariableDefaultDescription
TRANSIT_MCP_PORT8400API server port
X402_PAY_TO(required)EVM address to receive USDC payments
X402_PRICE$0.001Price per query
X402_NETWORKeip155:8453Base mainnet
X402_FACILITATORhttps://x402.org/facilitatorx402 facilitator URL

Architecture

GTFS-RT Feeds (25 agencies)
    ↓ poll every 15s (ingest.py)
SQLite Database (transit.db)
    ↓ query
FastAPI Server (server.py)
    ↓ x402 middleware
AI Agent (pays USDC on Base)

License

Proprietary. Copyright 2026 MotionInfo.

Похожие серверы

NotebookLM Web Importer

Импортируйте веб-страницы и видео YouTube в NotebookLM одним кликом. Более 200 000 пользователей доверяют нам.

Установить расширение Chrome