LA Metro MCP Server for Vercel AI SDK 12 tools — connect in under 2 minutes
The Vercel AI SDK is the TypeScript toolkit for building AI-powered applications. Connect LA Metro through Vinkius and every tool is available as a typed function. ready for React Server Components, API routes, or any Node.js backend.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
async function main() {
const mcpClient = await createMCPClient({
transport: {
type: "http",
// Your Vinkius token. get it at cloud.vinkius.com
url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
},
});
try {
const tools = await mcpClient.tools();
const { text } = await generateText({
model: openai("gpt-4o"),
tools,
prompt: "Using LA Metro, list all available capabilities.",
});
console.log(text);
} finally {
await mcpClient.close();
}
}
main();
* 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.
The Vercel AI SDK gives every LA Metro tool full TypeScript type inference, IDE autocomplete, and compile-time error checking. Connect 12 tools through Vinkius and stream results progressively to React, Svelte, or Vue components. works on Edge Functions, Cloudflare Workers, and any Node.js runtime.
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 Vercel AI SDK 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 Vercel AI SDK via MCP
Follow these steps to integrate the LA Metro MCP Server with Vercel AI SDK.
Install dependencies
Run npm install @ai-sdk/mcp ai @ai-sdk/openai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the script
Save to agent.ts and run with npx tsx agent.ts
Explore tools
The SDK discovers 12 tools from LA Metro and passes them to the LLM
Why Use Vercel AI SDK with the LA Metro MCP Server
Vercel AI SDK provides unique advantages when paired with LA Metro through the Model Context Protocol.
TypeScript-first: every MCP tool gets full type inference, IDE autocomplete, and compile-time error checking out of the box
Framework-agnostic core works with Next.js, Nuxt, SvelteKit, or any Node.js runtime. same LA Metro integration everywhere
Built-in streaming UI primitives let you display LA Metro tool results progressively in React, Svelte, or Vue components
Edge-compatible: the AI SDK runs on Vercel Edge Functions, Cloudflare Workers, and other edge runtimes for minimal latency
LA Metro + Vercel AI SDK Use Cases
Practical scenarios where Vercel AI SDK combined with the LA Metro MCP Server delivers measurable value.
AI-powered web apps: build dashboards that query LA Metro in real-time and stream results to the UI with zero loading states
API backends: create serverless endpoints that orchestrate LA Metro tools and return structured JSON responses to any frontend
Chatbots with tool use: embed LA Metro capabilities into conversational interfaces with streaming responses and tool call visibility
Internal tools: build admin panels where team members interact with LA Metro through natural language queries
LA Metro MCP Tools for Vercel AI SDK (12)
These 12 tools become available when you connect LA Metro to Vercel AI SDK 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 Vercel AI SDK
Ready-to-use prompts you can give your Vercel AI SDK 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 Vercel AI SDK
Common issues when connecting LA Metro to Vercel AI SDK through the Vinkius, and how to resolve them.
createMCPClient is not a function
npm install @ai-sdk/mcpLA Metro + Vercel AI SDK FAQ
Common questions about integrating LA Metro MCP Server with Vercel AI SDK.
How does the Vercel AI SDK connect to MCP servers?
createMCPClient from @ai-sdk/mcp and pass the server URL. The SDK discovers all tools and provides typed TypeScript interfaces for each one.Can I use MCP tools in Edge Functions?
Does it support streaming tool results?
useChat and streamText that handle tool calls and display results progressively in the UI.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 Vercel AI SDK
Get your token, paste the configuration, and start using 12 tools in under 2 minutes. No API key management needed.
