sitp-bogota-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SITP_MCP_DATA | No | Carpeta de la base local (por defecto `~/.sitp-mcp`). | |
| SITP_RT_DISABLE | No | Desactiva el tiempo real (por ejemplo `SITP_RT_DISABLE=1`). | |
| SITP_RT_TRIP_UPDATES_URL | No | URL alternativa del feed de tiempo real. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Datos del Sistema Integrado de Transporte Público (SITP) de Bogotá: TransMilenio troncal, alimentadores, rutas duales, zonales urbanas, complementarias, especiales y TransMiCable, a partir del GTFS oficial de TransMilenio S.A.
Consejos:
Los paraderos se pueden indicar por nombre ("Banderas", "Portal Américas"), por código ("064A08_TM"), por id, o como coordenadas "lat,lon".
Las estaciones troncales agrupan varios vagones; usa la estación completa.
Las horas son de Bogotá (UTC-5). Si no se da hora, se usa la actual.
Los tiempos de viaje son estimados con el horario programado.
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_paraderosA | Busca paraderos SITP y estaciones de TransMilenio por nombre, código o id. Devuelve id, nombre, tipo (estación / paradero), coordenadas y las rutas que paran ahí. Ejemplos: "Banderas", "Portal Américas", "Cll 72", "064A08_TM". |
| paraderos_cercanosB | Paraderos y estaciones a menos de |
| rutas_en_paraderoB | Rutas (troncales, alimentadoras, zonales, etc.) que paran en un paradero o estación. |
| info_rutaA | Recorrido, horario (primer y último bus, frecuencia) y tipo de una ruta.
|
| proximos_busesA | Próximos buses que salen de un paradero o estación. Sin |
| planear_viajeA | Planea un viaje en el SITP entre dos lugares: rutas directas o con un transbordo.
|
| info_datosA | Versión del GTFS usada, fecha de construcción y estado del tiempo real. |
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 7 tools
Each tool targets a distinct query type: stop search by name/code, stops by coordinates, routes at a stop, route details, upcoming buses, GTFS metadata, and trip planning. The only mild overlap is between buscar_paraderos and paraderos_cercanos (both return stop lists), but the input difference (text vs coordinates) is clearly documented. rutas_en_paradero vs info_ruta is the inverse relationship (stop→routes vs route→details) and is legible from the names.
All names are Spanish snake_case, which is consistent, but the grammatical patterns are mixed: verb-first (buscar_paraderos, planear_viaje), noun-adjective (paraderos_cercanos, proximos_buses), and noun_noun (info_ruta, info_datos). The result is readable and domain-idiomatic but lacks a predictable verb_noun template across the set.
Seven tools is well-scoped for a transit data server, with each tool mapping to a distinct user intent (search, proximity, route lookup, departures, planning, metadata). No tool feels redundant or out of place, and none of the core capabilities are missing.
The surface covers the full read-only transit lifecycle: discovery (search/nearby), route detail, departures/realtime, and end-to-end trip planning, plus metadata about data freshness. Minor gaps exist (e.g. no route geometry/shape or a way to list/browse all routes without knowing a code), but agents can work around these.