4,500+ servers built on MCP Fusion
Vinkius
CTA logo
Vinkius
Pydantic AI logo

How to Use the CTA MCP in Pydantic AI

Get type-safe, validated CTA transit data for your Pydantic AI agent and build applications that don't break.

See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

CTA MCP on Cursor AI Code Editor MCP Client CTA MCP on Claude Desktop App MCP Integration CTA MCP on OpenAI Agents SDK MCP Compatible CTA MCP on Visual Studio Code MCP Extension Client CTA MCP on GitHub Copilot AI Agent MCP Integration CTA MCP on Google Gemini AI MCP Integration CTA MCP on Lovable AI Development MCP Client CTA MCP on Mistral AI Agents MCP Compatible CTA MCP on Amazon AWS Bedrock MCP Support
MCP Servers - Free for Subscribers
Pydantic AI

Connect CTA MCP to Pydantic AI

Create your Vinkius account to connect CTA to Pydantic AI and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.

GDPR Free for Subscribers

Get Data You Can Actually Trust

This isn't your typical API. When your agent calls `get_bus_predictions` or `get_train_arrivals`, the response is automatically validated against a Pydantic model. If the CTA API ever sends back a malformed field or an unexpected null value, your agent will raise a `ValidationError` immediately. This means no silent failures or corrupted data downstream. Your Pydantic AI agent operates with certainty. You know the vehicle ID you get from `get_bus_vehicles` is a string and the latitude is a float, because the MCP toolset guarantees it.

A Type-Safe MCP Server for Pydantic AI

Build complex trip-planning logic without guesswork. The tools are designed to work together. Your agent can use `get_bus_routes` to get a list of valid `routeId`s, then pass one to `get_bus_stops` to get a list of `stpid`s. Each step is clear and the data types are enforced. This structured approach prevents common errors. For instance, an agent can't accidentally ask for predictions for a stop that doesn't exist on a given route. By using the suite of tools (`get_route_directions`, `get_stop_details`), your Pydantic AI agent can build a valid and correct model of the CTA network before it even checks for live arrivals.

Handle Service Issues Without Crashing

Real-world transit has problems. The `get_service_alerts` tool delivers structured data on delays, reroutes, and disruptions. Your agent gets the severity, cause, and a description, all neatly parsed into a Pydantic model. Instead of trying to parse a messy string, your agent can programmatically check the `status` field from `get_route_status`. If it sees 'SERVICE DISRUPTION', it knows to then call `get_service_alerts` for details. This lets you build a robust agent that informs users about problems instead of just failing.

Setup guide

Set up CTA MCP in Pydantic AI

Prerequisites

  • Python 3.10+ installed
  • pydantic-ai-slim[fastmcp] package
  • Active Vinkius subscription with a valid endpoint token
  1. 1

    Install Pydantic AI with FastMCP

    Run pip install "pydantic-ai-slim[fastmcp]". The FastMCP toolset replaces the deprecated MCPServerHTTP class with full protocol support.

  2. 2

    Configure the FastMCPToolset

    Pass a JSON-style config dict to FastMCPToolset with your Vinkius URL. Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com. Supports Streamable HTTP, SSE, and Stdio transports.

  3. 3

    Create and run your agent

    Pass the toolset to Agent(toolsets=[toolset]) and call agent.run(). Swap openai:gpt-4o for any supported model — Anthropic, Google, Mistral, or Groq.

agent.py
from pydantic_ai import Agent
from pydantic_ai.toolsets.fastmcp import FastMCPToolset

toolset = FastMCPToolset({
    "mcpServers": {
        "cta-mcp": {
            "url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
        }
    }
})

agent = Agent(
    "openai:gpt-4o",
    toolsets=[toolset],
    system_prompt="You have access to CTA tools.",
)

result = await agent.run("List recent CTA transactions")
print(result.output)

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by CTA. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

Why Choose Vinkius

Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.

Real-time monitoring

Live

visibility into every interaction

Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.

Built-in savings

60%

lower AI costs

Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.

Single dashboard

One

place for every integration

Every tool your AI connects to, managed from a single screen. One account, complete control.

Common questions about CTA MCP in Pydantic AI

When your Pydantic AI agent calls `get_bus_predictions`, the response includes a boolean field indicating if the bus is real-time tracked. If it's just a scheduled prediction, your agent knows not to present it as a live, up-to-the-second ETA.
Both. The `get_service_alerts` tool is flexible. Your Pydantic AI agent can call it without parameters to get all system-wide alerts, or provide a route ID to get alerts only for that specific bus or train line.
Not silently. Because you're using this MCP Server with Pydantic AI, any unexpected change in the CTA's data structure will cause a `ValidationError`. Your agent will fail loudly, telling you exactly which field was wrong, so you can fix it instead of processing bad data.
That's the one piece of information this MCP server doesn't provide directly. The MapIds are part of the CTA's static GTFS data feed, which you'd typically download separately and store. For common stations, the documentation provides examples.
The agent processes public CTA data: stop locations, route geometries, and real-time vehicle positions. Security is handled by Vinkius's zero-trust architecture. Your connection is authenticated with a single token, and the server itself has no access to your broader systems or data.

Start using the CTA MCP today

We host it, we monitor it, we maintain it. You just paste one token.

Built & Managed by Vinkius 30s setup 11 tools

We've already built the connector for CTA. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 11 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.