Metro MCP
Un servidor MCP del Metro de Washington DC.
Documentación
Metro MCP
Metro MCP es un servidor de Protocolo de Contexto de Modelo (MCP) anónimo y de solo lectura para información en vivo del Metro de DC y del Subway de Nueva York.
Conectar
El endpoint de producción es https://metro-mcp.anuragd.me/mcp. No se requiere inicio de sesión. No se requieren credenciales de cliente, token de portador ni flujo OAuth; Metro MCP no recopila credenciales de cliente. Los encabezados Authorization obsoletos se ignoran.
Claude
claude mcp add --transport http metro-mcp https://metro-mcp.anuragd.me/mcp
Codex
codex mcp add metro-mcp https://metro-mcp.anuragd.me/mcp
Cliente HTTP Streamable genérico
{
"mcpServers": {
"metro-mcp": {
"type": "http",
"url": "https://metro-mcp.anuragd.me/mcp"
}
}
}
POST /mcp es el endpoint HTTP Streamable sin estado recomendado. POST y OPTIONS /sse son un alias de compatibilidad; las URL heredadas de GET SSE, DELETE, mensajes de sesión y variantes con barra devuelven 405.
Qué ofrece
Metro MCP expone 13 herramientas MCP en datos de WMATA y MTA, incluyendo llegadas, incidentes de servicio, estaciones, cortes de ascensores, operaciones de autobuses, posiciones de trenes, detalles de transferencias e información de rutas.
También proporciona tres plantillas de URI transit:// (estaciones, rutas e incidentes) y tres plantillas fijas (service-briefing, commute-planner y accessibility-check). Las llamadas a herramientas son de solo lectura, idempotentes y de mundo abierto. Cada resultado incluye structuredContent tipados y un respaldo de texto JSON.
Un host compatible con Apps puede renderizar el recurso Transit Board para las 13 herramientas. Los clientes sin soporte de Apps reciben el mismo respaldo de texto y resultado estructurado; la mejora de Apps no altera una llamada de tránsito. Consulta el registro de verificación de Apps.
Límites de ejecución y seguridad
- Protocolo: MCP
2026-07-28HTTP Streamable sin estado. El servidor no anuncia sesiones, reanudabilidad ni push del servidor. - Confianza en solicitudes: el origen público y las listas de permitidos de host/origen se validan al inicio. El códec de estado de solicitud MRTR firmado está vinculado al método MCP y expira después de cinco minutos.
- Cancelación: las desconexiones del cliente propagan la cancelación de solicitudes a los manejadores MCP y a las búsquedas de tránsito ascendentes.
- Caché: el descubrimiento y los metadatos de herramientas son públicamente almacenables en caché durante 24 horas. Los recursos de estaciones y rutas son de caché pública; los recursos de incidentes en vivo no lo son. WMATA utiliza ventanas de caché de borde de Cloudflare apropiadas para cada fuente, mientras que las fuentes en tiempo real de MTA usan una caché en memoria de 30 segundos.
- Límite de velocidad: aproximadamente 300 solicitudes por ventana de 60 segundos por clave de IP de origen por ubicación de Cloudflare. Las IP de salida compartidas agrupan clientes, y la aplicación es eventualmente consistente. Esto es protección contra abuso, no una cuota dedicada de usuario.
- Reversión: la clase
MetroMcpAgentinactiva y la migración original dev1Durable Object permanecen para reversión. No agregues una migración de eliminación durante la estabilización.
Implementa el tuyo propio
El acceso del cliente es anónimo. Un Worker autoalojado aún necesita su propia clave de API de WMATA y un MCP_REQUEST_STATE_KEY estable de al menos 32 bytes para el estado MRTR firmado.
bun install --frozen-lockfile
cp .dev.vars.example .dev.vars
bun run dev
Usa juntos el origen de loopback verificado, las listas de permitidos de nombres de host y los valores de ENVIRONMENT=development. Mantén .dev.vars fuera del control de versiones. Producción y vista previa usan sus propios orígenes, listas de permitidos, claves de estado, claves de WMATA y enlaces de MCP_RATE_LIMITER.
Antes de una implementación aprobada, ejecuta solo pruebas en seco:
bunx wrangler deploy --dry-run --outdir /tmp/metro-mcp-production
bunx wrangler deploy --env preview --dry-run --outdir /tmp/metro-mcp-preview
Verificación
Ejecuta la suite con bun run test. El ejecutor de conformidad directa solo requiere una URL de destino:
export MCP_CONFORMANCE_TARGET_URL=https://metro-mcp-preview.anuragd.me/mcp
./scripts/run-conformance.sh
Consulta verificación MCP 2026 para la cobertura del protocolo y arquitectura de seguridad para los límites de solicitudes públicas y de límite de velocidad.
Soporte y legal
Licencia
MIT. Consulta LICENCIA.