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-streaming-http-proxy
Файлы
файл | назначение |
| точка входа 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 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