Skip to main content
Glama
Feralex3109

mcp_inventory

by Feralex3109
README.md
# 1. Desarrollo de un Sistema Cognitivo usando MCP y Bases de Datos

## Sistema de Inventario con SQLite + MCP

Este proyecto implementa un sistema de inventario básico utilizando Python, SQLite y MCP (Model Context Protocol). Permite realizar operaciones CRUD sobre productos, además de consultas estadísticas del inventario.

---

## Características

- Crear productos
- Consultar productos por ID
- Actualizar cantidad de productos
- Eliminar productos
- Listar todos los productos
- Calcular valor total del inventario
- Consultar productos agotados
- Identificar el producto más costoso
- Obtener estadísticas generales del inventario

---

## Tecnologías utilizadas

- Python 3.x
- SQLite3
- FastMCP (Model Context Protocol)

---

## Estructura del proyecto

/inventario
│── database.py # Creación de la base de datos
│── server.py # Servidor MCP con herramientas
│── productos_db.py # Lógica CRUD de productos (si aplica)
│── inventory.db # Base de datos SQLite (se genera automáticamente)

---

## ⚙️ Instalación

### 1. Clonar el proyecto

bash: git clone <URL_DEL_REPOSITORIO>
cd inventario

---

## 2. Crear entorno virtual (opcional pero recomendado)

python -m venv venv

Activar entorno:

- Windows: venv\Scripts\activate
- Linux/Mac: source venv/bin/activate

---

## 3. Instalar dependencias

pip install fastmcp

---

## 4. Inicializar base de datos

- Ejecutar el siguiente archivo: python database.py
- Esto creará automáticamente el archivo: inventory.db

---

## 5. Ejecución del servidor MCP

- Ejecutar: python server.py

El servidor quedará activo con las herramientas disponibles para consulta y manipulación del inventario.

---

## 6. Ejecución de pruebas

Puedes crear un archivo test.py para probar las funciones: python test.py

Ejemplo de uso:

- crear_producto("Laptop", "Tecnología", 10, 2500)
- consultar_producto(1)
- actualizar_producto(1, 20)
- listar_productos()
- valor_inventario()

---

## Consideraciones

- Asegúrate de ejecutar primero database.py antes del servidor.
- No elimines el archivo inventory.db si deseas conservar los datos.
- Manejar correctamente los IDs al consultar o eliminar productos.

---

## Autor:

Edwin Alexander Ospina Penna
Proyecto desarrollado como práctica de sistemas cognitivos, bases de datos y MCP en Python.

---