Skip to main content
Glama
dsh-mcp-bridge
by liiiubai

dsh-mcp-bridge

CI License Stars

Expón las herramientas de DeepSeek Harness como un servidor MCP estándar: controla dsh desde 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-client oficial

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 /mcp

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-bridge

2. 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_search

3. 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/mcp

Las 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 enlaces 0.0.0.0 a 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 e2e

Estructura:

  • src/protocol.js — manejo de mensajes JSON-RPC 2.0 (puro, testeable)

  • src/catalog.js — proyección de herramientas de lista de permitidos/denegados

  • src/transport.js — manejador de HTTP transmisible (POST JSON, GET SSE)

  • src/dsh.js — acceso a herramientas con ámbito de agente + mapeo de resultados

  • src/index.js — entrada del plugin de Cordis (apply(ctx, config))

Hoja de ruta

  • notifications/tools/list_changed cuando 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.js

  • MCP modo sin estado 2026-07-28: sin handshake, server/discover, versionado de _meta en la solicitud, flujo subscriptions/listen

  • serverInfo configurable, soporte de paginación

  • Exposición opcional de Resources/Prompts

Compatibilidad de protocolo

Protocolo de cliente

Comportamiento

2025-06-18

handshake initialize + notificaciones GET SSE (verificado con el SDK oficial de MCP)

2026-07-28

sin estado: sin handshake, versión en _meta de la solicitud, server/discover, flujo POST subscriptions/listen

Licencia

MIT

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    In-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 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes 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 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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