Un hilo r/opencodeCLI documentó procesos de 35 npm y 4 GB de RAM que sirven servidores MCP en pi, VS Code y opencode. La solución es un único demonio MCP. Este tutorial recorre la configuración.
Requisitos previos
- Nodo 20+
- Claude Desktop / Cursor / código abierto (cualquier combinación)
Guia paso a paso
Paso 1: Elija una implementación de puerta de enlace
FastMCP y @modelcontextprotocol/server-everything son los puntos de partida comunes.
npm install -g @modelcontextprotocol/server-gatewayPaso 2: Definir la flota de MCP upstream
La configuración única enumera todos los servidores proxy del demonio.
{
"upstreams": {
"scavio": { "url": "https://mcp.scavio.dev/mcp", "headers": { "x-api-key": "${SCAVIO_API_KEY}" } },
"playwright": { "command": "npx", "args": ["@playwright/mcp"] },
"shadcn": { "command": "npx", "args": ["@shadcn/mcp"] }
}
}Paso 3: Ejecute el demonio como un proceso único
El modo HTTP permite a los agentes conectarse de forma remota.
mcp-gateway --config gateway.json --http --port 8765 &Paso 4: Apunta a cada agente al demonio
Todos los agentes ven la misma flota.
// .cursor/mcp.json AND ~/.config/Claude/claude_desktop_config.json AND opencode config
{
"mcpServers": {
"gateway": { "url": "http://localhost:8765/mcp" }
}
}Paso 5: Verificar la consolidación
Verifique el recuento de procesos + RAM antes y después.
ps aux | grep -E 'mcp|npm exec' | wc -l
# Before: 35+. After: 1.Ejemplo en Python
# This tutorial is config-driven; no Python sample needed.Ejemplo en JavaScript
// See JSON config blocks above.Salida esperada
Process count drops from 35+ to 1. RAM drops from ~4 GB to ~200 MB. Schema-load tokens drop from 50K to under 500.