Un fil r/opencodeCLI a documenté 35 processus npm et 4 Go de RAM servant des serveurs MCP sur pi, VS Code et opencode. La solution est un seul démon MCP. Ce tutoriel vous guide dans la configuration.
Prérequis
- Node 20+
- Claude Desktop / Cursor / opencode (toute combinaison)
Parcours
Étape 1: Choisissez une implémentation de passerelle
FastMCP et @modelcontextprotocol/server-everything sont les points de départ courants.
npm install -g @modelcontextprotocol/server-gatewayÉtape 2: Définissez la flotte MCP en amont
Un seul fichier de configuration liste tous les serveurs que le démon sert de proxy.
{
"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"] }
}
}Étape 3: Exécutez le démon en un seul processus
Le mode HTTP permet aux agents de se connecter à distance.
mcp-gateway --config gateway.json --http --port 8765 &Étape 4: Dirigez chaque agent vers le démon
Tous les agents voient la même flotte.
// .cursor/mcp.json AND ~/.config/Claude/claude_desktop_config.json AND opencode config
{
"mcpServers": {
"gateway": { "url": "http://localhost:8765/mcp" }
}
}Étape 5: Vérifiez la consolidation
Vérifiez le nombre de processus + RAM avant vs après.
ps aux | grep -E 'mcp|npm exec' | wc -l
# Before: 35+. After: 1.Exemple Python
# This tutorial is config-driven; no Python sample needed.Exemple JavaScript
// See JSON config blocks above.Sortie attendue
Process count drops from 35+ to 1. RAM drops from ~4 GB to ~200 MB. Schema-load tokens drop from 50K to under 500.