Skip to main content
Glama

dsh-mcp-server

Предоставляет агента DeepSeek Harness (dsh, кодирующий агент с полным набором инструментов: файлы, терминал, веб-поиск, субагенты, рабочие процессы) в качестве локально доступного модельного бэкенда через Model Context Protocol, а также интерфейсы «пойми меня / измени меня».

┌────────────────────────────┐        stdio / HTTP         ┌──────────────────────────────┐
│  其他 Agent / MCP 客户端     │  ────────────────────────▶  │        dsh-mcp-server         │
│  (Claude Desktop, Cursor,  │                            │  方向A:驱动我(消耗我的额度)  │
│   Claude Code, 自定义程序)   │                            │  方向B:读懂我/改造我(便宜)   │
└────────────────────────────┘                            └──────────────┬───────────────┘
                                                                         │ spawn
                                                              ┌──────────▼───────────────┐
                                                              │  dsh Agent(完整工具链)    │
                                                              │  DeepSeek 模型(默认)      │
                                                              └──────────────────────────┘

Два направления

Направление A: управляй мной — расходует квоту DeepSeek Harness, требуется подтверждение пользователя

Каждый вызов dsh_ask / dsh_converse / dsh_tool запускает полноценный процесс агента dsh, который (с помощью моделей DeepSeek) выполняет реальную работу: читает и пишет файлы, запускает команды, ищет в вебе, отправляет субагентов. Это расходует токенную квоту DeepSeek Harness, поэтому:

  1. Вызов сначала возвращает confirmation_required (в этот момент квота не расходуется) и явно сообщает «будет израсходована квота DeepSeek Harness»;

  2. Вызывающая сторона обязана показать этот запрос пользователю (MCP-клиенты обычно автоматически показывают вызовы инструментов);

  3. После одобрения пользователем вызывается dsh_confirm(requestId, approve=true) — только тогда выполнение действительно происходит; либо dsh_deny(requestId) отменяет запрос.

Каждый ожидающий подтверждения запрос также выводит заметное предупреждение в stderr сервера. Неподтверждённые запросы истекают через 10 минут.

⚠️ Переключатель риска: DSH_MCP_AUTO_APPROVE=1 пропускает шлюз подтверждения (подходит для автономных/полностью доверенных сред). Отдельный вызов также может передать confirm: false для пропуска.

Направление B: пойми меня / измени меня — расходует токены другой стороны, на стороне сервера очень дёшево

Когда другие агенты хотят понять «что я такое, как я спроектирован, как создавать для меня плагины/менять конфигурацию», они используют эти интерфейсы (сервер выполняет только локальное чтение/проверку, не расходуя квоту моделей dsh; модель другой стороны считывает результат в свой контекст, расходуя собственные токены):

Интерфейс

Тип

Содержимое

dsh_self

инструмент

Полный снимок дизайна: бэкенд-модель/версия, шаблон персоны, правила plan-mode, 81 подключённая строка плагинов, пути рабочей области и конфигурации, имена ключей учётных данных (значения замаскированы), обнаруживаемые навыки

dsh://self/persona

ресурс

Персона и компоненты системного промпта (шаблоны, лимиты инструкций, полный текст plan-mode)

dsh://self/tools

ресурс

Список подключённых строк плагинов + доступность семейств инструментов

dsh://self/settings

ресурс

$DSH_HOME/settings.yaml (секреты замаскированы)

dsh://self/credentials

ресурс

Имена ключей настроенных учётных данных (значения никогда не раскрываются)

dsh://self/skills

ресурс

Список навыков (встроенные пресеты + пользовательские/проектные навыки)

dsh://self/skills/{name}

шаблон ресурса

Текст SKILL.md конкретного навыка

dsh_plugin_contract

инструмент

Контракт на модификацию плагинов/конфигурации для агентов, которые «хотят меня изменить» (форматы и правила безопасности для profile/patch/bundle/skill)

dsh_patch_config

инструмент

Предложение изменения конфигурации: по умолчанию dry-run с проверкой собственным парсером dsh (без записи на диск); при реальной записи создаётся резервная копия исходного файла + требуется подтверждение пользователя

Типичное использование: внешний агент сначала читает ресурсы dsh://self/*, чтобы понять дизайн (тратя свои токены), затем вызывает dsh_patch_config для предложения изменений конфигурации (например, смена модели, подключение нового навыка, отключение плагина) или пишет локальный плагин dsh на основе dsh_plugin_contract.

Related MCP server: dsh-orchestrator

Быстрый старт

cd E:\DeepSeek Harness\dsh-mcp
npm install          # 安装 @modelcontextprotocol/sdk

# 冒烟测试:不经过 MCP,直接验证 dsh Agent 后端可用
node scripts/smoke.mjs

# 以 stdio 传输启动服务器(MCP 客户端的标准方式)
node src/index.js

Сервер автоматически обнаруживает локально установленный dsh (сканирует кэш npx / кэш npm / текущий каталог), настройка не требуется. Если не найден, укажите через переменную окружения: DSH_MCP_DSH_BIN=C:\...\@deepseek-ai\dsh\lib\bin.js.

Подключение к Claude Desktop

Отредактируйте %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "dsh": {
      "command": "node",
      "args": ["E:\\DeepSeek Harness\\dsh-mcp\\src\\index.js"]
    }
  }
}

Подключение к Claude Code / Cursor / VS Code

Используйте examples/claude-code.json, examples/cursor-mcp.json, examples/vscode.json соответственно.

Подключение собственного агента (через HTTP)

node src/index.js --transport http --port 3005
# 端点:http://127.0.0.1:3005/mcp  (Streamable HTTP)

Список инструментов

Инструмент

Направление

Описание

dsh_ask

A (расходует квоту)

Разовая задача передаётся новому агенту dsh, возвращает итоговый ответ + метаданные. Требует подтверждения.

dsh_converse

A (расходует квоту)

Многораундовый диалог (сервер хранит историю по sessionId и внедряет её). Требует подтверждения.

dsh_tool

A (расходует квоту)

Агент напрямую вызывает конкретный инструмент и возвращает результат как есть. Требует подтверждения.

dsh_confirm

Одобрить/отменить ожидающий запрос (approve: true/false).

dsh_pending

Список запросов, ожидающих подтверждения (диагностика).

dsh_new_session

Сгенерировать новый sessionId.

dsh_reset

Очистить память сессии.

dsh_status

Диагностика: версия dsh, модель, семейства инструментов, число ожидающих подтверждения и т.д.

dsh_self

B

Снимок дизайна (персона/строки плагинов/пути/навыки/имена ключей учётных данных).

dsh_patch_config

B

Проверка/запись патча конфигурации (dry-run по умолчанию, запись на диск требует подтверждения + резервную копию).

dsh_plugin_contract

B

Документ контракта на модификацию плагинов и конфигурации.

Переменные окружения

Переменная

Значение по умолчанию

Описание

DSH_MCP_DSH_BIN

автообнаружение

Абсолютный путь к @deepseek-ai/dsh/lib/bin.js

DSH_MCP_PROFILE

headless

Профиль запуска dsh

DSH_MCP_TIMEOUT_MS

300000

Жёсткий таймаут одного вызова агента

DSH_MCP_MAX_TASK_CHARS

30000

Верхний предел длины текста задачи (командная строка Windows ~32k)

DSH_MCP_MAX_HISTORY_CHARS

12000

Бюджет внедрения истории для dsh_converse

DSH_MCP_CONCURRENCY

4

Верхний предел параллельных процессов dsh

DSH_MCP_AUTO_APPROVE

не задано

1 = пропустить шлюз подтверждения (опасно, с осторожностью)

DSH_MCP_APPROVAL_TTL_MS

600000

Время истечения ожидающих подтверждения запросов

DSH_PERMISSION_MODE

workspace-write

Режим прав, передаваемый агенту dsh

Права и безопасность

  • Агент dsh наследует систему прав dsh: по умолчанию workspace-write (запись только в рабочий каталог), можно установить read-only / danger-full-access.

  • Все выполнения направления A проходят через шлюз подтверждения, расход квоты раскрывается явно.

  • Направление B: пути только для чтения не маскируют значения секретов; путь записи (dsh_patch_config) по умолчанию dry-run, перед записью на диск автоматически создаётся резервная копия, требуется подтверждение, и предупреждается, что слой home влияет на все профили (включая запущенный Web UI).

  • Сессии сохраняются в ~/.dsh/sessions, учётные данные общие — ~/.dsh/.credentials.yaml.

  • Сервер слушает только локальную машину (канал stdio / 127.0.0.1).

Смена модели (типичное использование направления B)

Модель по умолчанию берётся из agent-default-model dsh (локально deepseek-official / deepseek-v4-flash). Способы изменения:

  1. Через dsh_patch_config (рекомендуется): отправьте патч в слой home, после успешной проверки dry-run и подтверждения пользователем он записывается (с автоматической резервной копией). Пример патча:

    - id: agent-default-model
      config:
        provider: deepseek-official
        model: deepseek-chat
  2. Изменение глобальных настроек: отредактируйте секцию agent-default-model в ~/.dsh/settings.yaml.

  3. Смена целого профиля: DSH_MCP_PROFILE указывает другой профиль (другой набор инструментов/персона).

Известные ограничения

  • Каждый вызов направления A — новый процесс (около 2~3 секунд холодного старта + ответ модели), без стриминга, текст задачи ≤ ~30k символов.

  • Шлюз подтверждения зависит от того, что вызывающая сторона показывает confirmation_required пользователю; если вызывающая сторона — автономная программа и DSH_MCP_AUTO_APPROVE не задан, запросы будут висеть до истечения.

  • Количество ресурсов/инструментов: 6 ресурсов + 11 инструментов.

Разработка и тестирование

node scripts/smoke.mjs              # 仅测 dsh 后端(无 MCP)
node scripts/demo.mjs               # 演示:确认闸门 + 读懂我 + 改配置提议
node scripts/mcp-client-test.mjs    # stdio 端到端:闸门/拒绝/多轮/自省/patch/资源
node scripts/http-client-test.mjs   # HTTP 端到端(自动批准模式)

Структура каталогов

dsh-mcp/
├── src/
│   ├── index.js     # CLI 入口(stdio / HTTP 传输)
│   ├── server.js    # MCP 工具与资源注册
│   ├── dsh.js       # dsh 子进程运行器(spawn/超时/输出捕获/并发闸门)
│   ├── approvals.js # 确认闸门(额度披露、待确认队列、过期)
│   ├── self.js      # 自省:设计快照、技能发现、配置路径、插件契约
│   └── sessions.js  # 会话记忆与多轮提示组装
├── scripts/         # 冒烟 + 演示 + 端到端测试
└── examples/        # 各客户端接入配置
A
license - permissive license
Not graded
quality - not tested
C
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
    Not graded
    quality
    A
    maintenance
    Exposes DeepSeek Harness agent capabilities as an MCP server, letting any MCP client drive Harness to execute real coding tasks with structured results, context isolation, and parallel execution.
    8
    MIT
  • 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.
    281
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/NanGongWenTian01/dsh-mcp'

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