Skip to main content
Glama
carloscrcalderon

Transporter CC MCP Server

README.md
# Transporter CC MCP Server

Servidor MCP (Model Context Protocol) para búsqueda de rutas de TransMilenio y SITP en Bogotá, con tracking GPS en vivo.

## Herramientas disponibles

| Herramienta | Descripción |
|---|---|
| `find_route` | Busca rutas entre origen y destino (directas o con transbordo) |
| `nearby_stops` | Encuentra paraderos cercanos a una ubicación |
| `get_bus_locations` | Posiciones GPS de buses en una ruta, con distancia a un punto de referencia |
| `get_arrivals` | Tiempos estimados de llegada de buses a un paradero |
| `get_stops` | Lista completa de paraderos |
| `get_routes_at_stop` | Rutas que paran en una estación/paradero |
| `get_route_info` | Recorrido y paraderos de una ruta |

## Instalación

```bash
git clone https://github.com/carloscrcalderon/transporter_cc_mcp.git
cd transporter_cc_mcp
uv sync
```

## Configuración

Copiá `.env.example` a `.env` y configurá:

```env
GOOGLE_MAPS_API_KEY=tu_api_key_aqui
```

Las demás variables usan defaults funcionales (credenciales públicas de la API SITP y realtime provider).

## Ejecución local

### SSE (recomendado para agentes)

```bash
uv run transporter_cc_mcp --transport sse --host 0.0.0.0 --port 8080
```

El endpoint SSE queda en `http://localhost:8080/sse`.

### Stdio

```bash
uv run transporter_cc_mcp --transport stdio
```

## Conectar con agentes

Para ver la **guía detallada con diagrama de flujo, ejemplos conversacionales, reglas de negocio y máquina de estados**, consulta la [Guía de Integración para Agentes (docs/agent_integration.md)](file:///home/nakc/trans_mcp/docs/agent_integration.md).

### Hermes Agent

Agregá al `mcp.json` de Hermes:

```json
{
  "mcpServers": {
    "transporter_cc": {
      "type": "sse",
      "url": "http://localhost:8080/sse"
    }
  }
}
```

### OpenClaw

Agregá al config de OpenClaw (`~/.openclaw/config.yaml` o donde lo tengas):

```yaml
mcp_servers:
  transporter_cc:
    type: sse
    url: http://localhost:8080/sse
```

## Pruebas

```bash
uv run pytest
```

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation5/5

Cada herramienta tiene un propósito claramente distinto: llegadas en tiempo real, listado de paraderos, rutas en un paradero, información de ruta, ubicación GPS de buses, estado operativo completo, planificación de rutas y paraderos cercanos. No hay superposición funcional.

Naming Consistency4/5

La mayoría de herramientas sigue el patrón verbo_sustantivo (get_arrivals, get_stops, etc.), excepto 'nearby_stops' (adjetivo_sustantivo) y 'find_route' (verbo diferente a 'get'). En general, la convención es predecible y uniforme.

Tool Count5/5

Con 8 herramientas, el servidor cubre de manera concisa las funcionalidades esenciales de un sistema de transporte: consulta de paraderos, rutas, llegadas en tiempo real y planificación. No hay herramientas redundantes ni faltantes obvias.

Completeness4/5

El conjunto cubre los casos de uso principales de un sistema de transporte público (consulta de paraderos, rutas, llegadas, ubicación de buses y planificación). Falta quizás un endpoint para alertas de servicio, pero para el alcance declarado es suficientemente completo.

Maintenance

ActivitySlowing
ResponsivenessNo issues