omniroute-mcp-bridge
omniroute-mcp-bridge
stdio MCP-мост, который DSH запускает как дочерний процесс (через плагин dsh-mcp-client, transport: stdio). Он проксирует tools/list / tools/call к streamable-http MCP-серверу omniroute по адресу https://llm.claassen.family/api/mcp/stream и отдаёт модели только инструменты из allow-list.
Зачем
Сессия upstream streamable-http умирает при простое ("Unknown Mcp-Session-Id" 404). Мост обнаруживает именно этот сбой, закрывает устаревший клиент, заново выполняет MCP initialize handshake (новый session id) и повторяет запрос — поэтому мёртвая upstream-сессия больше не ломает вызов инструмента.
Плагин
dsh-mcp-clientне имеет конфигурации фильтрации инструментов. Этот мост фильтруетtools/listна стороне сервера, поэтому наружу отдаётся толькоomniroute_web_searchвместо ~70 инструментов (экономия контекста модели; сохраняется стабильныйserverName: omniroute, так что публичное имя остаётсяmcp__omniroute__omniroute_web_search).Заголовок авторизации upstream передаётся через env дочернего процесса, а не через argv — секрет никогда не появляется в списке процессов. Он хранится только в
cordis.patch.ymlс правами 0600 в веб-профиле.
Related MCP server: mcp-http-bridge
Файлы
файл | назначение |
| точка входа stdio MCP-сервера (запускается из DSH) |
| инжектируемый доступ к upstream с логикой re-init мёртвой сессии |
| автономный живой тест: полное MCP-рукопожатие + реальный поисковый вызов |
| детерминированный тест цикла re-init на фейковом upstream |
| выводит сырые имена инструментов upstream |
| измеряет TTL простоя upstream-сессии |
Подключение SDK
package.json закрепляет @modelcontextprotocol/sdk ровно на той версии, под которую разрабатывался мост. Получить её можно двумя способами:
Автономно:
npm installв этой директории.Внутри DSH-хоста (в данном развёртывании):
node_modules— это симлинк на/usr/lib/node_modules/@deepseek-ai/dsh/node_modules, поэтому мост всегда использует ту же сборку SDK, что и собственный плагин mcp-client в DSH. Симлинк игнорируется Git — создайте его заново после клонирования в этом окружении:ln -sfn /usr/lib/node_modules/@deepseek-ai/dsh/node_modules node_modules
Конфигурация (env, задаётся в ~/.dsh/profiles/web/cordis.patch.yml)
переменная | значение |
| streamable-http URL (обязательно) |
| JSON-объект с заголовками запросов |
| исходные имена инструментов через запятую (не задано — все) |
|
|
Тесты
Учётные данные не закоммичены. Сначала экспортируйте их (значения из вашего patch-файла):
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"}'Затем:
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 TTLИзменить allow-list
Отредактируйте MCP_BRIDGE_ALLOWED_TOOLS в patch-файле (первые имена через запятую из node probe.mjs). HMR include-плагина повторно применяет patch при изменении файла; плагин mcp-client перезапускает дочерний процесс моста.
This server cannot be deployed
Maintenance
Related MCP Connectors
Toolstile is a managed MCP gateway that connects remote MCP servers behind one endpoint, with per-agent permissions, shared accounts and activity logs. Connect at https://mcp.toolstile.com/mcp over Streamable HTTP with OAuth; sign in at https://toolstile.com, select a workspace and connect your upstream servers. Available tools, resources and prompts depend on that workspace and the agent's granted access.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
MCP server (stdio): check if URLs are alive (status, redirects, latency) via the AgentForge API
Streamable HTTP MCP gateway for NV oOS fleets — one API key, namespaced tools, quotas and policy.
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 gradedqualityDmaintenanceThis 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
- FlicenseNot gradedqualityCmaintenanceLets you run a lightweight stdio MCP server in front of an upstream MCP server, exposing only a configured subset of its tools with compact schemas while keeping the full catalog reachable via discover, describe, and call meta-tools.-
- FlicenseNot gradedqualityCmaintenanceEnables local MCP clients to access tools from a remote FastMCP server over stdio, handling OAuth authentication and Streamable HTTP communication.-