Laboratorio MCP Gateway
by Tomaslopera
README.md
# Laboratorio MCP — Integración con Claude Desktop
## Descripción
Este laboratorio implementa una integración completa del **Model Context Protocol (MCP)**, conectando múltiples microservicios (ventas y pedidos) a través de un **gateway** central.
El sistema permite que **Claude Desktop** invoque herramientas MCP locales mediante comunicación STDIO.
## Estructura del proyecto
```bash
packages/
├─ mcp-ventas-node/ → Servidor Node.js que maneja operaciones de ventas
├─ mcp-pedidos-py/ → Servidor Python que gestiona pedidos
└─ mcp-gateway/ → Gateway que expone ambos servicios como un único MCP
```
---
## Pasos de ejecución
### Iniciar la base de datos
Ejecuta el contenedor PostgreSQL:
```bash
docker compose up -d
```
> Esto levanta una instancia con las credenciales
```bash
Host: localhost
Puerto: 5433
Usuario: postgres
Contraseña: postgres
Base de datos: mcp_lab
```
### Ejecutar los servidores de negocio
> Servidor de pedidos (Python)
```bash
cd packages/mcp-pedidos-py
source .venv/bin/activate
python3 server.py
```
> Servidor ventas (Node.js)
```bash
cd packages/mcp-ventas-node
npm run build
node dist/server.js
```
### Gateway MCP
> Este gateway conecta ambos microservicios el ecosistema MCP
```bash
cd packages/mcp-gateway
chmod +x run-gateway.sh
./run-gateway.sh
```
> Debería salir un mensaje como este
```bash
[ventas] DB mode=postgres
[pedidos] INFO DB mode=postgres
```
### Integración con Claude Desktoop
> Crea o edita el archivo
```bash
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
> Debería salir un mensaje como este
```bash
{
"mcpServers": {
"mcp-gateway": {
"command": "/TuDireccion/Laboratorio MCP/packages/mcp-gateway/run-gateway.sh",
"args": []
}
}
}
```
> Nota: para la implementación en MAC se le debe dar permisos a Claude Desktop para acceder al disco
## Claude Desktop



This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues