omniroute-mcp-bridge
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@omniroute-mcp-bridgesearch the web for recent developments in MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
omniroute-mcp-bridge
A stdio MCP bridge that DSH spawns as a child process (via the dsh-mcp-client
plugin, transport: stdio). It proxies tools/list / tools/call to the
omniroute streamable-http MCP server at
https://llm.claassen.family/api/mcp/stream and exposes only the
allow-listed tools to the model.
Why
The upstream streamable-http session dies when idle ("Unknown Mcp-Session-Id" 404). The bridge detects that exact failure, tears down the stale client, re-runs the MCP initialize handshake (fresh session id) and retries — so a dead upstream session no longer breaks a tool call.
The
dsh-mcp-clientplugin has no tool-filtering config. This bridge filterstools/listserver-side, so onlyomniroute_web_searchis exposed instead of ~70 tools (saves model context; stableserverName: omnirouteis kept, so the public name staysmcp__omniroute__omniroute_web_search).The upstream auth header is passed via child env, not argv — the secret never appears in the process list. It lives only in the 0600
cordis.patch.ymlof the web profile.
Related MCP server: mcp-streaming-http-proxy
Files
file | purpose |
| stdio MCP server entrypoint (spawned by DSH) |
| injectable upstream accessor with dead-session re-init logic |
| standalone live test: full MCP handshake + real search call |
| deterministic fake-upstream test of the re-init loop |
| dumps raw upstream tool names |
| measures upstream session idle TTL |
SDK resolution
package.json pins @modelcontextprotocol/sdk to the exact version the
bridge was developed against. Two ways to get it:
Standalone:
npm installin this directory.Inside the DSH host (this deployment):
node_modulesis a symlink to/usr/lib/node_modules/@deepseek-ai/dsh/node_modules, so the bridge always uses the same SDK build DSH's own mcp-client plugin uses. The symlink is gitignored — recreate it after cloning in that environment:ln -sfn /usr/lib/node_modules/@deepseek-ai/dsh/node_modules node_modules
Config (env, set in ~/.dsh/profiles/web/cordis.patch.yml)
var | meaning |
| streamable-http URL (required) |
| JSON object of request headers |
| comma-separated raw tool names (omit = all) |
|
|
Tests
Credentials are not committed. Export them first (values from your patch file):
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"}'Then:
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 TTLChange the allow-list
Edit MCP_BRIDGE_ALLOWED_TOOLS in the patch file (comma-separated raw names
from node probe.mjs). The include-plugin HMR re-applies the patch on file
change; the mcp-client plugin respawns the bridge child.
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