omniroute-mcp-bridge
omniroute-mcp-bridge
DSH가 dsh-mcp-client 플러그인(transport: stdio)을 통해 자식 프로세스로 실행하는 stdio MCP 브리지입니다. 이 브리지는 tools/list / tools/call을 https://llm.claassen.family/api/mcp/stream에 있는 omniroute streamable-http MCP 서버로 프록시하며, 오직 허용 목록에 있는 도구만 모델에 노출합니다.
이유
업스트림 streamable-http 세션은 유휴 상태가 되면 죽습니다("Unknown Mcp-Session-Id" 404). 브리지는 정확히 그 실패를 감지하여 stale 상태의 클라이언트를 해체하고, MCP initialize 핸드셰이크(새 세션 id)를 다시 실행한 다음 재시도합니다 — 따라서 죽은 업스트림 세션이 더 이상 도구 호출을 깨뜨리지 않습니다.
dsh-mcp-client플러그인에는 도구 필터링 설정이 없습니다. 이 브리지는tools/list를 서버 측에서 필터링하므로 ~70여 개의 도구 대신omniroute_web_search만 노출합니다. (모델 컨텍스트를 절약하며, 안정적인serverName: omniroute을 유지하기 때문에 공개 이름도mcp__omniroute__omniroute_web_search로 유지됩니다.)업스트림 인증 헤더는 argv가 아니라 자식 프로세스 env로 전달됩니다. — 비밀 값은 프로세스 목록에 절대 나타나지 않습니다. 비밀 값은 웹 프로필의 0600 권한
cordis.patch.yml에만 존재합니다.
Related MCP server: mcp-streaming-http-proxy
파일
파일 | 용도 |
| stdio MCP 서버 진입점(DSH가 스폰) |
| 주입 가능한 업스트림 접근자. 죽은 세션 재초기화 로직 포함 |
| 단독 실행 라이브 테스트: 전체 MCP 핸드셰이크 + 실제 검색 호출 |
| 재초기화 루프에 대한 결정적(deterministic) fake-upstream 테스트 |
| 업스트림 원본 도구 이름을 덤프 |
| 업스트림 세션 유휴 TTL 측정 |
SDK 설치
package.json은 @modelcontextprotocol/sdk를 이 브리지가 개발된 정확한 버전으로 고정합니다. SDK를 얻는 방법은 두 가지입니다.
독립 실행: 이 디렉터리에서
npm install을 실행합니다.DSH 호스트 내부(이 배포 환경):
node_modules는/usr/lib/node_modules/@deepseek-ai/dsh/node_modules를 가리키는 심볼 링크입니다. 따라서 이 브리지는 DSH 자체의 mcp-client 플러그인이 사용하는 것과 동일한 SDK 빌드를 항상 사용합니다. 이 심볼 링크는 gitignore되어 있기 때문에 해당 환경에서 클론한 뒤 기존에 다시 생성하십시오:ln -sfn /usr/lib/node_modules/@deepseek-ai/dsh/node_modules node_modules
구성 (환경변수, ~/.dsh/profiles/web/cordis.patch.yml에서 설정)
변수 | 의미 |
| streamable-http URL (필수) |
| 요청 헤더의 JSON 객체 |
| 쉼표로 구분된 원본 도구 이름 (생략 = 모든 도구) |
|
|
테스트
자격 증명은 커밋되어 있지 않습니다. 먼저 (패치 파일의 값으로) 내보내세요:
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허용 목록 변경
패치 파일에서 MCP_BRIDGE_ALLOWED_TOOLS를 편집하십시오(node probe.mjs가 출력하는 원본 도구 이름을 쉼표로 구분한 값). include-plugin HMR은 파일이 변경되면 패치를 다시 적용하고, 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