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 एक्सटेंशन इंस्टॉल करें