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.
Works with every AI agent you already use
…and any MCP-compatible client
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.
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.
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
Install Pydantic AI with FastMCP
Run
pip install "pydantic-ai-slim[fastmcp]". The FastMCP toolset replaces the deprecatedMCPServerHTTPclass with full protocol support. - 2
Configure the FastMCPToolset
Pass a JSON-style config dict to
FastMCPToolsetwith your Vinkius URL. Replace[YOUR_TOKEN_HERE]with your token from cloud.vinkius.com. Supports Streamable HTTP, SSE, and Stdio transports. - 3
Create and run your agent
Pass the toolset to
Agent(toolsets=[toolset])and callagent.run(). Swapopenai:gpt-4ofor any supported model — Anthropic, Google, Mistral, or Groq.
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
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the EMT Madrid (Open Data) MCP today
We host it, we monitor it, we maintain it. You just paste one token.