Skip to main content
Glama
xxxyz

dsh-mcp-manager

by xxxyz

dsh-mcp-manager

English · 中文

dsh-mcp-manager MCP Manager settings page

Надежный менеджер MCP-серверов для DeepSeek Harness (DSH) — плагин-загрузчик композиции (не динамический сессионный плагин), поэтому он переживает перезапуски и обновления DSH.

Разработан в соответствии со стандартом разработки плагинов DSH (см. официальную документацию: 第一个插件, 开发一个工具):

  • плагин Cordis в объектной форме (export default { name, inject, apply })

  • обязательные сервисы объявляются в inject — фреймворк гарантирует, что они готовы до выполнения apply, и перезагружает плагин, если один из них исчезает (именно это обеспечивает работу плагина после обновлений DSH)

  • возможности, предоставляемые агенту, реализованы как зарегистрированные инструменты модели с помощью ctx.tools.register(defineTool(...)): mcp_manager_list, mcp_manager_set_enabled, mcp_manager_restart, mcp_manager_add

  • возможности пользовательского интерфейса реализованы через точный маршрут webServer (POST /dsh-mcp-manager/api), используемый клиентской частью

Возможности:

  • Страница Настройки → MCP управление (добавляется клиентской частью)

  • Хост-часть управляет строками @deepseek-ai/dsh-mcp-client в реальных файлах патчей:

    • Уровень проекта~/.dsh/profiles/<profile>/cordis.patch.yml

    • Глобальный~/.dsh/cordis.patch.yml

    • добавление / редактирование / включение / отключение / перезапуск / удаление, живая проверка количества инструментов, экспорт/импорт JSON, блокировка записи для каждого файла

Как это работает

Компонент

Файл

Роль

Исходный код плагина-хоста

src/index.ts

Исходный код TypeScript (документированная форма плагина); сборка с помощью npm run build (tsc)

Скомпилированный плагин-хост

lib/index.js (main)

Плагин Cordis в объектной форме: CRUD для файлов патчей + 4 инструмента модели + точный маршрут webServer /dsh-mcp-manager/api (JSON {op, args}{ok, ...})

Клиентский бандл

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

Модуль браузера: регистрирует страницу настроек; вызывает хост через fetch('/dsh-mcp-manager/api')

Строка загрузчика

добавляется в cordis.patch.yml профиля

включает точку входа хоста; сервис клиентских модулей сканирует включенные записи и обслуживает клиентский бандл

Запись загрузчика является единой точкой композиции для обеих частей — никаких изменений в распространяемых пакетах DSH. Сам пакет является платформонезависимым (чистый JS; разделители путей определяются во время выполнения), поэтому работает на Windows, macOS и Linux. Сборка (npm run build) требует devDependencies (typescript, @deepseek-ai/cordis, @deepseek-ai/dsh-tools, @types/node); установленному пакету они не нужны.

Related MCP server: Deepseek MCP Server

Установка (любая платформа)

Самый быстрый способ — одной командой, через npm (требуется 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

Все флаги передаются в обоих вариантах: npx -y @xxxyz/dsh-mcp-manager --dsh-home /path/.dsh --profile web --repair --port 3080.

Имя пакета npm: @xxxyz/dsh-mcp-manager (имя dsh-mcp-manager без префикса занято в npm другим пакетом). Имя развернутого плагина по-прежнему dsh-mcp-manager — npm/npx является только каналом доставки; установщик копирует файлы в те же фиксированные расположения, указанные ниже.

Альтернатива без npm — напрямую с GitHub:

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

Альтернатива — запустить скрипты установщика из исходного репозитория (все установщики используют один общий кроссплатформенный файл логики, install.mjs). Шаги установки:

  1. скопировать пакет в <dshHome>/local-packages/dsh-mcp-manager (оригинальный источник, хранящийся вне node_modules, чтобы обновления DSH никогда его не затрагивали)

  2. скопировать его в <dshHome>/profiles/node_modules/dsh-mcp-manager (обычная копия намеренно — символическая ссылка заставила бы Node ESM разрешать реальный путь плагина, где @deepseek-ai/dsh-tools не может быть найден)

  3. добавить строку загрузчика в profiles/<profile>/cordis.patch.yml (идемпотентно; сохраняет патч как корректный массив верхнего уровня)

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

Любая платформа (напрямую):

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

Затем перезапустите DSH и откройте Настройки → MCP управление. Четыре инструмента mcp_manager_* станут доступны модели после этого перезапуска.

Удаление (любой метод):

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

затем перезапустите DSH. Удаление удаляет развернутую копию, оригинальный источник в local-packages и строку загрузчика.

После обновления DSH: --repair

Обновление DSH (или нарушенное состояние HMR) может привести к тому, что хост-часть плагина будет выгружена, хотя файлы остаются на месте. Одна команда исправляет это — заново копирует пакет из источника записи, увеличивает config.version в строке загрузчика, чтобы принудительно переприменить HMR, затем опрашивает API, пока не получит ответ:

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 возвращает успех только тогда, когда POST /dsh-mcp-manager/api снова отвечает {ok:true}. Если API все еще не отвечает через 30 секунд, перезапустите DSH один раз (загрузчик всегда переимпортирует свежие данные при загрузке).

Справочник API

Все операции — POST /dsh-mcp-manager/api с {"op": "<op>", "args": {...}}, с того же источника.

op

args

результат

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[]}

Инструменты модели

Зарегистрированы на хосте с помощью ctx.tools.register(defineTool(...)) (стандартные @deepseek-ai/dsh-tools):

инструмент

описание

mcp_manager_list

вывести список всех настроенных MCP-серверов (уровень, состояние включения, статус загрузчика, количество инструментов)

mcp_manager_set_enabled

включить / отключить один сервер (id, level, enabled)

mcp_manager_restart

перезапустить один сервер (id, level)

mcp_manager_add

добавить сервер (serverName, transport, url

command, …, level)

Примечания / ограничения

  • HTTP-маршрут не аутентифицирован на локальном веб-сервере — это нормально для локального однопользовательского компьютера; не открывайте веб-порт DSH публично.

  • Управляемые строки имеют маркеры # dsh-mcp-manager:server:<id>; строка загрузчика — это блок insert, добавляющий id: mcp-manager, name: dsh-mcp-manager — диалект патчей DSH рассматривает простую строку - id: как переопределение существующей записи (молча пропускается, если отсутствует), поэтому добавление плагина требует формы insert.

  • Если запущенная веб-страница предшествует установке, для клиентского модуля требуется обновление страницы или перезапуск DSH (граф загрузки строится при загрузке страницы).

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