4,500+ servers built on MCP Fusion
Vinkius
EMT Madrid (Open Data) logo
Vinkius
Pydantic AI logo

How to Use the EMT Madrid (Open Data) MCP in Pydantic AI

Enforce strict type safety on EMT Madrid (Open Data) API responses using Pydantic AI and MCP.

See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

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

Connect EMT Madrid (Open Data) MCP to Pydantic AI

Create your Vinkius account to connect EMT Madrid (Open Data) 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

Type-Safe Bus Arrivals via MCP Server

The `get_bus_arrivals` tool pulls real-time stop data, and Pydantic AI validates every single field at runtime. If the EMT API suddenly changes a timestamp format from an integer to a string, your agent fails loudly. You get an immediate validation error instead of silently passing corrupted data to your frontend. You connect the server using the unified `MCPToolset` class. Drop the HTTP endpoint URL into the constructor and pass it to your `Agent`. The framework handles the schema translation automatically.

Validated Route Planning

The `plan_bus_route` tool calculates transit paths and returns complex geometric arrays. Your Pydantic models strictly define the expected structure of these coordinate lists. The agent refuses to process the route if the payload drops required latitude or longitude keys. This model-agnostic approach means you swap between OpenAI, Anthropic, or local models without rewriting the validation logic. The MCP server feeds the exact same structured route data to whichever model you configure.

BiciMAD Station State Management

The `list_bicimad_stations` tool grabs the dock availability across the city. Your agent uses the `login` tool to authenticate, then fetches the bike data. Pydantic AI ensures the access token and the station IDs match your exact type definitions before the agent takes action. You care about correctness. When a commuter requests a bike, you need absolute certainty the station actually has one. The strict validation guarantees your agent never hallucinates a bike that the API didn't explicitly confirm.

Setup guide

Set up EMT Madrid (Open Data) 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": {
        "emt-madrid-open-data-mcp": {
            "url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
        }
    }
})

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

result = await agent.run("List recent EMT Madrid (Open Data) 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 EMT Madrid. 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 EMT Madrid (Open Data) MCP in Pydantic AI

Install the framework using `pip install "pydantic-ai-slim[mcp]"`. Instantiate an `MCPToolset` with your Vinkius HTTP endpoint. Attach that toolset to your agent instance.
The framework checks every payload from `get_bus_arrivals` and `list_bicimad_stations` against your defined models. If the Madrid API returns malformed JSON, the agent throws a strict validation error.
Your agent executes the `login` tool to retrieve the MobilityLabs token. Pydantic AI verifies the token string structure before allowing the agent to call the transit endpoints.
The framework is completely model-agnostic. You connect the MCP server to a local Llama instance or a hosted Anthropic model. The tool execution and validation work exactly the same way.
This server transmits session tokens and live transit queries. Vinkius routes these requests through a completely stateless V8 Isolate. No Pydantic validation logs or API responses ever touch a persistent disk.

Start using the EMT Madrid (Open Data) MCP today

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

Built & Managed by Vinkius 30s setup 4 tools

We've already built the connector for EMT Madrid (Open Data). Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 4 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.