Skip to main content
Glama

Monitor simple de flota

Proyecto desarrollado para demostrar un proceso progresivo de análisis y refactorización asistido por IA, finalizando con un servidor MCP que permite al agente consultar y actualizar la flota.

La versión actual obtiene los vehículos desde una base de datos local SQLite y conserva la misma lógica de alertas y salida por consola de la versión inicial.

Repositorio: AgustinLeandroLopez/Proyecto-PrograConIAGEN-Flota

Documentación del proyecto

  • AGENTS.md: contexto e instrucciones que Codex carga al trabajar en el repositorio.

  • docs/PRODUCT.md: propósito, reglas, alcance y criterios de éxito del producto.

Related MCP server: SQLite MCP Server

Versiones conservadas

  • versiones/01_version_inicial.py: código inicial con datos en memoria y condicionales anidados.

  • versiones/02_primera_refactorizacion.py: incorporación de funciones, una constante para el límite y condiciones más simples.

  • Versión actual: separación entre acceso a SQLite, reglas del monitor y ejecución principal.

Estructura actual

  • main.py: inicia el programa y coordina la consulta y presentación de los vehículos.

  • database.py: crea, migra y consulta la base SQLite. También contiene funciones para consultar y actualizar un vehículo.

  • monitor.py: contiene las reglas que determinan el estado, las alertas y la salida por consola.

  • servidor_mcp.py: publica las operaciones de la flota como herramientas MCP.

  • test_servidor_mcp.py: verifica las herramientas mediante un cliente MCP en memoria.

  • dashboard.py: inicia un dashboard web local conectado a la misma base SQLite.

  • dashboard/index.html: interfaz visual que actualiza la flota automáticamente.

  • .codex/config.toml: configura el servidor MCP local para Codex.

  • flota.db: se genera automáticamente la primera vez que se ejecuta el programa.

Requisitos

  • Python 3.10 o superior.

  • SDK oficial de MCP para Python.

Instalar la dependencia:

python -m pip install -r requirements.txt

Ejecución

python main.py

Para ejecutar las versiones anteriores:

python versiones/01_version_inicial.py
python versiones/02_primera_refactorizacion.py

Herramientas MCP

El servidor publica estas herramientas:

  • consultar_vehiculos: devuelve toda la flota, el estado calculado y si cada vehículo espera viaje.

  • consultar_estado_vehiculo: consulta un vehículo por su identificador.

  • consultar_alertas: devuelve los vehículos detenidos más de 30 minutos que no esperan viaje.

  • agregar_vehiculo: incorpora un vehículo nuevo e incluye opcionalmente esperando_viaje.

  • actualizar_estado_vehiculo: modifica velocidad, minutos detenido y esperando_viaje de un vehículo. Velocidad y minutos siguen siendo obligatorios.

esperando_viaje es un estado persistente para un vehículo detenido y disponible. Puede tener cualquier cantidad de minutos detenido sin generar una alerta. Si se actualiza con velocidad mayor que 0, el estado se desactiva automáticamente. Las bases existentes se actualizan en el inicio: se agrega la columna con valor false sin eliminar vehículos.

El servidor utiliza transporte local stdio. Al ejecutarlo directamente queda esperando que un cliente MCP se conecte:

python servidor_mcp.py

La configuración incluida en .codex/config.toml utiliza las rutas locales de este equipo. Para activarla, abrir esta carpeta como proyecto confiable en Codex y reiniciar la aplicación. Luego se puede consultar el servidor desde el menú de MCP o mediante /mcp.

Dashboard web

Iniciar el dashboard en otra terminal:

python dashboard.py

Luego abrir http://127.0.0.1:8000. La página consulta la base local cada dos segundos, por lo que refleja automáticamente las actualizaciones realizadas mediante las herramientas MCP.

Pruebas

python -m unittest -v test_servidor_mcp.py

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with a retail cars database using SQL queries. Supports adding new car advertisements and searching existing cars based on user preferences through natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM agents to perform complete database operations on SQLite databases, including creating tables, executing queries, and managing data through CRUD operations with schema inspection capabilities.
    25 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage and query SQLite databases through MCP tools, supporting CRUD operations, schema management, and saved views.
    4 npm
    MIT