4,000+ servers built on MCP Fusion
Vinkius
Pydantic AISDK
Pydantic AI
Why use CTA MCP Server with Pydantic AI?

Bring Public Transit
to Pydantic AI

Create your Vinkius account to connect CTA to Pydantic AI and start using all 11 AI tools in minutes. Fully managed, enterprise secure, and ready to use without writing a single line of code. No hosting, no server setup — just connect and start using.

MCP Inspector GDPR Free for Subscribers
Get Bus PredictionsGet Bus RoutesGet Bus StopsGet Bus VehiclesGet Route DirectionsGet Route StatusGet Service AlertsGet Stop DetailsGet System TimeGet Train ArrivalsGet Train Positions
ChatGPT Claude Perplexity

Compatible with every major AI agent and IDE

ClaudeClaude
ChatGPTChatGPT
CursorCursor
GeminiGemini
WindsurfWindsurf
VS CodeVS Code
JetBrainsJetBrains
VercelVercel
+ other MCP clients
CTA

What is the CTA MCP Server?

Connect your CTA API Chicago public transit data platform to any AI agent and take full control of real-time L train and CTA Bus tracking, arrival predictions, service disruption monitoring, and route status awareness through natural conversation.

What you can do

  • L Train Arrivals — Get real-time arrival predictions for any CTA L station with train destinations and line colors
  • L Train Positions — Track live positions of all active trains system-wide or filtered by line (Red, Blue, Brown, Green, Orange, Purple, Pink, Yellow)
  • Bus Predictions — Get estimated arrival times for any CTA bus stop with route and destination info
  • Bus Vehicle Tracking — Track real-time GPS positions of all active CTA buses system-wide or by route
  • Bus Routes — List all CTA bus routes across Chicago neighborhoods
  • Bus Stops — Get all stops for any bus route with coordinates and direction information
  • Service Alerts — Monitor active disruptions across L trains and buses with severity and alternatives
  • Route Status — Quick system-wide health check showing which lines are running on-time or delayed
  • Stop Details — Get detailed location info for any CTA bus stop
  • Route Directions — Understand direction patterns (northbound, southbound) for any bus route
  • System Connectivity — Verify API connectivity and synchronize timestamps

How it works

  1. Subscribe to this server
  2. Enter your CTA Train Tracker API key and CTA Bus Tracker API key (both free from the Developer Portal)
  3. Start tracking Chicago transit from Claude, Cursor, or any MCP-compatible client

No more navigating multiple CTA apps or manually checking train and bus times. Your AI acts as a dedicated Chicago transit analyst and trip planning assistant.

Who is this for?

  • Chicago Commuters — track L trains and buses, check arrivals, and monitor service alerts for daily commutes
  • Tourists — navigate the CTA L system with station discovery and real-time arrival awareness
  • Transit Analysts — research service patterns, vehicle positions, and system reliability across CTA modes
  • Mobility Apps — integrate real-time CTA data into journey planning and transit tracking applications

Built-in capabilities (11)

get_bus_predictions

Returns predicted arrival times in minutes and seconds, route IDs, destination descriptions, vehicle IDs, block IDs, trip designators, and whether buses are scheduled or real-time tracked. Based on real-time vehicle tracking and schedule adherence. Essential for real-time bus arrival awareness, passenger waiting time estimation, trip timing, and connection coordination. AI agents should use this when users ask "when is the next 22 Clark bus at stop 1234", "show predictions for this stop", or need real-time arrival data for a specific CTA bus stop. Stop IDs can be found using get_bus_stops. Get next bus arrival predictions for a specific CTA bus stop

get_bus_routes

Returns route IDs, short names (e.g., "22", "36"), long names (e.g., "22-Clark", "36-Broadway"), route colors, and route directions. Covers local, limited-stop, and express services across all Chicago neighborhoods. Essential for route discovery, service area analysis, transit network understanding, and identifying route IDs for use in stop and prediction queries. AI agents should use this when users ask "list all CTA bus routes", "what routes serve downtown Chicago", or need to identify route IDs for subsequent CTA Bus Tracker queries. List all CTA bus routes in Chicago

get_bus_stops

Returns stop IDs (stpid), stop names, geographic coordinates (latitude, longitude), stop sequence order, and direction information (northbound, southbound, eastbound, westbound). Essential for stop discovery, journey planning, accessibility mapping, and identifying stop IDs for use in arrival prediction queries. AI agents should use this when users ask "list all stops on route 22 Clark", "find bus stops along Michigan Avenue", or need to identify stop IDs for use in get_bus_predictions queries. List all bus stops for a specific CTA bus route

get_bus_vehicles

Returns vehicle IDs (vid), route IDs, latitude/longitude coordinates, heading direction, speed, trip designators, block IDs, destination descriptions, and pattern names. Can query all buses system-wide or filter by specific route ID for targeted route-level tracking. Essential for real-time bus fleet monitoring, passenger arrival estimation, route-level service awareness, and transit operations management. AI agents should reference this when users ask "where are all the buses on route 22", "track bus positions system-wide", or need real-time vehicle position data for fleet visualization. Get real-time positions of active CTA bus vehicles system-wide or filtered by route

get_route_directions

Returns direction IDs (0 or 1), direction names (e.g., "Northbound", "Southbound", "Eastbound", "Westbound"), and associated route metadata. Essential for understanding route patterns, direction identification for stop queries, and trip planning with correct directional awareness. AI agents should use this when users ask "what directions does route 22 serve", "is there a northbound option for route 36", or need directional metadata to understand bus route geometry and plan trips in the correct direction. Get direction information for a specific CTA bus route

get_route_status

Returns route IDs, route names, status indicators (GOOD DELAYS, SLOWLY, SEVERE DELAYS, PLANNED WORK, SERVICE DISRUPTION, SUSPENDED), and status descriptions. Essential for quick system-wide health checks, commute planning, and understanding overall CTA reliability at a glance. AI agents should reference this when users ask "how is CTA running today", "what lines are delayed", or need a quick overview of system-wide service status before detailed trip planning. Get current status of all CTA train lines and bus routes

get_service_alerts

Returns alert descriptions, affected routes and stations, severity levels, cause types (maintenance, incident, weather, special events, construction), start and end timestamps, detour information, and alternative service recommendations. Can query all alerts system-wide or filter by specific route. Essential for service disruption awareness, alternative route planning, passenger communication, and understanding system reliability. AI agents should use this when users ask "are there any delays on the Red Line", "is CTA running normally today", or need to check service reliability before planning CTA journeys. Get current service alerts and disruptions across the CTA system

get_stop_details

Returns stop ID, stop name, geographic coordinates (latitude, longitude), and any associated route information. Essential for stop identification, accessibility planning, transit network analysis, and passenger information. AI agents should use this when users ask "tell me about stop 1234", "where is this bus stop located", or need detailed stop metadata to contextualize transit queries and trip planning. Get detailed information about a specific CTA bus stop

get_system_time

Returns the official server timestamp in standard format. Useful for synchronizing local clocks with the CTA system, verifying API connectivity, testing authentication, and timestamp alignment for real-time data correlation. AI agents should use this as a connectivity check before making more complex queries, or when users need to verify API responsiveness and authentication validity. Get the current CTA Bus Tracker system timestamp

get_train_arrivals

Returns predicted arrival times in minutes, train run numbers, destination stations, line colors (Red, Blue, Brown, Green, Orange, Purple, Pink, Yellow), operating status (on-time, delayed, scheduled, unscheduled, approaching, boarding, departing), and whether the train is approaching or at the station. Essential for real-time L tracking, passenger waiting time estimation, trip timing, and connection coordination. AI agents should use this when users ask "when is the next Red Line train at Clark/Lake", "show upcoming trains at this station", or need real-time arrival predictions for a specific CTA L station. MapIds are 5-digit station identifiers (e.g., 40360 for Clark/Lake, 40900 for Jackson). Station IDs can be found in the CTA GTFS static data feed. Get real-time train arrival predictions for a specific L station

get_train_positions

Returns train run numbers, line colors, next station IDs, service types (train, 5-car, 8-car), heading directions (North, South, East, West, Northeast, Northwest, Southeast, Southwest), scheduled vs. real-time status, and delay indicators. Can query all trains system-wide or filter by specific line (Red, Blue, Brown, Green, Orange, Purple, Pink, Yellow). Essential for real-time train tracking, network-wide service awareness, fleet monitoring, and understanding train distribution across the L system. AI agents should reference this when users ask "where are all the Red Line trains", "show train positions on the Blue Line", or need to visualize train locations for operational monitoring or passenger information. Get real-time positions of all active CTA trains system-wide or filtered by line

Why Pydantic AI?

Pydantic AI validates every CTA tool response against typed schemas, catching data inconsistencies at build time. Connect 11 tools through Vinkius and switch between OpenAI, Anthropic, or Gemini without changing your integration code. full type safety, structured output guarantees, and dependency injection for testable agents.

  • Full type safety: every MCP tool response is validated against Pydantic models, catching data inconsistencies before they reach your application

  • Model-agnostic architecture. switch between OpenAI, Anthropic, or Gemini without changing your CTA integration code

  • Structured output guarantee: Pydantic AI ensures tool results conform to defined schemas, eliminating runtime type errors

  • Dependency injection system cleanly separates your CTA connection logic from agent behavior for testable, maintainable code

P
See it in action

CTA in Pydantic AI

AI AgentVinkius
High Security·Kill Switch·Plug and Play
Enterprise Security

Why run CTA with Vinkius?

The CTA connection runs on our fully managed, secure cloud infrastructure. We handle the hosting, maintenance, and security so you don't have to deal with servers or code. All 11 tools are ready to work instantly without any complex setup.

You stay in complete control of your data. Your AI only accesses the information you approve, keeping your sensitive passwords and private details completely safe. Plus, with automatic optimizations, your AI works faster and more efficiently.

View full CTA details →
CTA
Fully ManagedNo server setup
Plug & PlayNo coding needed
SecurePrivacy protected
PrivateYour data is safe
Cost ControlBudget limits
Control1-click disconnect
Auto-UpdatesMaintenance free
High SpeedOptimized for AI
Reliable99.9% uptime
Your credentials and connection tokens are fully encrypted

* Every connection is hosted and maintained by Vinkius. We handle the security, updates, and infrastructure so you don't have to write code or manage servers. See our infrastructure

01 / Catalog

Over 4,000 integrations ready for AI agents

Explore a vast library of pre-built integrations, optimized and ready to deploy.

02 / Credentials

Connect securely in under 30 seconds

Generate tokens to authenticate and link external services in a single step.

03 / Guardian

Complete visibility into every agent action

Audit live requests, latency, success rates, and active security compliance policies.

04 / FinOps

Optimize spending and track token ROI

Analyze real-time token consumption and cost metrics detailed by connection.

Over 4,000 integrations ready for AI agents
Connect securely in under 30 seconds
Complete visibility into every agent action
Optimize spending and track token ROI

Explore our live AI Agents Analytics dashboard to see it all working

This dashboard is included when you connect CTA using Vinkius. You will never be left in the dark about what your AI agents are doing with your tools.

Why Vinkius

CTA and 4,000+ other AI tools. No hosting, no code, ready to use.

Professionals who connect CTA to Pydantic AI through Vinkius don't need to write code, manage servers, or worry about security. Everything is pre-configured, secure, and runs automatically in the background.

4,000+MCP Integrations
<40msResponse time
100%Fully managed
Raw MCP
Vinkius
Ready-to-use MCPsFind and configure each manually4,000+ MCPs ready to use
Connection SetupManual coding & server setup1-click instant connection
Server HostingYou host it yourself (needs 24/7 uptime)100% hosted & managed by Vinkius
Security & PrivacyStored in plaintext config filesBank-grade encrypted vault
Activity VisibilityBlind execution (no logs or tracking)Live dashboard with real-time logs
Cost ControlRunaway AI token spend riskAutomatic budget limits
Revoking AccessMust delete files or code to stop1-click disconnect button
The Vinkius Advantage

How Vinkius secures CTA for Pydantic AI

Every request between Pydantic AI and CTA is protected by our secure gateway. We automatically keep your sensitive data private, prevent unauthorized access, and let you disconnect instantly at any time.

< 40msCold start
Ed25519Signed audit chain
60%Token savings
FAQ

Frequently asked questions

01

Can my AI check when the next L train is arriving at my station?

Yes! Use the get_train_arrivals tool with the station mapId (a 5-digit parent station ID, e.g., 40360 for Clark/Lake, 40900 for Jackson). Your AI will return all upcoming trains with destination names, line colors (Red, Blue, Brown, Green, Orange, Purple, Pink, Yellow), predicted arrival times in minutes, operating status (on-time, delayed, approaching, boarding, departing), and whether the train is scheduled or real-time tracked. If you do not know the mapId, it can be found in the CTA GTFS static data feed.

02

How do I check when the next CTA bus is arriving at a specific stop?

First use get_bus_stops with a route ID to find the stop ID (stpid) for your location. Then use get_bus_predictions with that stop ID to get real-time estimated arrival times, route information, destination descriptions, and vehicle IDs. For route-filtered predictions, you can also pass the route ID to narrow results to a specific bus line. Stop IDs are numeric identifiers assigned by CTA to each physical bus stop across Chicago.

03

Are there any service disruptions affecting the Red Line or my bus route right now?

Use get_service_alerts to check all active service disruptions across the CTA system. This returns alerts with affected routes and stations, disruption descriptions, severity levels, cause types (maintenance, incident, weather, special events, construction), and detour information. You can also use get_route_status for a quick system-wide health check showing which L lines and bus routes are running on-time, delayed, or have planned work. Always check this before planning any CTA journey.

04

How does Pydantic AI discover MCP tools?

Create an MCPServerHTTP instance with the server URL. Pydantic AI connects, discovers all tools, and generates typed Python interfaces automatically.

05

Does Pydantic AI validate MCP tool responses?

Yes. When you define result types as Pydantic models, every tool response is validated against the schema. Invalid data raises a clear error instead of silently corrupting your pipeline.

06

Can I switch LLM providers without changing MCP code?

Absolutely. Pydantic AI abstracts the model layer. your CTA MCP integration works identically with OpenAI, Anthropic, Google, or any supported provider.

07

MCPServerHTTP not found

Update: pip install --upgrade pydantic-ai

Explore More MCP Servers

View all →