Skip to main content
Glama
xxxyz

dsh-mcp-manager

by xxxyz

dsh-mcp-manager

English · 中文

dsh-mcp-manager MCP Manager settings page

Gestor de servidores MCP duradero para DeepSeek Harness (DSH) — un plugin de cargador compuesto (no un plugin de sesión dinámica), por lo que sobrevive a reinicios y actualizaciones de DSH.

Construido según el estándar de desarrollo de plugins de DSH (consulte la documentación oficial: 第一个插件, 开发一个工具):

  • plugin Cordis en forma de objeto (export default { name, inject, apply })

  • servicios requeridos declarados en inject — el framework garantiza que estén listos antes de que se ejecute apply, y recarga el plugin si uno desaparece (esto es lo que mantiene el plugin activo durante las actualizaciones de DSH)

  • capacidades expuestas al agente como herramientas de modelo registradas mediante ctx.tools.register(defineTool(...)): mcp_manager_list, mcp_manager_set_enabled, mcp_manager_restart, mcp_manager_add

  • capacidad orientada a la interfaz de usuario mediante una ruta exacta de webServer (POST /dsh-mcp-manager/api), consumida por la mitad cliente

Características:

  • Página Configuración → MCP 管理 (añadida por la mitad cliente)

  • La mitad anfitriona gestiona las filas de @deepseek-ai/dsh-mcp-client en los archivos de parche reales:

    • Nivel de proyecto~/.dsh/profiles/<profile>/cordis.patch.yml

    • Global~/.dsh/cordis.patch.yml

    • añadir / editar / habilitar / deshabilitar / reiniciar / eliminar, estado de salud del recuento de herramientas en vivo, exportación/importación JSON, bloqueo de escritura por archivo

Cómo funciona

Pieza

Archivo

Rol

Código fuente del plugin anfitrión

src/index.ts

Código fuente TypeScript (la forma de plugin documentada); compilar con npm run build (tsc)

Plugin anfitrión (compilado)

lib/index.js (main)

Plugin Cordis en forma de objeto: CRUD de archivos de parche + 4 herramientas de modelo + ruta exacta de webServer /dsh-mcp-manager/api (JSON {op, args}{ok, ...})

Paquete cliente

lib/client.js (exports["./client"] + dsh.client)

Módulo de navegador: registra la página de configuración; llama al anfitrión mediante fetch('/dsh-mcp-manager/api')

Fila del cargador

añadida al cordis.patch.yml del perfil

compone la entrada del anfitrión; el servicio de módulos cliente escanea las entradas habilitadas y sirve el paquete cliente

La entrada del cargador es el único punto de composición para ambas mitades — no se requieren cambios en ningún paquete DSH distribuido. El paquete en sí es independiente de la plataforma (JS puro; los separadores de ruta se detectan en tiempo de ejecución), por lo que funciona en Windows, macOS y Linux. La compilación (npm run build) requiere las devDependencies (typescript, @deepseek-ai/cordis, @deepseek-ai/dsh-tools, @types/node); el paquete instalado/distribuido no necesita ninguna de ellas.

Related MCP server: Deepseek MCP Server

Instalación (cualquier plataforma)

La más rápida — un solo comando, mediante npm (requiere Node.js >= 18):

# Option A — one-shot with npx, nothing to install
npx -y @xxxyz/dsh-mcp-manager

# Option B — global npm install, then run the command any time
npm i -g @xxxyz/dsh-mcp-manager
dsh-mcp-manager                  # install the plugin
dsh-mcp-manager-uninstall        # uninstall the plugin
npm i -g @xxxyz/dsh-mcp-manager@latest   # upgrade

Todas las banderas se pasan en ambas opciones: npx -y @xxxyz/dsh-mcp-manager --dsh-home /path/.dsh --profile web --repair --port 3080.

Nombre del paquete npm: @xxxyz/dsh-mcp-manager (el nombre simple dsh-mcp-manager está ocupado en npm por un paquete no relacionado). El nombre del plugin desplegado sigue siendo dsh-mcp-manager — npm/npx es solo el canal de entrega; el instalador copia los archivos a las mismas ubicaciones fijas que se indican a continuación.

Alternativa sin npm — directamente desde GitHub:

npx -y github:xxxyz/DeepSeekHarness-MCP-Manager

Alternativa — ejecutar los scripts del instalador desde un checkout del código fuente (todos los instaladores comparten un archivo de lógica multiplataforma, install.mjs). Pasos de instalación:

  1. copiar el paquete a <dshHome>/local-packages/dsh-mcp-manager (una fuente real mantenida fuera de node_modules, para que las actualizaciones de DSH nunca lo toquen)

  2. copiarlo en <dshHome>/profiles/node_modules/dsh-mcp-manager (una copia simple a propósito — un enlace simbólico haría que Node ESM resuelva la ruta real del plugin donde @deepseek-ai/dsh-tools no se puede encontrar)

  3. añadir la fila del cargador a profiles/<profile>/cordis.patch.yml (idempotente; mantiene el parche como un array válido de nivel superior)

Windows (PowerShell):

.\dsh-mcp-manager\install.ps1                     # default: ~/.dsh, web profile
# or: .\install.ps1 -DshHome D:\path\.dsh -Profile web

macOS / Linux:

./dsh-mcp-manager/install.sh                      # default: ~/.dsh, web profile
# or: ./install.sh --dsh-home /path/.dsh --profile web

Cualquier plataforma (directo):

node dsh-mcp-manager/install.mjs [--dsh-home <path>] [--profile <name>] [--port <n>] [--repair] [--skip-patch]

Luego reiniciar DSH y abrir Configuración → MCP 管理. Las cuatro herramientas mcp_manager_* se vuelven invocables por el modelo después de ese reinicio.

Desinstalación (cualquier método):

dsh-mcp-manager-uninstall          # if installed via npm -g
# or: .\dsh-mcp-manager\uninstall.ps1 | ./uninstall.sh | node uninstall.mjs [--dsh-home <path>] [--profile <name>]

luego reiniciar DSH. La desinstalación elimina la copia desplegada, la fuente real en local-packages y la fila del cargador.

Después de una actualización de DSH: --repair

Una actualización de DSH (o un estado HMR dañado) puede dejar la mitad anfitriona del plugin descargada mientras los archivos aún están en su lugar. Un solo comando lo soluciona — vuelve a copiar el paquete desde la fuente de registro, incrementa el config.version de la fila del cargador para forzar una reaplicación de HMR, luego consulta la API hasta que responda:

node dsh-mcp-manager/install.mjs --repair            # default ~/.dsh, web, port 3080
node dsh-mcp-manager/install.mjs --repair --port 3080
# PowerShell: .\install.ps1 -Repair -Port 3080     bash: ./install.sh --repair --port 3080

--repair devuelve éxito solo cuando POST /dsh-mcp-manager/api responde {ok:true} nuevamente. Si la API aún no responde después de 30 segundos, reinicie DSH una vez (el cargador siempre reimporta fresco al arrancar).

Referencia de la API

Todas las operaciones son POST /dsh-mcp-manager/api con {"op": "<op>", "args": {...}}, mismo origen.

op

args

resultado

mcpm-list

{}

{ok, rows[], paths, errors[]}

mcpm-add

`{serverName, transport, url

command, args?, headers?, env?, level, enabled?}`

{ok, row}

mcpm-edit

{id, level, ...fields}

{ok}

mcpm-set-enabled

{id, level, enabled}

{ok}

mcpm-restart

{id, level}

{ok}

mcpm-remove

{id, level}

{ok}

mcpm-export

{}

{ok, json, savedTo}

mcpm-import

{json}

{ok, added[], skipped[]}

Herramientas de modelo

Registradas en el anfitrión con ctx.tools.register(defineTool(...)) (estándar @deepseek-ai/dsh-tools):

herramienta

descripción

mcp_manager_list

listar todos los servidores MCP configurados (nivel, estado habilitado, estado del cargador en vivo, recuento de herramientas)

mcp_manager_set_enabled

habilitar / deshabilitar un servidor (id, level, enabled)

mcp_manager_restart

reiniciar un servidor (id, level)

mcp_manager_add

añadir un servidor (serverName, transport, url

command, …, level)

Notas / limitaciones

  • La ruta HTTP no está autenticada en el servidor web local — está bien para una máquina local de un solo usuario; no exponga el puerto web de DSH públicamente.

  • Las filas gestionadas llevan marcadores # dsh-mcp-manager:server:<id>; la fila del cargador es un bloque insert que añade id: mcp-manager, name: dsh-mcp-manager — el dialecto de parche de DSH trata una fila simple - id: como una anulación de una entrada existente (se omite silenciosamente cuando está ausente), por lo que añadir un plugin requiere la forma insert.

  • Si la página web en ejecución es anterior a la instalación, es necesario actualizar la página o reiniciar DSH para que el módulo cliente funcione (el gráfico de arranque se construye al cargar la página).

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    B
    maintenance
    Enables integration of DeepSeek's language models with MCP-compatible applications, offering features like chat completion, custom model selection, and parameter control for enhancing language-based interactions.
    6
    2,198
    351
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for DeepSeek AI models (Chat + Reasoner). Supports multi-turn sessions, model fallback with circuit breaker, function calling, thinking mode, JSON output, multimodal input, and cost tracking.
    3
    2,810
    17
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    A robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.
    4
    17

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/xxxyz/DeepSeekHarness-MCP-Manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server