4,500+ servers built on MCP Fusion
Vinkius
MTA logo
Vinkius
Vercel AI SDK logo

How to Use the MTA MCP in Vercel AI SDK

Stream live NYC transit data directly into React frontends using the Vercel AI SDK.

See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

MTA MCP on Cursor AI Code Editor MCP Client MTA MCP on Claude Desktop App MCP Integration MTA MCP on OpenAI Agents SDK MCP Compatible MTA MCP on Visual Studio Code MCP Extension Client MTA MCP on GitHub Copilot AI Agent MCP Integration MTA MCP on Google Gemini AI MCP Integration MTA MCP on Lovable AI Development MCP Client MTA MCP on Mistral AI Agents MCP Compatible MTA MCP on Amazon AWS Bedrock MCP Support
MCP Servers - Free for Subscribers
Vercel AI SDK

Connect MTA MCP to Vercel AI SDK

Create your Vinkius account to connect MTA to Vercel AI SDK 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

Stream Live Bus and Subway Feeds

The MTA MCP Server connects your Vercel AI SDK frontend directly to the GTFS-RT feeds for buses and subways. You call `get_subway_feed` with a line identifier, and your UI instantly starts rendering train positions. No waiting for a massive JSON payload to resolve. The data streams right into your Next.js components as the agent parses it. Bus tracking requires high-frequency updates. Your agent pulls `get_bus_vehicles` for system-wide coordinates or `get_bus_vehicle_at_stop` for a specific intersection. The user watches the marker move on the map. You bypass static polling entirely.

Build Vercel AI SDK Transit Dashboards

Relying on `get_service_alerts` alongside `get_lirr_feed` gives commuter apps accurate disruption data. Your agent grabs the delay details and the actual train positions simultaneously. You pipe that raw data into a custom React component that displays alternative routes instantly. The same logic applies to Metro-North. Executing `get_metro_north_feed` gives you scheduled versus actual arrival times at Grand Central. Your agent compares those timestamps against `get_system_time` to calculate precise delays, sending the exact wait time to the user's screen.

Map Stations and Stops on the Fly

Firing `get_stations` returns the exact coordinates needed to draw route lines. The MCP server returns the latitude, longitude, and entrance locations for every NYC subway stop. Your agent feeds this into your mapping library before the user even finishes typing their query. Street-level transit is just as precise. Calling `get_bus_routes` followed by `get_bus_stops` maps out the entire M15 or B46 path. When the user clicks a stop, the agent runs `get_bus_estimated_arrival` to show the wait time. It feels instant because the SDK streams the results the millisecond the MTA responds.

Setup guide

Set up MTA MCP in Vercel AI SDK

Prerequisites

  • Node.js 18+ and a TypeScript project
  • ai + @modelcontextprotocol/sdk packages
  • Active Vinkius subscription with a valid endpoint token
  1. 1

    Install dependencies

    Run npm install ai @modelcontextprotocol/sdk plus your preferred model provider (e.g. @ai-sdk/openai).

  2. 2

    Create the Streamable HTTP transport

    Use StreamableHTTPClientTransport with your Vinkius endpoint URL. Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com.

  3. 3

    Discover and use tools

    Call mcpClient.tools() to auto-discover all MTA tools. Pass them directly to generateText() or streamText() — no manual schema definitions needed.

  4. 4

    Works with any model provider

    Swap openai("gpt-4o") for any AI SDK provider — Anthropic, Google, Mistral. The MCP tools work identically across all supported models.

index.ts
import { experimental_createMCPClient as createMCPClient } from "ai";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";

const transport = new StreamableHTTPClientTransport(
  new URL("https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
);

const mcpClient = await createMCPClient({ transport });
const tools = await mcpClient.tools();

const { text } = await generateText({
  model: openai("gpt-4o"),
  tools,
  prompt: "List recent MTA transactions",
});

console.log(text);
await mcpClient.close();

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by MTA. 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 MTA MCP in Vercel AI SDK

Install `@ai-sdk/mcp` and create an HTTP transport client pointing to your endpoint URL. Pass the result of `mcpClient.tools()` into `streamText`. Always remember to call `mcpClient.close()` when the session ends to prevent memory leaks.
The SDK itself just executes the tool calls. You need to implement caching in your Next.js route handlers. Relying entirely on real-time polling for `get_subway_feed` will exhaust your quotas fast.
Yes, but you must pass the correct feed ID to `get_subway_feed`. The feed groups lines together, like ID "1" for the 1/2/3/4/5/6/S lines. Your agent needs to look up the right ID before making the request.
Fetching GTFS-RT protobuf data manually requires complex decoding logic. The MTA MCP Server handles the protocol buffers and returns clean JSON. Your agent reads the parsed data immediately.
This MCP server touches geographic coordinates and transit stop IDs. The Vercel AI SDK transmits the query to the endpoint, which fetches the public transit feeds. No user-identifying information or personal device locations are stored on the server.

Start using the MTA MCP today

We host it, we monitor it, we maintain it. You just paste one token.

Built & Managed by Vinkius 30s setup 12 tools

We've already built the connector for MTA. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 12 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.