# TripGo MCP

> TripGo provides multimodal transit planning by connecting your AI agent to a massive global network of transit data. Plan complex journeys combining buses, trains, subways, bikes, or walking on the spot. It tracks live vehicle locations and gives real-time arrival/departure estimates for any major city worldwide.

## Overview
- **Category:** travel-hospitality
- **Price:** Free
- **Tags:** transit-planning, multimodal-transport, real-time-tracking, route-optimization, public-transit

## Description

TripGo connects your AI agent to a massive global transit data network. You don't gotta open five different apps just to get across town; you ask your agent, and it figures out the whole route. It handles everything from buses and subways to bikes and walking.

Before running anything else, you should run `get_regions`. This tells you if your city is even covered by TripGo’s data set. Once you know you're in a supported area, figuring out where you need to go is simple. You can use `search_stops` when all you got is an intersection or a street name—like 'Grand St & 4th Ave.' That tool finds the specific stop ID for you. If you already have coordinates, you don't gotta search by name; just run `get_nearby_stops` to pull up IDs and details for every transit stop near your GPS location.

Once you've got a stop ID, you can check what’s going down there. You use `get_stop_details` to see if the station has amenities like an elevator or is accessible—it’s good practice to know that before you wait around for a train. For route planning itself, you can run `get_route_info` on any specific line to check its full coverage and all the stops it hits along the way.

When you're ready to move, `plan_trip` calculates the absolute best multimodal itinerary between two coordinates. The result gives you step-by-step instructions for everything—walking sections, biking legs, or train rides—plus total time estimates. For pinpointing your next ride, you check what’s leaving with `get_departures`, which gives you estimated times for any available ride from a specific stop ID. To see when the next bus is coming in, run `get_arrivals`; that tells you upcoming arrivals at a stop ID, complete with route names and delay estimates.

For real-time tracking, TripGo doesn't just give you schedules; it tracks the vehicles themselves. You use `get_vehicle_positions` to get live GPS data on any transit vehicle running a specific route, letting your agent track it right on the map. This whole system gives you an end-to-end view of how NYC—or any major city—moves when you’re relying on public transport.

## Tools

### get_arrivals
Gets upcoming arrivals at a specific stop ID, including route names and delay estimates. Use this when you need to know if the next bus is late.

### get_departures
Checks upcoming departures from a stop ID, providing estimated times for your next available ride.

### get_nearby_stops
Finds the IDs and details of all transit stops near a specific GPS coordinate, helping you pinpoint where to start.

### get_regions
Lists all major global regions supported by TripGo. You run this first to confirm if your city is covered before attempting any other trip planning.

### get_route_info
Retrieves detailed information about a specific transit route, letting you understand its coverage and stops before planning a journey on it.

### get_stop_details
Gathers facility info—like accessibility or amenities—for a specific stop ID. Use this when you need to know if the station has an elevator, for example.

### get_vehicle_positions
Provides real-time GPS data on transit vehicles running a route, allowing you to track them live on a map.

### plan_trip
Calculates the best multimodal itinerary between two coordinates. The result includes step-by-step instructions and total time for walking/biking/riding.

### search_stops
Finds transit stops by name or address (like an intersection). This gives you the stop ID even if you don't have exact GPS coordinates.

## Prompt Examples

**Prompt:** 
```
Plan a trip from Central Station to Opera House using only public transit and walking
```

**Response:** 
```
I'll find the best multimodal transit route with walking segments for you.
```

**Prompt:** 
```
What buses are departing from Stop 12345 in the next 15 minutes?
```

**Response:** 
```
I'll check real-time departures for that stop right now.
```

**Prompt:** 
```
Show me all train and bus vehicles currently running on Route 480
```

**Response:** 
```
I'll get real-time vehicle positions for that route on the map.
```

## Capabilities

### Plan multi-mode journeys
Calculates the best route between two points, combining buses, trains, walking, cycling, and ferries into a single itinerary.

### Get real-time vehicle locations
Tracks active transit vehicles on the map by their route ID, showing live GPS positions.

### Determine next arrivals/departures
Retrieves scheduled and estimated times for trains or buses leaving or arriving at a specific stop ID.

### Locate nearby transit stops
Finds the closest available transit stops to any given GPS coordinate, along with their distance.

### Search for stops by name/address
Identifies a stop's ID and location when you only know its name or intersection (e.g., 'Main St & 5th Ave').

## Use Cases

### Need to plan a cross-city trip with multiple modes
A traveler needs to get from their hotel (coordinates) to a museum, which requires taking a subway and then walking three blocks. Instead of guessing the route, you ask your agent to `plan_trip`. The agent returns a step-by-step guide showing exactly when to walk, where to transfer, and how long it'll take overall.

### The commuter needs to check for delays before leaving
It’s 7:45 AM. A user is near a major intersection but isn't sure of the stop ID. They first run `search_stops` using the street name, get several potential stops, and then use those IDs with `get_arrivals` to confirm which subway line is actually running on time today.

### Managing a group delivery route
A logistics manager needs to know if two separate vans are close enough to meet at a depot. They use `get_vehicle_positions`, filtering by the specific route ID, allowing them to see both vehicles moving simultaneously on the map and confirming they will arrive within minutes of each other.

### Checking feasibility for an event
You are planning a festival that needs access to multiple stops. Before drawing up the final guide, you run `get_nearby_stops` using the general coordinates of the venue. This immediately tells you which specific transit hubs are accessible and how far away they really are.

## Benefits

- Saves you from app switching. Instead of opening a mapping service, then checking the subway schedule, then looking up bike paths—you let your agent run `plan_trip` and gets the whole route instantly.
- Know exactly when to move. Use `get_arrivals` or `get_departures` at a stop ID to see if that bus is late, preventing you from standing around waiting for nothing.
- Builds confidence in travel planning. Before committing, run `get_stop_details` to confirm the location has an elevator or bike racks—you don't assume anything when traveling.
- Handles unknown starting points. If you only know the intersection name ('Main St & 5th Ave'), use `search_stops` first; it gives you the necessary ID for all subsequent calls like `plan_trip`.
- Provides true real-time data. Use `get_vehicle_positions` to see a bus moving on the map, not just an estimated time. It shows where the vehicle is right now.

## How It Works

The bottom line is: your agent manages all the complex calls in sequence so you just ask for the trip plan and get a single answer.

1. First, ask your AI agent to find the required transit stops using `get_nearby_stops` (if you have coordinates) or `search_stops` (if you know the address).
2. Next, pass the relevant stop IDs and target destination to the `plan_trip` tool. This combines all necessary data—routes, schedules, and walking segments—into one optimal journey.
3. Finally, if tracking is needed, use `get_vehicle_positions` with the route ID to get real-time updates on where vehicles are located.

## Frequently Asked Questions

**How do I find a transit stop ID using get_nearby_stops?**
You provide your GPS coordinates (latitude/longitude). The tool returns a list of nearby stops, each with its unique Stop ID, name, and distance from your exact location.

**What is the best way to plan a trip using plan_trip?**
Provide two coordinates: your start point and your end point. You can also optionally specify preferences, like 'only public transit' or 'must include cycling,' for better results.

**Can I check bus schedules with get_departures if I only know the street name?**
No. `get_departures` requires a specific Stop ID. First, you must use `search_stops` or `get_nearby_stops` to find the correct Stop ID associated with that location.

**What does get_vehicle_positions track?**
It tracks live GPS data for specific transit vehicles (buses, trains) on a given route. It doesn't predict; it shows where the vehicle is right now.

**Before running any major query, how do I verify region coverage using get_regions?**
Run `get_regions` first. This tool lists all supported regions across major global cities (North America, Europe, etc.). Checking the list ensures your intended destination is covered before you attempt trip planning or real-time tracking.

**What specific facilities and amenities does get_stop_details provide for a transit stop?**
It gives detailed information about the stop, including accessibility status and available amenities. You can use this to confirm if a location meets necessary criteria—like wheelchair access—before planning your journey.

**How does get_arrivals handle discrepancies between scheduled and estimated times?**
It returns both the scheduled time and the real-time estimated arrival. This allows your agent to calculate the exact delay and alert users immediately when a vehicle's expected time shifts significantly.

**If I only know an intersection, how can search_stops help me locate the right stop ID?**
Supply names or intersections (like "Main St & 5th Ave"). The tool returns matching stops with unique IDs and relevance scores. This lets you pinpoint the exact transit stop needed for subsequent commands.

**Which cities does TripGo cover?**
TripGo covers major cities worldwide including Sydney, Melbourne, Brisbane, Auckland, Portland, and many more regions. Use the get_regions tool to see the complete list of supported areas. Coverage includes bus, train, tram, ferry, and bike share networks.

**Does TripGo provide real-time transit data?**
Yes! TripGo integrates real-time GTFS-RT feeds where available. The get_departures and get_arrivals tools return both scheduled and estimated real-time arrivals with delay information. Vehicle positions also provide live GPS coordinates when transit agencies broadcast them.

**Can I plan bike-friendly multimodal routes?**
Absolutely! Use the plan_trip tool with modes including 'bike' or 'bicycle' to find routes that combine cycling with public transit. TripGo will suggest bike-friendly paths, bike share stations, and transit connections that accommodate bicycles. Perfect for eco-conscious commuters.