dsh-mcp-manager
dsh-mcp-manager

Надежный менеджер 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, блокировка записи для каждого файла
Как это работает
Компонент | Файл | Роль |
Исходный код плагина-хоста |
| Исходный код TypeScript (документированная форма плагина); сборка с помощью |
Скомпилированный плагин-хост |
| Плагин Cordis в объектной форме: CRUD для файлов патчей + 4 инструмента модели + точный маршрут |
Клиентский бандл |
| Модуль браузера: регистрирует страницу настроек; вызывает хост через |
Строка загрузчика | добавляется в | включает точку входа хоста; сервис клиентских модулей сканирует включенные записи и обслуживает клиентский бандл |
Запись загрузчика является единой точкой композиции для обеих частей — никаких изменений в распространяемых пакетах 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). Шаги установки:
скопировать пакет в
<dshHome>/local-packages/dsh-mcp-manager(оригинальный источник, хранящийся внеnode_modules, чтобы обновления DSH никогда его не затрагивали)скопировать его в
<dshHome>/profiles/node_modules/dsh-mcp-manager(обычная копия намеренно — символическая ссылка заставила бы Node ESM разрешать реальный путь плагина, где@deepseek-ai/dsh-toolsне может быть найден)добавить строку загрузчика в
profiles/<profile>/cordis.patch.yml(идемпотентно; сохраняет патч как корректный массив верхнего уровня)
Windows (PowerShell):
.\dsh-mcp-manager\install.ps1 # default: ~/.dsh, web profile
# or: .\install.ps1 -DshHome D:\path\.dsh -Profile webmacOS / 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 | результат | |
|
|
| |
| `{serverName, transport, url | command, args?, headers?, env?, level, enabled?}` |
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
Инструменты модели
Зарегистрированы на хосте с помощью ctx.tools.register(defineTool(...)) (стандартные @deepseek-ai/dsh-tools):
инструмент | описание | ||
| вывести список всех настроенных MCP-серверов (уровень, состояние включения, статус загрузчика, количество инструментов) | ||
| включить / отключить один сервер (id, level, enabled) | ||
| перезапустить один сервер (id, level) | ||
| добавить сервер (serverName, transport, url | command, …, level) |
Примечания / ограничения
HTTP-маршрут не аутентифицирован на локальном веб-сервере — это нормально для локального однопользовательского компьютера; не открывайте веб-порт DSH публично.
Управляемые строки имеют маркеры
# dsh-mcp-manager:server:<id>; строка загрузчика — это блокinsert, добавляющийid: mcp-manager, name: dsh-mcp-manager— диалект патчей DSH рассматривает простую строку- id:как переопределение существующей записи (молча пропускается, если отсутствует), поэтому добавление плагина требует формыinsert.Если запущенная веб-страница предшествует установке, для клиентского модуля требуется обновление страницы или перезапуск DSH (граф загрузки строится при загрузке страницы).
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
- AlicenseAqualityBmaintenanceEnables 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.62,198351MIT
- AlicenseAqualityAmaintenanceMCP 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.32,81017MIT
- FlicenseAqualityCmaintenanceA robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.417
- Alicense-qualityCmaintenanceEnables LLMs to manage MCP server configurations, including listing, enabling, disabling, and version control.10MIT
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
A MCP server built for developers enabling Git based project management with project and personal…
Cloud-hosted MCP server for durable AI memory
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/xxxyz/DeepSeekHarness-MCP-Manager'
If you have feedback or need assistance with the MCP directory API, please join our Discord server