transmilenio
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRANSMI_CACHE | No | Optional: folder for the index cache. | |
| TRANSMI_RT_BASE | No | Optional: alternative base URL for the realtime feeds. | |
| TRANSMI_HISTORIAL | No | Optional: SQLite file used by the veedor for history. | |
| TRANSMI_INDICE_URL | No | Optional: URL of a prebuilt index, so the GTFS does not need to be downloaded. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Datos en vivo del transporte público de Bogotá (TransMilenio troncal, duales, alimentadores, SITP zonal y TransMiCable), leídos de los feeds GTFS Realtime públicos de TransMilenio S.A.
"¿Cuándo llega mi bus a X?":
llegadas(acepta el nombre de la estación).Una ruta (B10, C25, H710, 16-8):
buses_ruta. Con lat/lon del usuario dice cuándo pasa por su paradero.Un bus concreto y sus próximas paradas:
proximas_paradascon el número del bus.Cerca del usuario:
paraderos_cercaobuses_cerca.Desvíos y cierres:
alertas.Veedor (lo programado contra lo real):
programacion_ruta,ranking_rutas,historial_ruta,viajes_cancelados,salud_feed. Lo observado sale del historial que guardatransmilenio-veedor; si vienesin_historial, dilo y explica que hay que dejar ese comando corriendo.ultima_paradaes la última a la que el bus YA llegó, no la siguiente.Los tiempos de llegada son estimados; dilo así.
Si la respuesta trae
aviso, el feed oficial está detenido o falló: dilo antes de dar datos.ritmoen una variante debuses_ruta: cómo va frente al horario según lo que tardaron sus buses en los últimos 20 minutos ("15 % más lento que el horario").Si trae
nota_sentidooaviso_sentido, faltan buses cuyo sentido aún no se conoce: dilo y sugiere volver a preguntar en uno o dos minutos.Responde en español y menciona que los datos son de TransMilenio S.A.
Datos: TransMilenio S.A., datos abiertos (GTFS y GTFS Realtime), licencia CC BY-SA 4.0. Proyecto independiente, no afiliado a TransMilenio S.A.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| buscar_paradaA | Estaciones de TransMilenio y paraderos del SITP por nombre, sin importar tildes. Devuelve id, nombre, tipo (estación, vagón o paradero), coordenadas y rutas que paran ahí. Ejemplos: "Calle 72", "Portal Norte", "Ricaurte", "cl 80 kr 30". |
| llegadasA | Próximos buses que llegan a una estación o paradero, del más cercano al más lejano.
|
| buses_rutaA | Variantes de una ruta y dónde van ahora sus buses.
|
| proximas_paradasA | Por dónde va un bus y sus próximas paradas con hora estimada.
|
| paraderos_cercaB | Estaciones y paraderos con servicio más cercanos a un punto, con distancia y rutas. |
| buses_cercaB | Buses en vía alrededor de un punto (radio de 50 a 5000 m), del más cercano al más lejano. |
| alertasA | Alertas vigentes: desvíos, cierres, planes de manejo de tránsito. Filtra por texto ( |
| programacion_rutaA | Lo que el horario oficial programa para una ruta un día: viajes por hora y buses en vía.
|
| ranking_rutasA | Rutas ordenadas para comparar: cuál tiene más o menos buses, cuál cumple menos su horario.
|
| historial_rutaA | Cómo le ha ido a una ruta en los últimos días: buses promedio y máximo, viajes vistos
contra programados, retraso promedio y el perfil por hora. |
| viajes_canceladosA | Viajes que TransMilenio marca como cancelados o añadidos frente a su horario. Sin |
| salud_feedB | Si el feed de TransMilenio está al día y cuándo ha estado caído (disponibilidad y caídas). |
| estado_sistemaA | Cuántos buses hay en vía, por sistema, y qué tan fresco está el feed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools target a clearly distinct input: a point (buses_cerca vs paraderos_cerca), a stop (llegadas), a route (buses_ruta, programacion_ruta, historial_ruta), or a bus (proximas_paradas). The two soft spots are salud_feed vs estado_sistema, which both expose feed freshness, and the four route-analytics tools (programacion, historial, ranking, cancelados), though the latter are differentiated by time window and aggregation.
All names are snake_case Spanish and mostly follow a noun+qualifier pattern (buses_cerca, paraderos_cerca, proximas_paradas, programacion_ruta, ranking_rutas, historial_ruta). Minor deviations: the verb-first buscar_parada and the bare plural nouns alertas and llegadas break the pattern slightly.
13 tools sit in the sweet spot for a rich real-time transit domain, and each covers a distinct query shape (feed health, live positions, arrivals, schedules, history, rankings, cancellations, stop lookup). Nothing looks padded or redundant.
Coverage is broad: feed status, live fleet, per-bus and per-route positions, arrivals, stop search and proximity, alerts, schedule, history, ranking and cancellations. Gaps are minor — there is no way to search for a route by name/description (you must already know the code) and no origin-to-destination trip planner.