omniroute-mcp-bridge
omniroute-mcp-bridge
Eine stdio-MCP-Brücke, die DSH als Kindprozess startet (über das Plugin dsh-mcp-client, transport: stdio). Sie leitet tools/list / tools/call an den omniroute-Streamable-HTTP-MCP-Server unter https://llm.claassen.family/api/mcp/stream weiter und legt dem Modell nur die in der Zulassungsliste enthaltenen Tools offen.
Warum
Die streamable-http-Session des Upstreams stirbt bei Inaktivität (`"Unknown Mcp-Session-Id" 404). Die Brücke erkennt genau diesen Fehler, entfernt den veralteten Client, führt den MCP-Initialize-Handshake erneut aus (neue Session-ID) und versucht es erneut — das eine abgestorbene Upstream-Session keinen Tool-Aufruf mehr unterbricht. Ist das separat noch zu fixen.
Das Plugin
dsh-mcp-clienthat keine Konfiguration zur Tool-Filterung. Diese Brücke filterttools/listserverseitig, sodass nuromniroute_web_searchoffengelegt wird statt ~70 Tools (spart Modellkontext;serverName: omniroutebleibt stabil, sodass der öffentliche Namemcp__omniroute__omniroute_web_searcherhalten bleibt).
Der Auth-Header des Upstreams wird über die env des Kindprozesses übergeben, nicht über argv — das Geheimnis erscheint nie in der Prozessliste. Es liegt ausschließlich in der
cordis.patch.ymldes Web-Profils (Dateimodus 0600).
Related MCP server: mcp-streaming-http-proxy
Dateien
Datei | Zweck |
| stdio-MCP-Server-Einstiegspunkt (von DSH gestartet) |
| injizierbarer Upstream-Accessor mit Re-Init-Logik für abgestorbene Sessions |
| eigenständiger Live-Test: vollständiger MCP-Handshake + echter Suchaufruf |
| deterministischer Fake-Upstream-Test der Re-Init-Schleife |
| gibt die rohen Upstream-Toolnamen aus |
| misst die Leerlauf-TTL der Upstream-Session |
SDK-Auflösung
package.json fixiert @modelcontextprotocol/sdk auf die exakte Version, mit der die Brücke entwickelt wurde. Es gibt zwei Wege, das SDK zu bekommen:
Standalone:
npm installin diesem Verzeichnis.Innerhalb des DSH-Hosts (dieses Deployment):
node_modulesist ein Symlink auf/usr/lib/node_modules/@deepseek-ai/dsh/node_modules, sodass die Brücke immer denselben SDK-Build verwendet, den das mcp-client-Plugin von DSH nutzt. Der Symlink wird von Git ignoriert — erstelle ihn nach dem Klonen in dieser Umgebung neu:ln -sfn /usr/lib/node_modules/@deepseek-ai/dsh/node_modules node_modules
Konfiguration (Umgebungsvariablen, gesetzt in ~/.dsh/profiles/web/cordis.patch.yml)
Variable | Bedeutung |
| streamable-http-URL (erforderlich) |
| JSON-Objekt der Anfrage-Header |
| kommagetrennte Toolnamen (leer = alle) |
|
|
Tests
Zugangsdaten sind nicht committet. Exportiere sie zuerst (Werte aus deiner Patch-Datei):
export MCP_BRIDGE_UPSTREAM_URL='https://llm.claassen.family/api/mcp/stream'
export MCP_BRIDGE_UPSTREAM_HEADERS='{"Authorization":"Bearer …","X-Forwarded-For":"127.0.0.1"}'Dann:
node test-reinit.mjs # deterministic: dead session -> re-init -> success (no network needed)
node test-bridge.mjs # live: handshake + filtered list + real search
node probe.mjs # dump the upstream's raw tool names
node probe-ttl2.mjs # measure upstream session idle TTLZulassungsliste ändern
Ändere MCP_BRIDGE_ALLOWED_TOOLS in der Patch-Datei (kommagetrennte Roh-Toolnamen aus node probe.mjs). Das HMR des include-plugin wendet den Patch bei Dateiänderung erneut an; das mcp-client-Plugin startet den Kindprozess der Brücke neu.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProxies remote HTTP/HTTPS MCP servers over stdio, allowing stdio-based MCP clients to connect to remote servers via Streamable HTTP or SSE transports.MIT
- AlicenseNot gradedqualityCmaintenanceProxies STDIO-based MCP clients to streaming HTTP MCP servers, enabling local clients to connect to remote servers.153MIT
- AlicenseNot gradedqualityCmaintenanceThis server bridges a stdio MCP server to HTTP, allowing MCP clients that communicate over HTTP to use the server's tools. It includes a per-tool allow/deny filter for security.MIT
- AlicenseNot gradedqualityBmaintenanceA deterministic MCP tool-list relay that lets operators filter tools by include/exclude rules and exposes a filtered stdio MCP server to local clients.18MIT
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Remote MCP for Gemini upgrade evals, prompt regressions, output diffs, and eval receipts.
Remote MCP for GenAI span mapping, provider normalization, dashboard schemas, and receipts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jorisc90/mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server