omniroute-mcp-bridge
omniroute-mcp-bridge
Un puente MCP stdio que DSH lanza como proceso hijo (a través del complemento dsh-mcp-client, transport: stdio). Hace de proxy para tools/list / tools/call hacia el servidor MCP streamable-http de omniroute en https://llm.claassen.family/api/mcp/stream y expone solo las herramientas de la lista blanca al modelo.
Por qué
La sesión streamable-http del upstream muere cuando queda inactiva ("Unknown Mcp-Session-Id" 404). El puente detecta ese fallo exacto, elimina el cliente obsoleto, vuelve a ejecutar el handshake de inicialización de MCP (nueva id de sesión) y reintenta — de modo que una sesión upstream muerta ya no rompe una llamada de herramienta.
El complemento
dsh-mcp-clientno tiene configuración de filtrado de herramientas. Este puente filtratools/listen el lado del servidor, de modo que soloomniroute_web_searchqueda expuesto en lugar de ~70 herramientas (ahorra contexto al modelo; se mantiene elserverName: omnirouteestable, de modo que el nombre público sigue siendomcp__omniroute__omniroute_web_search).La cabecera de autenticación del upstream se pasa mediante el env del hijo, no en argv — el secreto nunca aparece en la lista de procesos. Solo vive en el
cordis.patch.ymlcon permisos 0600 del perfil web.
Related MCP server: mcp-http-bridge
Archivos
archivo | propósito |
| punto de entrada del servidor MCP stdio (lanzado por DSH) |
| accessor de upstream inyectable con lógica de reinicio de sesión caída |
| prueba autónoma en vivo: handshake MCP completo + llamada de búsqueda real |
| prueba determinista con upstream simulado del bucle de reinicio |
| vuelca los nombres en bruto de las herramientas del upstream |
| mide el TTL de inactividad de la sesión upstream |
Resolución del SDK
package.json fija @modelcontextprotocol/sdk a la versión exacta con la que se
desarrolló el puente. Hay dos formas de obtenerlo:
Independiente:
npm installen este directorio.Dentro del host de DSH (este despliegue):
node_moduleses un symlink a/usr/lib/node_modules/@deepseek-ai/dsh/node_modules, de modo que el puente siempre usa la misma compilación del SDK que usa el propio complemento mcp-client de DSH. El symlink está ignorado por git — vuelve a crearlo tras clonar en ese entorno:
ln -sfn /usr/lib/node_modules/@deepseek-ai/dsh/node_modules node_modulesConfiguración (variables de entorno, definidas en ~/.dsh/profiles/web/cordis.patch.yml)
var | significado |
| URL streamable-http (obligatoria) |
| objeto JSON de cabeceras de petición |
| nombres en bruto separados por comas (omitir = todos) |
|
|
Pruebas
Las credenciales no están commiteadas. Expórtalas primero (valores de tu archivo de 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"}'Después:
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 TTLCambiar la lista blanca
Edita MCP_BRIDGE_ALLOWED_TOOLS en el archivo de patch (nombres en bruto separados por comas
de node probe.mjs). El HMR del complemento include-plugin vuelve a aplicar el patch cuando cambia
el archivo; el complemento mcp-client relaunch el proceso hijo del puente.
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.-