ML4Bicing Agent.

Introducción

Este proyecto propone un agente de inteligencia artificial conversacional que permite a los usuarios predecir la disponibilidad de bicicletas en estaciones Bicing de Barcelona.

Caso de Uso

  • Combina datos históricos, condiciones meteorológicas y eventos locales para generar una recomendación personalizada y contextualizada.

    El objetivo es anticipar la demanda, evitar desplazamientos innecesarios y mejorar la experiencia del usuario.

    • Predecir cuántas bicis habrá disponibles cada 30 minutos hasta el final del día

    • Tener en cuenta la previsión del tiempo

    • Consultar eventos cercanos que puedan impactar la demanda

    • Indicar el estado técnico actual de la estación

  • El agente inteligente se apoya en tres servidores MCP (Model Context Protocol), que permiten ampliar sus capacidades con información en tiempo real proveniente de APIs o funciones especializadas.

    Estos MCPs trabajan de forma combinada para enriquecer la predicción, generando una respuesta más precisa, humana y útil.

  • Permite al agente hacer peticiones HTTP a servicios web externos.

    🟢 Usado para:

    • Consultar la **predicción de bicicletas** (modelo .pkl publicado en Render)

    • Obtener el **estado técnico actual** de las estaciones desde la API oficial de Bicing

  • Recupera la **previsión meteorológica** por hora para la ubicación de una estación.

    🟢 Usado para:

    • Anticipar la demanda según condiciones de lluvia, calor o nubosidad

    • Incorporar contexto climático en la recomendación final del agente

  • Simula una búsqueda online contextualizada (como si fuera un navegador).

    🟢 Usado para:

    • Buscar **eventos públicos** en la zona de la estación y en el rango horario indicado

    • Considerar eventos masivos (conciertos, fútbol, festivales) que pueden aumentar o reducir la demanda

Flujo paso a paso

  • Este es el comportamiento que sigue el agente IA cada vez que un usuario realiza una consulta como:

    > “¿Habrá bicis en la estación 305 esta tarde?”

  • Claude analiza automáticamente:

    • El ID o nombre de la estación

    • El intervalo horario solicitado (por defecto, de ahora hasta el final del día)

    • La fecha (por defecto, hoy)

    • El contexto necesario para hacer una predicción útil

  • 🔧 MCP usado: `mcp-http`

    📍 Endpoint: API personalizada alojada en Render

    Claude envía:

    • Estación

    • Día de la semana

    • Hora inicial

    • Bicis actuales

    📤 Obtiene:

    • Una lista con predicciones cada 30 minutos (formato JSON)

  • 🔧 MCP usado: `mcp-http`

    📍 Fuente: API oficial de Bicing (Barcelona)

    Claude obtiene en tiempo real:

    • Número de bicis disponibles

    • Número de anclajes libres

    • Estado de la estación (activa/inactiva)

  • 🔧 MCP usado: `mcp-weather`

    📍 Parámetros: latitud y longitud de la estación

    Claude consulta:

    • Clima previsto para cada franja horaria (lluvia, sol, nubes, temperatura)

  • 🔧 MCP usado: `mcp-browser`

    📍 Claude realiza una búsqueda online del tipo:

    > “Eventos hoy cerca de Glòries Barcelona”

    Filtra por:

    • Proximidad a la estación

    • Fecha y hora

    • Tipo de evento

  • Claude sintetiza todos los datos:

    • Predicciones horarias

    • Clima previsto

    • Estado técnico de la estación

    • Eventos relevantes

    Y responde al usuario de forma natural y útil:

    > “📍 Estación 305 – Esta tarde:

    > 🕕 18:00 → 9 bicicletas (☁️ nublado)

    > 🕖 19:00 → 4 bicicletas (☀️ soleado)

    > Actualmente hay 13 bicis disponibles y 25 anclajes.

    > Hoy a las 19:00 hay un evento en el Auditori Nacional cercano.

Arquitectura del Sistema

🧩 Arquitectura del sistema

El sistema funciona combinando distintos componentes conectados entre sí para ofrecer una respuesta enriquecida y contextual.

🧠 Claude Desktop + MCPs

Claude funciona como motor central del agente IA. Se ejecuta en local (versión Desktop) y tiene acceso a múltiples servidores MCP que le permiten conectarse con datos externos.

📦 MCPs (Model Context Protocol)

Claude invoca MCPs que actúan como servidores auxiliares especializados en:

  • Consultar datos históricos (`mcp-http`)

  • Obtener clima en tiempo real (`mcp-weather`)

  • Simular búsquedas web (`mcp-browser`)

📡 API de predicción

Un modelo `.pkl` entrenado previamente fue desplegado en un servidor de Render y se consulta mediante una API HTTP.

👤 Interacción del usuario

El usuario escribe una pregunta en lenguaje natural. Claude interpreta el contexto, consulta los MCPs y responde con una recomendación detallada.

🧩 🧠 📦 📡 👤

Este sistema modular permite enriquecer las respuestas con datos fiables, en tiempo real, y adaptados a cada consulta específica.

¿Quieres ver las tripas?

Puedes ver la conversación completa con el agente IA y cómo activa cada MCP en tiempo real.

Puedes descargar el archivo de configuración directamente.