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

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.

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
Google ADK

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.

GDPR Free for Subscribers

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.

Setup guide

Set up EMT Madrid (Open Data) MCP in Google ADK

Prerequisites

  • Python 3.10+ installed
  • google-adk package (pip install google-adk)
  • Active Vinkius subscription with a valid endpoint token
  1. 1

    Install Google ADK

    Run pip install google-adk to install the Agent Development Kit. MCP support is included via the McpToolset class.

  2. 2

    Connect via SSE transport

    Use McpToolset.from_server() with SseServerParams pointing to your Vinkius endpoint. Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com.

  3. 3

    Create an LlmAgent

    Pass the returned mcp_tools list directly to LlmAgent(tools=mcp_tools). The ADK maps each MCP tool to a native Gemini function call — no manual schema definitions required.

  4. 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.

agent.py
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

Run `pip install google-adk` in your environment. Configure a `StreamableHttpServerParameters` object with your endpoint URL. Wrap that in an `McpToolset` and pass it to your `LlmAgent`.
You restrict the agent by passing a `tool_names` list to the toolset constructor. If you only want the agent to use `get_bus_arrivals`, you explicitly declare it. The model ignores the rest of the schema.
Yes. The agent pulls the massive payload from `list_bicimad_stations` directly into the Gemini context window. The model processes the status of all Madrid stations simultaneously without truncation.
The agent calls the `login` tool first. It extracts the access token from the response and includes it when querying the route planning or bus arrival endpoints.
The server handles raw API credentials and precise user location coordinates for transit routing. Vinkius operates on a zero-trust architecture. Your Google Cloud environment connects to an ephemeral endpoint that instantly terminates after returning the transit payload.

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.