Központosított MCP (Model Context Protocol) gateway robusztus timeout, retry és circuit breaker kezeléssel.
- Több MCP szerver aggregálása egyetlen végpont alatt
- Timeout watchdog konfigurálható határidőkkel
- Exponential backoff retry jitter-rel
- Circuit breaker pattern (Open/Closed/Half-Open)
- Structured JSON logging Winston-nal
- Globális elérhetőség minden projektben
- Konfigurálható minden aspektus (timeout, retry, circuit breaker)
cd Common_MCP
npm install
npm run build
npm install -g .A gateway automatikusan létrehozza a konfigurációs könyvtárat:
- Windows:
C:\Users\[username]\.common-mcp\ - Konfigurációs fájl:
C:\Users\[username]\.common-mcp\config.json
Másold át a példa konfigurációt:
mkdir C:\Users\%USERNAME%\.common-mcp
copy config\default.json C:\Users\%USERNAME%\.common-mcp\config.jsonSzerkeszd az mcp_config.json fájlt (C:\Users\[username]\.codeium\windsurf\mcp_config.json):
{
"mcpServers": {
"common-mcp-gateway": {
"command": "common-mcp",
"args": [],
"env": {
"COMMON_MCP_CONFIG": "C:\\Users\\[username]\\.common-mcp\\config.json"
},
"disabled": false
}
}
}A config.json fájlban add hozzá a downstream szervereket:
{
"common-mcp": {
"downstreamServers": {
"my-server": {
"command": "npx",
"args": ["-y", "my-mcp-server"],
"timeout": 30000,
"retryAttempts": 3
}
}
}
}A gateway serverId/toolName formátumban várja a tool neveket:
adb-mcp-alt/mcp0_adb_devices
android-adb-mcp/mcp1_adb_shell
cursor-playwright/mcp2_playwright_navigate
{
"globalDefaults": {
"timeout": 30000, // ms
"retryAttempts": 3,
"retryDelay": 1000, // ms base delay
"circuitBreaker": {
"enabled": true,
"failureThreshold": 5,
"resetTimeout": 60000 // ms
}
}
}{
"downstreamServers": {
"server-id": {
"command": "npx",
"args": ["-y", "package-name"],
"timeout": 45000, // Override global
"retryAttempts": 3, // Override global
"env": {
"API_KEY": "value"
},
"healthCheck": {
"enabled": true,
"method": "tool_name",
"interval": 30000
}
}
}
}{
"logging": {
"level": "INFO", // DEBUG|INFO|WARN|ERROR
"format": "json", // json|simple
"file": "path/to/log.log",
"maxSize": "10MB",
"maxFiles": 5
}
}npm run buildnpm run devnpm test
npm run test:coverageA gateway a következő komponensekből áll:
- Router: Tool név routing downstream szerverekhez
- Timeout Watchdog: Konfigurálható timeout kezelés
- Retry Engine: Exponential backoff + jitter
- Circuit Breaker: Open/Closed/Half-Open states
- Connection Pool: Downstream kapcsolatok kezelése
- Logger: Strukturált JSON logging
Részletes architektúra dokumentáció: ARCHITECTURE.md
Ellenőrizd a konfigurációban a command és args helyességét:
# Teszteld manuálisan
npx -y package-nameNöveld a timeout értéket a konfigurációban:
{
"timeout": 60000 // 60 seconds
}Ha túl sok hiba történt, a circuit breaker OPEN állapotba kerül. Várd meg a reset timeout-ot (alapértelmezett: 60s), vagy indítsd újra a gateway-t.
# Windows
type C:\Users\%USERNAME%\.common-mcp\logs\common-mcp-*.log
# Vagy nyisd meg a fájlt egy JSON viewerbenMIT