LA Metro MCP Server for Google ADK 12 tools — connect in under 2 minutes
Google Agent Development Kit (ADK) is Google's framework for building production AI agents. Add LA Metro as an MCP tool provider through Vinkius and your ADK agents can call every tool with full schema introspection.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import (
StreamableHTTPConnectionParams,
)
# Your Vinkius token. get it at cloud.vinkius.com
mcp_tools = McpToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
)
)
agent = Agent(
model="gemini-2.5-pro",
name="la_metro_agent",
instruction=(
"You help users interact with LA Metro "
"using 12 available tools."
),
tools=[mcp_tools],
)
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About LA Metro MCP Server
Connect your LA Metro API Los Angeles public transit data platform to any AI agent and take full control of real-time Metrobus and Metro Rail tracking, arrival predictions, rail-to-rail journey planning, and service disruption monitoring through natural conversation.
Google ADK natively supports LA Metro as an MCP tool provider. declare Vinkius Edge URL and the framework handles discovery, validation, and execution automatically. Combine 12 tools with Gemini's long-context reasoning for complex multi-tool workflows, with production-ready session management and evaluation built in.
What you can do
- Metrobus Stops — List all bus stops system-wide or filtered by route with coordinates and service messages
- Metrobus Routes — Browse all Metrobus routes including local, rapid, and express services across LA County
- Bus Schedules — Get complete schedule data with run patterns and stop sequences for any bus route
- Bus Vehicle Tracking — Track real-time GPS positions of all active Metrobus vehicles
- Stop Predictions — Get next bus arrival predictions for any specific bus stop with minutes and seconds
- Metro Rail Stations — List all rail stations across B (Red), D (Purple), A (Blue), E (Expo), C (Green), and K lines
- Rail Arrivals — Get next train arrival predictions at any Metro Rail station with line and destination info
- Rail-to-Rail Planning — Plan rail-only journeys between any two Metro Rail stations with transfer guidance
- Rail Routes — Browse all Metro Rail lines with colors, station counts, and operational metadata
- Service Alerts — Monitor active disruptions across Metro Rail and Metrobus with severity and alternatives
- Rail Vehicle Positions — Track real-time positions of Metro Rail trains across the network
- Bus Locations — Get real-time bus locations system-wide or filtered by specific route
The LA Metro MCP Server exposes 12 tools through the Vinkius. Connect it to Google ADK in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect LA Metro to Google ADK via MCP
Follow these steps to integrate the LA Metro MCP Server with Google ADK.
Install Google ADK
Run pip install google-adk
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Create the agent
Save the code above and integrate into your ADK workflow
Explore tools
The agent will discover 12 tools from LA Metro via MCP
Why Use Google ADK with the LA Metro MCP Server
Google ADK provides unique advantages when paired with LA Metro through the Model Context Protocol.
Google ADK natively supports MCP tool servers. declare a tool provider and the framework handles discovery, validation, and execution
Built on Gemini models, ADK provides long-context reasoning ideal for complex multi-tool workflows with LA Metro
Production-ready features like session management, evaluation, and deployment come built-in. not bolted on
Seamless integration with Google Cloud services means you can combine LA Metro tools with BigQuery, Vertex AI, and Cloud Functions
LA Metro + Google ADK Use Cases
Practical scenarios where Google ADK combined with the LA Metro MCP Server delivers measurable value.
Enterprise data agents: ADK agents query LA Metro and cross-reference results with internal databases for comprehensive analysis
Multi-modal workflows: combine LA Metro tool responses with Gemini's vision and language capabilities in a single agent
Automated compliance checks: schedule ADK agents to query LA Metro regularly and flag policy violations or configuration drift
Internal tool platforms: build self-service agent platforms where teams connect their own MCP servers including LA Metro
LA Metro MCP Tools for Google ADK (12)
These 12 tools become available when you connect LA Metro to Google ADK via MCP:
get_bus_locations
Returns vehicle IDs, route IDs, latitude/longitude coordinates, heading direction, seconds since last report, predictability indicators, and trip/run identifiers. Can query all buses system-wide or filter by specific route ID for targeted route-level tracking. Essential for real-time bus fleet monitoring, passenger arrival estimation, route-level service awareness, and transit operations management. AI agents should reference this when users ask "show me all buses on route 720", "where are the active buses right now", or need real-time bus position data for fleet visualization or arrival prediction. Get real-time bus locations system-wide or for a specific route
get_bus_routes
Returns route IDs, route names, types (local, rapid, express, Metro Rail link), direction listings, and route metadata. Covers hundreds of routes serving the entire LA Metro service area including downtown LA, Hollywood, Santa Monica, San Fernando Valley, South Bay, East LA, and beyond. Essential for route discovery, service area analysis, transit network understanding, and identifying route IDs for use in stop and schedule queries. AI agents should reference this when users ask "list all Metrobus routes", "what routes serve downtown LA", or need to identify route IDs for subsequent Metrobus queries. List all Metrobus routes in the LA Metro system
get_bus_schedule
Returns run IDs, direction information (inbound/outbound, eastbound/westbound), stop sequences, and scheduled timing data. Essential for schedule analysis, journey planning at specific times, understanding route direction patterns, and passenger trip preparation. AI agents should use this when users ask "show me the schedule for route 720", "what are the run patterns for the 4 line", or need detailed schedule data for a specific bus route to plan trips at specific times. Get the schedule for a specific Metrobus route
get_bus_stops
Returns stop IDs, names, geographic coordinates (latitude, longitude), route affiliations, and any service messages or alerts associated with each stop. Essential for stop discovery, journey planning, accessibility mapping, and understanding bus network geography across Los Angeles County. AI agents should use this when users ask "list all stops on the 720 Rapid", "find bus stops near Union Station", or need to identify stop IDs for use in prediction queries. If no route_id is provided, returns all stops system-wide. List all Metrobus stops or stops on a specific bus route
get_bus_vehicles
Returns vehicle IDs, route affiliations, latitude/longitude coordinates, heading direction, seconds since last report, predictability indicators (whether the vehicle is running on predicted schedule or actual GPS), and run/trip identifiers. Essential for real-time bus tracking, passenger wait time estimation, bus arrival prediction, and fleet monitoring. AI agents should use this when users ask "where are the buses right now", "track vehicle 1234", or need to locate specific Metrobus vehicles for real-time arrival awareness. Get real-time locations of active Metrobus vehicles
get_rail_arrivals
Returns predicted arrival times, train destination names, line colors (Red, Purple, Blue, Expo, Green, Gold, K), direction indicators, and train run identifiers. Essential for real-time rail arrival awareness, passenger waiting time estimation, connection planning, and station-level trip timing. AI agents should reference this when users ask "when is the next Red Line train at Union Station", "show upcoming trains at 7th Street/Metro Center", or need station-specific Metro Rail arrival predictions. Station IDs can be found using get_rail_stations. Get next train arrival predictions at a specific Metro Rail station
get_rail_routes
Essential for line identification, rail network understanding, service area analysis, and identifying line IDs for use in rail journey planning. AI agents should reference this when users ask "list all Metro Rail lines", "what lines does Metro operate", or need line metadata for rail network context. List all Metro Rail lines and routes
get_rail_stations
Returns station IDs, names, display names, geographic coordinates (latitude, longitude), line affiliations, station order on each line, cross streets, and accessibility information. Essential for station discovery, rail network mapping, route planning, and identifying station IDs for use in arrival and rail-to-rail queries. AI agents should use this when users ask "list all stations on the Red Line", "what is the station code for 7th Street/Metro Center", or need to understand the Metro Rail network geography. List all Metro Rail stations with details
get_rail_to_rail
Returns recommended routes, transfer stations, estimated travel times, number of transfers, line sequences, and step-by-step rail directions. Essential for rail trip planning, transfer identification, travel time estimation, and understanding rail connectivity across the Metro network. AI agents should use this when users ask "how do I get from North Hollywood to Santa Monica by rail", "plan a rail trip from Union Station to LAX", or need rail-only journey planning between two Metro Rail stations. Station IDs can be found using get_rail_stations. Get rail-to-rail journey planning between two Metro Rail stations
get_rail_vehicle_positions
Returns train identifiers, line affiliations, latitude/longitude coordinates, heading direction, run/trip IDs, and prediction status. Essential for real-time rail tracking, train location awareness, and understanding train distribution across the network. AI agents should use this when users ask "where are the Red Line trains right now", "track train positions on the Expo Line", or need to visualize train locations for operational monitoring or passenger information. Get real-time positions of Metro Rail trains
get_service_alerts
Returns alert descriptions, affected routes and stations, severity levels, start and end timestamps, cause types (maintenance, incident, weather, special events), and alternative service recommendations. Essential for service disruption awareness, alternative route planning, passenger communication, and understanding system reliability. AI agents should use this when users ask "are there any delays on the Red Line", "is Metro running normally today", or need to check service reliability before planning Metro journeys. Get current service alerts and disruptions across the LA Metro system
get_stop_predictions
Returns predicted arrival times in minutes and seconds, route IDs, run IDs, direction information, departure indicators, and prediction confidence levels. Essential for real-time bus arrival awareness, passenger waiting time estimation, trip timing, and connection coordination. AI agents should reference this when users ask "when is the next bus at stop 5678", "show predictions for this stop", or need real-time arrival data for a specific bus stop. Stop IDs can be found using get_bus_stops. Get next bus arrival predictions for a specific bus stop
Example Prompts for LA Metro in Google ADK
Ready-to-use prompts you can give your Google ADK agent to start working with LA Metro immediately.
"Show me all Metrobus stops on the 720 Rapid route."
"What are the next Red Line trains arriving at Union Station?"
"Plan a rail journey from North Hollywood to Santa Monica."
Troubleshooting LA Metro MCP Server with Google ADK
Common issues when connecting LA Metro to Google ADK through the Vinkius, and how to resolve them.
McpToolset not found
pip install --upgrade google-adkLA Metro + Google ADK FAQ
Common questions about integrating LA Metro MCP Server with Google ADK.
How does Google ADK connect to MCP servers?
Can ADK agents use multiple MCP servers?
Which Gemini models work best with MCP tools?
Connect LA Metro with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect LA Metro to Google ADK
Get your token, paste the configuration, and start using 12 tools in under 2 minutes. No API key management needed.
