dsh-mcp-bridge
dsh-mcp-bridge
Expón las herramientas de DeepSeek Harness como un servidor MCP estándar: controla
dshdesde Claude Code, Codex, OpenClaw o cualquier cliente compatible con MCP.
dsh-mcp-bridge convierte tu DeepSeek Harness en ejecución en un servidor del Model Context Protocol sobre HTTP transmisible. Cualquier cliente MCP puede descubrir y llamar a las herramientas reales de DSH (lectura de archivos, glob, grep, búsqueda web…) a través de una lista de permitidos segura — mientras tu espacio de trabajo conserva el sandbox y el pipeline de aprobación propios de DSH en cada llamada.
Cero dependencias. Sin paso de compilación. Instala y listo.
Por qué
| dsh-mcp-bridge (este) | |
Dirección | DSH → servidores MCP externos (traer herramientas hacia dentro) | Clientes MCP externos → DSH (exponer herramientas hacia fuera) |
Transporte | cliente stdio / streamable-http | servidor HTTP transmisible en |
Interfaz de cliente | ninguna (configuración YAML) | — (hoja de ruta: panel de gestión) |
El cliente oficial responde a "¿cómo uso servidores MCP en dsh?". Este proyecto responde a la inversa: "¿cómo usan otros agentes dsh como proveedor de herramientas?".
Related MCP server: Codex Harness MCP
Inicio rápido
1. Instala el paquete
# from a checkout
dsh plugin --profile <name> add ./mcp-bridge
# or from GitHub (zero build — plain JS)
dsh plugin --profile <name> add github:you/dsh-mcp-bridge2. Configura (opcional)
El cordis.patch.yml del paquete ya monta el servidor en /mcp con la lista de permitidos segura por defecto. Ajústalo en el cordis.patch.yml de tu perfil:
- id: mcp-bridge
config:
path: /mcp # endpoint path
allowlist: # DSH tools exposed to MCP clients
- read
- glob
- grep
- web_search3. Conecta cualquier cliente MCP
# Claude Code
claude mcp add --transport http dsh http://127.0.0.1:3080/mcp
# Any MCP client / SDK
# URL: http://127.0.0.1:3080/mcpLas herramientas aparecen como dsh_<name> (p. ej., dsh_read, dsh_glob, dsh_grep, dsh_web_search).
Modelo de seguridad
Lista de permitidos por defecto expone solo herramientas de solo lectura y bajo riesgo (
read,glob,grep,web_search).Lista de denegados estricta (
pwsh,write,edit, orquestación de subagentes, control de cordis…) nunca se puede exponer, incluso si se configura erróneamente en la lista de permitidos.Cada llamada sigue pasando por el pipeline de sandbox + aprobación propio de DSH.
Sirve solo en loopback (
127.0.0.1); no enlaces0.0.0.0a menos que sepas que la red es de confianza.
Bidireccional: también trae herramientas
dsh-mcp-bridge cubre la dirección saliente (DSH → clientes MCP). Para la dirección entrante (conectar servidores MCP de terceros a DSH), usa el oficial @deepseek-ai/dsh-mcp-client — una línea por servidor en tu cordis.patch.yml:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']Tu modelo verá entonces las herramientas mcp__github__* junto a las herramientas dsh_* que expone este puente. Juntas hacen de DSH un ciudadano de pleno derecho del ecosistema MCP:
Claude Code ──HTTP──▶ dsh-mcp-bridge ──▶ DSH tools (read/glob/grep/web_search)
DSH model ──stdio─▶ dsh-mcp-client ──▶ any MCP server (GitHub/filesystem/…)Ejemplo completo: examples/bidirectional.cordis.patch.yml · Inicio rápido con Claude Code: examples/claude-code-connect.md
Cómo funciona
MCP client ──streamable HTTP──▶ /mcp (webServer route)
│ JSON-RPC 2.0 (initialize / tools/list / tools/call)
▼
dsh-mcp-bridge protocol layer (zero-dep, pure JS)
│ allowlist + denylist
▼
agent-scoped ctx.tools (execute with real sandbox)El puente enumera las herramientas a través de la vista de ámbito de agente de ctx.tools (los agentes son claves de ámbito en dsh), de modo que el conjunto de herramientas que expones coincide con lo que tus agentes realmente tienen — sin esquemas codificados.
Desarrollo
npm test # node:test, zero dependencies (38 tests)
npm run demo # live demo against a running DSH at http://127.0.0.1:3080/mcp
npm run demo:mock # e2e: repo code + official MCP SDK client (no DSH needed)
node .mcp-test/e2e-stateless.mjs [url] # 2026-07-28 stateless-protocol e2eEstructura:
src/protocol.js— manejo de mensajes JSON-RPC 2.0 (puro, testeable)src/catalog.js— proyección de herramientas de lista de permitidos/denegadossrc/transport.js— manejador de HTTP transmisible (POST JSON, GET SSE)src/dsh.js— acceso a herramientas con ámbito de agente + mapeo de resultadossrc/index.js— entrada del plugin de Cordis (apply(ctx, config))
Hoja de ruta
notifications/tools/list_changedcuando cambia el conjunto de herramientas de DSH (difusión SSE)Panel de gestión en el cliente (estado del servidor, árbol de herramientas, autocomprobación de conectividad) — ver
src/client.jsMCP modo sin estado 2026-07-28: sin handshake,
server/discover, versionado de_metaen la solicitud, flujosubscriptions/listenserverInfoconfigurable, soporte de paginaciónExposición opcional de Resources/Prompts
Compatibilidad de protocolo
Protocolo de cliente | Comportamiento |
2025-06-18 | handshake |
2026-07-28 | sin estado: sin handshake, versión en |
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Exposes FEDLIN's public security scanners as agent-callable tools over Streamable HTTP.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Streamable HTTP MCP gateway for NV oOS fleets — one API key, namespaced tools, quotas and policy.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceIn-process DeepSeek Harness plugin that exposes a local Streamable HTTP MCP server, allowing MCP clients like Codex to submit tasks executed by DSH child agents using DSH's existing tools.473 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI clients to invoke CLI-driven agent tools over Streamable HTTP, including shell execution, file operations, patching, image viewing, web search, and nested agent tasks, with permission modes and real-time progress streaming.-
- AlicenseNot gradedqualityAmaintenanceExposes a running DeepSeek Harness as an MCP endpoint so any other agent or script can create workspaces and sessions, hand coding tasks to the DSH agent, read and write files, run shell commands, and invoke permitted harness tools under the same sandbox, transcript, and permission policy as the DSH UI.564 npm6MIT
- AlicenseNot gradedqualityCmaintenanceEnables any MCP client to hand self-contained coding tasks to a local DeepSeek Harness instance, which executes them by reading and editing files and running commands within whitelisted directories. Exposes a health check and a blocking task-runner over stdio or authenticated HTTP, returning stdout, stderr, exit code, and duration.MIT