Skip to main content
Glama
nhannpl

Winnipeg City MCP Server

by nhannpl

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TRANSIT_API_KEYYesYour Winnipeg Transit API key obtained from https://api.winnipegtransit.com/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_bus_arrivalsB

Get real-time bus arrivals for a specific Winnipeg Transit stop number.

get_commute_statusB
Smart Commute: Get bus arrivals combined with current weather conditions.
Helpful for deciding if you need a parka or just a light jacket while waiting.
find_stops_nearA
Search for bus stops near a specific geographic coordinate.
Useful when you know the location (e.g. from a user's known lat/lon) but need stop IDs.

NOTE: Distance is capped at 2000 meters to allow efficient querying.
plan_tripB
Plan a trip between two points using Winnipeg Transit.

Arguments 'origin' and 'destination' can be:
- Plain text addresses or landmarks (e.g. "The Forks", "IKEA", "123 Main St") - Resolved via OSM
- Stop numbers (e.g. "10625", "Stop 10541")
- Formatted keys:
    - "stops/{key}"
    - "geo/{lat},{lon}"
    - "intersection/{key}"
plan_journeyB
Plan a multi-stop journey (A -> B -> C ...).

Args:
    stops: List of locations (plain text, stop numbers, or formatted keys)
    optimize: If True, optimized the visit order (TSP) starting from the first stop.
    date: Optional start date (YYYY-MM-DD or equivalent accepted by API).
    time: Optional start time (HH:MM).
plan_timed_itineraryB
Plan an optimized itinerary with specific stay durations at each stop.

Args:
    stops_config: List of dictionaries. The first stop is the origin.
        Each item format: {"location": "...", "min_stay": minutes, "max_stay": minutes}
        (Stay times for the LAST stop are ignored).
    start_date: YYYY-MM-DD
    start_time: HH:MM
search_311_issuesB

Search for recent 311 service requests in a specific Winnipeg neighborhood.

list_neighborhoodsB
Get a list of Winnipeg neighborhoods that have had recent 311 activity.
Optionally filter by a search_term (e.g., 'Fort').

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have distinct purposes, but 'plan_journey', 'plan_timed_itinerary', and 'plan_trip' could cause confusion due to overlapping trip-planning functionality. Their descriptions clarify differences (multi-stop vs. timed itinerary vs. point-to-point), but an agent might initially misselect without careful reading.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern throughout (e.g., 'find_stops_near', 'get_bus_arrivals'), with only minor deviations like 'plan_timed_itinerary' being slightly longer. The naming is predictable and readable, supporting easy identification.

Tool Count5/5

With 8 tools, the count is well-scoped for a city transit and services server. Each tool addresses a specific aspect of Winnipeg's public services (e.g., transit stops, arrivals, journeys, neighborhoods, 311 issues), avoiding bloat while covering core functionalities.

Completeness4/5

The toolset provides strong coverage for transit planning, real-time arrivals, and neighborhood/311 services, with no major gaps in core workflows. Minor gaps might include lack of tools for transit alerts or detailed neighborhood demographics, but agents can work effectively with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues