🗃️ MCP Inventory — Servidor MCP para Gestión de Inventario
Proyecto desarrollado para el curso Computación Cognitiva para Big Data. Implementa un servidor MCP en Python que expone operaciones CRUD y consultas analíticas sobre una base de datos SQLite de inventario.
📋 Requisitos
| Herramienta | Versión mínima |
|---|---|
| Python | 3.8+ |
| SQLite3 | Incluido en Python |
| fastmcp | última |
🚀 Instalación
# 1. Clonar el repositorio
git clone https://github.com/<tu-usuario>/mcp_inventory.git
cd mcp_inventory
# 2. Crear y activar entorno virtual (recomendado)
python -m venv venv
source venv/bin/activate # Linux / macOS
venv\Scripts\activate # Windows
# 3. Instalar dependencias
pip install -r requirements.txt
▶️ Ejecución
python server.py
El servidor MCP quedará disponible para que un cliente (p. ej. Claude Desktop) lo consuma a través del protocolo MCP.
🛠️ Herramientas disponibles
CRUD
| Herramienta | Descripción |
|---|---|
crear_producto |
Agrega un nuevo producto al inventario |
consultar_producto |
Busca un producto por su id |
actualizar_producto |
Modifica la cantidad de un producto |
eliminar_producto |
Elimina un producto por su id |
listar_productos |
Lista todos los productos |
Analíticas
| Herramienta | Descripción |
|---|---|
calcular_valor_total_inventario |
Suma cantidad × precio de todos los productos |
productos_agotados |
Lista productos con cantidad = 0 |
producto_mas_costoso |
Producto con el precio unitario más alto |
estadisticas_inventario |
Total, promedios y valor total del inventario |
📁 Estructura del proyecto
mcp_inventory/
├── server.py # Servidor MCP con todas las herramientas
├── database.py # Inicialización de la base de datos SQLite
├── requirements.txt # Dependencias del proyecto
├── README.md # Este archivo
└── inventory.db # Base de datos (generada automáticamente)
🧪 Pruebas sugeridas
Desde un cliente MCP conectado al servidor, ejecutar:
- Crear cinco productos de distintas categorías.
- Consultar un producto por id.
- Actualizar la cantidad de un producto.
- Eliminar un producto.
- Listar todos los productos.
- Calcular el valor total del inventario.
- Consultar productos agotados.
- Identificar el producto más costoso.
- Ver estadísticas generales del inventario.
📄 Licencia
MIT — libre uso académico.