How to Use the EMT Madrid (Open Data) MCP in Google ADK
Feed live EMT Madrid (Open Data) transit metrics into your Google ADK agents for enterprise-scale commuter analytics.
Works with every AI agent you already use
…and any MCP-compatible client
Connect EMT Madrid (Open Data) MCP to Google ADK
Create your Vinkius account to connect EMT Madrid (Open Data) to Google ADK and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.
BigQuery Integration for BiciMAD
The `list_bicimad_stations` tool dumps the live status of every bike dock in the city directly to your Google ADK agent. You pipe this station capacity data straight into BigQuery. Gemini analyzes the historical depletion rates alongside the real-time feed to predict which neighborhoods will run out of bikes first. You filter the exposed operations using the `tool_names` parameter in your `McpToolset` setup. If your analytics agent only needs bike data, you restrict it from touching the bus endpoints. This keeps the model focused.
Google ADK Route Generation
Your agent triggers the `plan_bus_route` tool to map transit paths across the Madrid grid. Gemini's massive context window ingests the entire coordinate response array without dropping waypoints. The model cross-references these routes against your internal logistics data stored in Google Cloud. The MCP server handles the external API communication. You just pass the `McpToolset` to your `LlmAgent` and request a route. The agent figures out the exact parameters required by the EMT endpoints.
Automated Token Management
The `login` tool fetches the required accessToken from EMT MobilityLabs. Your agent runs this authentication step before attempting to pull any transit data. It stores the token in context and applies it to subsequent requests. When you need live bus tracking, the agent hits `get_bus_arrivals` with the valid token. The HTTP transport layer manages the connection between your Google Cloud infrastructure and the Vinkius managed MCP server. You get the arrival times without writing custom API wrappers.
Set up EMT Madrid (Open Data) MCP in Google ADK
Prerequisites
- Python 3.10+ installed
-
google-adkpackage (pip install google-adk) - Active Vinkius subscription with a valid endpoint token
- 1
Install Google ADK
Run
pip install google-adkto install the Agent Development Kit. MCP support is included via theMcpToolsetclass. - 2
Connect via SSE transport
Use
McpToolset.from_server()withSseServerParamspointing to your Vinkius endpoint. Replace[YOUR_TOKEN_HERE]with your token from cloud.vinkius.com. - 3
Create an LlmAgent
Pass the returned
mcp_toolslist directly toLlmAgent(tools=mcp_tools). The ADK maps each MCP tool to a native Gemini function call — no manual schema definitions required. - 4
Run with any Gemini model
The agent works with any Gemini model (
gemini-2.0-flash,gemini-2.5-pro, etc.). Copy the full example on the right to get started with EMT Madrid (Open Data) tools in your ADK agent.
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import SseServerParams
# Connect to the MCP via SSE
mcp_tools, exit_stack = await McpToolset.from_server(
connection_params=SseServerParams(
url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
)
)
# Create your agent with auto-discovered tools
agent = LlmAgent(
name="EMT Madrid (Open Data)_agent",
model="gemini-2.0-flash",
instruction="You have access to EMT Madrid (Open Data) tools via MCP.",
tools=mcp_tools,
) 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 Google ADK
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.