Lviv Public Transport
Qué hace este MCP
Provides Lviv public-transit stop searches, routes, schedules, live arrivals, vehicle positions, and nearby-vehicle information.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['from_stop_id', 'to_stop_id'], 'properties': {'to_stop_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Stop ID where the trip ends.', 'exclusiveMinimum': 0}, 'from_stop_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Stop ID where the trip starts.', 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['from', 'to', 'options', 'updated_at'], 'properties': {'to': {'type': 'object', 'required': ['id', 'name', 'stop_ids'], 'properties': {'id': {'type': 'string'}, 'name': {'type': ['string', 'null']}, 'stop_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'from': {'type': 'object', 'required': ['id', 'name', 'stop_ids'], 'properties': {'id': {'type': 'string'}, 'name': {'type': ['string', 'null']}, 'stop_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['route', 'vehicle_type', 'direction', 'destination', 'board_stop', 'alight_stop', 'stops_count', 'walk_to_board_meters', 'walk_from_alight_meters'], 'properties': {'route': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'board_stop': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'alight_stop': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'destination': {'type': ['string', 'null']}, 'stops_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'vehicle_type': {'type': 'string'}, 'walk_to_board_meters': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'walk_from_alight_meters': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'updated_at': {'type': 'string'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['latitude', 'longitude'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Maximum vehicles to return, nearest first (1â\x80\x9350, default 15). `total` reports how many were in range.'}, 'route': {'type': 'string', 'minLength': 1, 'description': 'Only vehicles on this route, by short name (e.g. "Т30", "Ð\x901"). Omit for all routes.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Decimal latitude of the centre point, WGS84 (e.g. 49.842 for central Lviv).'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Decimal longitude of the centre point, WGS84 (e.g. 24.031 for central Lviv).'}, 'radius_meters': {'type': 'integer', 'maximum': 1000, 'minimum': 100, 'description': 'Search radius in metres (100â\x80\x931000, default 500).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['center_lat', 'center_lng', 'radius_meters', 'total', 'vehicles', 'updated_at'], 'properties': {'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'vehicles': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'route', 'vehicle_type', 'direction', 'destination', 'lat', 'lng', 'bearing', 'lowfloor', 'distance_meters'], 'properties': {'id': {'type': ['string', 'null']}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'route': {'type': ['string', 'null']}, 'bearing': {'type': ['number', 'null']}, 'lowfloor': {'type': ['boolean', 'null']}, 'direction': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'destination': {'type': ['string', 'null']}, 'vehicle_type': {'type': ['string', 'null']}, 'distance_meters': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'center_lat': {'type': ['number', 'null']}, 'center_lng': {'type': ['number', 'null']}, 'updated_at': {'type': 'string'}, 'radius_meters': {'type': 'number'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['route_name'], 'properties': {'route_name': {'type': 'string', 'minLength': 1, 'description': 'Route short name (e.g. "T30", "32A") or numeric external ID.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['route_name', 'destinations', 'vehicles', 'updated_at'], 'properties': {'vehicles': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'direction', 'destination', 'next_stop', 'lat', 'lng', 'bearing', 'lowfloor'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'bearing': {'type': ['number', 'null']}, 'lowfloor': {'type': ['boolean', 'null']}, 'direction': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'next_stop': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'arrival'], 'properties': {'id': {'type': 'string'}, 'name': {'type': ['string', 'null']}, 'arrival': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'destination': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'route_name': {'type': 'string'}, 'updated_at': {'type': 'string'}, 'destinations': {'type': 'array', 'items': {'type': ['string', 'null']}}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['route_name'], 'properties': {'route_name': {'type': 'string', 'minLength': 1, 'description': 'Route short name (e.g. "T30", "32A") or numeric external ID.'}, 'include_shapes': {'type': 'boolean', 'description': 'Include route polylines ([lat, lng] points per direction) for map drawing. Default false.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['route', 'stops', 'updated_at'], 'properties': {'route': {'type': 'object', 'required': ['name', 'long_name', 'color', 'type'], 'properties': {'name': {'type': ['string', 'null']}, 'type': {'type': ['string', 'null']}, 'color': {'type': ['string', 'null']}, 'long_name': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'stops': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng', 'departures'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}, 'schedule': {'type': 'object', 'required': ['workday', 'weekend'], 'properties': {'weekend': {'type': 'array', 'items': {'type': 'string'}}, 'workday': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'departures': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'shapes': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}}, 'updated_at': {'type': 'string'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stop_id'], 'properties': {'stop_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Municipal stop code shown on stop signage (e.g. 707). Accepts a positive integer or an equivalent digit-only string.', 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['stop', 'arrivals', 'updated_at'], 'properties': {'stop': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'arrivals': {'type': 'array', 'items': {'type': 'object', 'required': ['route', 'direction', 'vehicle_type', 'arrival_minutes', 'vehicle_id', 'lat', 'lng', 'bearing'], 'properties': {'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'route': {'type': ['string', 'null']}, 'bearing': {'type': ['number', 'null']}, 'direction': {'type': ['string', 'null']}, 'vehicle_id': {'type': ['string', 'null']}, 'vehicle_type': {'type': ['string', 'null']}, 'arrival_minutes': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'updated_at': {'type': 'string'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['source'], 'properties': {'source': {'type': 'string'}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'arrival_list'}}, 'additionalProperties': False}]}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['latitude', 'longitude'], 'properties': {'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Decimal latitude of the search centre, WGS84 (e.g. 49.842 for central Lviv).'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Decimal longitude of the search centre, WGS84 (e.g. 24.031 for central Lviv).'}, 'radius_meters': {'type': 'integer', 'maximum': 3000, 'minimum': 50, 'description': 'Search radius in metres (50â\x80\x933000, default 1000). Use ~300 for dense urban intersections, up to 3000 for suburban or rural areas.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['center_lat', 'center_lng', 'radius_meters', 'stops', 'updated_at'], 'properties': {'stops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng', 'routes', 'distance_meters'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}, 'routes': {'type': 'array', 'items': {'type': 'string'}}, 'distance_meters': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'center_lat': {'type': ['number', 'null']}, 'center_lng': {'type': ['number', 'null']}, 'updated_at': {'type': 'string'}, 'radius_meters': {'type': 'number'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vehicle_id'], 'properties': {'vehicle_id': {'type': 'string', 'minLength': 1, 'description': 'Vehicle ID as returned by get_route_realtime, get_nearby_vehicles, or get_stop_realtime.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['vehicle_id', 'route', 'license_plate', 'lat', 'lng', 'bearing', 'direction', 'destination', 'upcoming_stops', 'updated_at'], 'properties': {'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'route': {'type': ['string', 'null']}, 'bearing': {'type': ['number', 'null']}, 'direction': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'updated_at': {'type': 'string'}, 'vehicle_id': {'type': 'string'}, 'destination': {'type': ['string', 'null']}, 'license_plate': {'type': ['string', 'null']}, 'upcoming_stops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'arrival', 'departure'], 'properties': {'id': {'type': 'string'}, 'name': {'type': ['string', 'null']}, 'arrival': {'type': ['string', 'null']}, 'departure': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Maximum stops to return (1â\x80\x9325, default 10).'}, 'query': {'type': 'string', 'minLength': 2, 'description': 'Stop name or part of it, e.g. "Ð\xa0инок", "opera", "СÑ\x82Ñ\x80ийÑ\x81Ñ\x8cка".'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view', 'data', 'ui_blocks'], 'properties': {'data': {'type': 'object', 'required': ['query', 'stops', 'updated_at'], 'properties': {'query': {'type': 'string'}, 'stops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'lat', 'lng', 'routes', 'eng_name'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['number', 'null']}, 'lng': {'type': ['number', 'null']}, 'name': {'type': ['string', 'null']}, 'routes': {'type': 'array', 'items': {'type': 'string'}}, 'eng_name': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'updated_at': {'type': 'string'}}, 'additionalProperties': False}, 'view': {'type': 'string', 'const': 'transit_realtime'}, 'ui_blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'data'], 'properties': {'data': {'type': 'object', 'required': ['center', 'zoom', 'layers'], 'properties': {'zoom': {'type': 'number'}, 'center': {'type': 'array', 'items': [{'type': ['number', 'null']}, {'type': ['number', 'null']}], 'maxItems': 2, 'minItems': 2, 'additionalItems': False}, 'layers': {'type': 'object', 'properties': {'stops': {'type': 'string'}, 'vehicles': {'type': 'string'}, 'polylines': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'type': {'type': 'string', 'const': 'map'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
SupplyGraph.AI Data
Provides China-focused location, surrounding-area, company, industry-chain, property, population, retail, and regional business i…
Microburbs Australian Property Data
Provides Australian property, suburb, valuation, sales, rental, zoning, school, risk, geospatial, and census statistics.
gisgp
Provides GIS geocoding, routing, spatial transformations, ArcGIS layer inspection and export, and location due diligence for haza…
ikeytz Einsatzgebiet-Karten
Provides public map and service-area data, geographic search, proximity calculations, area boundaries, business contact details, …
Namaste America
Helps users find Indian-American restaurants, temples, events, businesses, professionals, services, movies, offers, and community…
MolTravel
Searches and provides details for flights, hotels, rental cars, ferries, airports, travel experiences, destinations, country info…
EasyTerritory MCP
Builds, balances, analyzes, and edits sales or service territories, with geocoding, routing, scheduling, map visualization, and G…
MapMap
Provides mapping tools for routing, truck and ADR routing, geocoding, distance matrices, and isochrones.