MCP---FastApi
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP---FastApicreate a new product named Laptop with price 1500 and stock 10"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
API de Inventario con MCP y Chat con IA
Sistema completo de gestión de inventario integrado con inteligencia artificial y el protocolo MCP (Model Context Protocol), ejecutándose en contenedores Docker.
📋 Descripción
API REST para gestión de inventario con capacidades de IA mediante Ollama y soporte MCP para integración con clientes como Claude Desktop y VS Code. El sistema permite gestionar empresas y productos, con persistencia en PostgreSQL, y ofrece un chat interactivo con IA que puede usar las herramientas del inventario.
Related MCP server: MCP Inventory Manager
🏗️ Estructura de Carpetas
Prueba_fastAPI/
├── app/
│ ├── __init__.py
│ ├── main.py # Aplicación principal FastAPI
│ ├── database.py # Configuración de base de datos
│ ├── models.py # Modelos SQLAlchemy
│ ├── crud.py # Operaciones CRUD
│ ├── api/
│ │ ├── __init__.py
│ │ ├── rutas_usuarios.py # Endpoints de usuarios
│ │ ├── rutas_inventario.py # Endpoints de inventario
│ │ ├── rutas_generals.py # Endpoints generales
│ │ └── rutas_chat.py # Endpoint de chat con IA
│ └── schemas/
│ ├── usuario.py # Schemas de usuarios
│ └── inventario.py # Schemas de inventario
├── Dockerfile # Imagen Docker para FastAPI
├── Dockerfile.mcp-inspector # Imagen Docker para MCP Inspector
├── docker-compose.yml # Orquestación de contenedores
├── nginx.conf # Configuración de Nginx
├── requirements.txt # Dependencias Python
└── chat_ia.py # Script original de chat (legacy)🛠️ Tecnologías
Backend
FastAPI: Framework web moderno para Python
SQLAlchemy: ORM para base de datos
Pydantic: Validación de datos
Uvicorn: Servidor ASGI
Base de Datos
PostgreSQL 15: Base de datos relacional
psycopg2-binary: Driver PostgreSQL para Python
Inteligencia Artificial
Ollama: Plataforma para ejecutar modelos LLM
llama3.2:3b: Modelo de lenguaje local
fastapi-mcp: Integración MCP con FastAPI
Infraestructura
Docker & Docker Compose: Contenedores
Nginx: Proxy reverso y balanceador
Node.js 22: Para MCP Inspector
🐳 Contenedores Docker
El proyecto utiliza 5 contenedores:
web-api: Aplicación FastAPI principal
ollama: Modelo de IA llama3.2:3b
postgres: Base de datos PostgreSQL
nginx: Proxy reverso con soporte SSE
mcp-inspector: Herramienta de desarrollo para MCP (opcional)
🚀 Instalación y Uso
Requisitos Previos
Docker instalado
Docker Compose instalado
Clonar el Proyecto
git clone <url-del-repositorio>
cd Prueba_fastAPIIniciar el Sistema
# Iniciar todos los contenedores
docker-compose up -d
# Ver logs de todos los servicios
docker-compose logs -f
# Detener todos los servicios
docker-compose down📡 Endpoints Disponibles
API REST
POST /usuarios/- Crear usuarioGET /usuarios/- Listar usuariosPUT /usuarios/{id}- Actualizar usuarioDELETE /usuarios/{id}- Eliminar usuarioPOST /inventario/empresas- Crear empresaGET /inventario/empresas- Listar empresasPOST /inventario/productos- Crear productoGET /inventario/productos- Listar productos
Chat con IA
POST /chat/chat- Chat interactivo con Ollama
MCP
GET /sse- Endpoint Server-Sent Events para MCP
Documentación
GET /docs- Documentación interactiva Swagger UIGET /redoc- Documentación ReDoc
🔍 Ver Funcionalidad
1. Documentación API
Abre en tu navegador:
http://localhost:8000/docs2. Chat con IA
Usa el endpoint /chat/chat en la documentación Swagger:
{
"mensaje": "Crea una empresa llamada TestEmpresa"
}3. Ver Datos en Base de Datos
docker exec -it postgres_container psql -U postgres -d inventario -c "SELECT * FROM empresas;"4. MCP Inspector (Opcional)
Si el servicio mcp-inspector está activo, verifica los logs para obtener el token de acceso:
docker logs mcp_inspector_container🔧 Configuración
Variables de Entorno
Las variables de entorno se configuran en docker-compose.yml:
OLLAMA_HOST: URL del servicio OllamaDATABASE_URL: URL de conexión PostgreSQLAPI_URL: URL interna de la API
Puertos
8000: Nginx (API principal)11434: Ollama5432: PostgreSQL6274-6275: MCP Inspector (si está activo)
📝 Notas Importantes
El modelo
llama3.2:3btarda ~1 minuto en responder por ejecutarse en CPUMCP Inspector es opcional y puede eliminarse del docker-compose
Los datos persisten en volúmenes Docker incluso al reiniciar contenedores
Nginx está configurado para soportar Server-Sent Events (SSE) para MCP
Si se desea probar desde docker en MCP inspector se coloca Nginx como ruta ya que maneja e trafico y la comunicacion (/nignx/sse)
🤝 Contribución
Este proyecto es un sistema de demostración para integrar MCP con FastAPI y Ollama.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for product inventory management with PostgreSQL database backend, enabling natural language queries for product information across multiple AI platforms.-
- FlicenseNot gradedqualityDmaintenanceAn AI-powered inventory management system with a natural language interface, enabling CRUD operations on items and suppliers, stock transfers, and supplier management via MCP tools.-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that lets Claude AI manage a real PostgreSQL inventory database using natural language.-
- FlicenseNot gradedqualityCmaintenanceEnables natural language queries to PostgreSQL through an Ollama-powered agent, using MCP protocol to connect the backend to the database and a web interface.-