Skip to main content
Glama

dsh-tools-mcp

Die Tools des Minimalmodus (minimal) und des Standardmodus (standard) aus deepseek-harness (dem von DeepSeek AI als Open Source veröffentlichten Agent-Harness) werden extrahiert und als MCP (Model Context Protocol)-Server bereitgestellt. Über den Parameter --mode wird gesteuert, welche Werkzeuggruppe exponiert wird.

Die Tool-Schemata, Beschreibungstexte und Ausgabeformate (z. B. das Format <path>/<type>/<content> von read, die Semantik von view/create/str_replace/insert in str_replace_editor sowie die Markierung [exit code: N]) wurden originalgetreu aus den agent.cordis.yml-Dateien von minimal bzw. standard im Original-Repository unter apps/cli/config/agent-presets und aus den entsprechenden Implementierungen unter packages/*/tool-* übernommen.

Modus- und Tool-Übersicht

Modus

Parameter

Tools

Minimalmodus

--mode minimal

Persistente Shell (POSIX: bash, win32: pwsh, Zustand bleibt über Aufrufe hinweg erhalten) + str_replace_editor

Standardmodus

--mode standard

bash/pwsh (einmalige Ausführung), read, write, edit, read_image, glob, grep, job_output/job_list/job_kill, todo_write, ask_user_question, web_search, get_goal/create_goal/update_goal, plan_mode/exit_plan_mode, skill

Der Standardmodus unterstützt zusätzlich --with-web-fetch, um web_fetch zusätzlich zu exponieren (das ursprüngliche Standard-Preset hat standardmäßig fetch: false).

Related MCP server: deepseek-agent-mcp

Schnellstart

cd dsh-tools-mcp
npm install
npm run build          # 输出到 dist/

# 极简模式
node dist/index.js --mode minimal --cwd D:/develop/project/dsh-tools-mcp

# 标准模式
node dist/index.js --mode standard --cwd D:/develop/project/dsh-tools-mcp

MCP-Client-Konfiguration

// mcp.json / WorkBuddy 自定义连接器
{
  "mcpServers": {
    "dsh-minimal": {
      "command": "node",
      "args": ["D:/develop/project/dsh-tools-mcp/dist/index.js", "--mode", "minimal", "--cwd", "D:/develop/project/dsh-tools-mcp"]
    },
    "dsh-standard": {
      "command": "node",
      "args": ["D:/develop/project/dsh-tools-mcp/dist/index.js", "--mode", "standard", "--cwd", "D:/develop/project/dsh-tools-mcp"]
    }
  }
}

Beide Einstiege können gleichzeitig registriert werden; je nach Bedarf wird das Minimal- oder Standard-Toolset gewählt.

Alle Parameter

--mode <minimal|standard>    Agent 预设模式(默认 minimal)
--cwd <path>                 工作区根目录,文件工具基于它解析相对路径(默认 process.cwd())
--shell <auto|bash|pwsh>     shell 后端;auto = win32 用 pwsh,其余用 bash
--shell-timeout-ms <n>       持久 shell 单条命令超时(默认 300000)
--max-output-chars <n>       输出截断上限(默认 16000)
--skills-dir <path>          启用 skill 工具,扫描该目录下的 SKILL.md 子目录
--search-provider <duckduckgo|tavily|bing>   web 搜索后端(默认 duckduckgo)
--search-api-key <key>       tavily/bing 的 API key
--proxy <url>                web 工具的 HTTP(S) 代理,如 http://127.0.0.1:7897
--with-web-fetch             额外暴露 web_fetch
--allow-outside-root         允许文件工具访问 --cwd 之外的路径(默认禁止)
--tools <a,b,c>              显式指定工具/套件清单覆盖模式(见下)
--help / --version

--tools-Override

--tools akzeptiert Tool-Namen oder Suite-Namen, um je nach Bedarf eine Teilmenge zu exponieren:

# 只要文件相关
node dist/index.js --mode standard --tools read,write,edit,glob,grep

# 只要极简模式的编辑器 + 后台任务
node dist/index.js --mode minimal --tools str_replace_editor,job_output,job_list,job_kill

Suite-Namen: shell (persistente Shell), one-shot, fs, search, jobs, todo, web, ask-user, goal, plan, skill.

Design-Hinweise

  • Persistente Shell: keine node-pty-Abhängigkeit; mit stdio-Pipes wird ein langlebiger bash/pwsh-Childprozess gestartet. Befehle werden mit zufälligen UUID-Marken umhüllt, um den Abschlussstatus und den Exit-Code zuverlässig zu erfassen. Zustände wie cd/export bleiben über Aufrufe hinweg erhalten; bei Zeitüberschreitung oder Shell-Ende erfolgt automatisch ein Reset (entspricht der Semantik des Originals tool-bash-persistent).

  • Pfadsicherheit: Datei-Tools erlauben standardmäßig nur Pfade innerhalb des Arbeitsbereichs von cwd; bei Zugriff außerhalb wird ein Fehler ausgegeben, der den Hinweis --allow-outside-root enthält.

  • web_search standardmäßig DuckDuckGo (ohne API-Schlüssel); für Netzwerke in China empfiehlt sich --proxy http://127.0.0.1:7897 oder ein Wechsel zu --search-provider tavily --search-api-key <key>.

  • Der gesamte Zustand liegt prozessintern (Session-Ebene) vor: Der Zustand von todo/goal/plan/Hintergrundtasks folgt dem Lebenszyklus des Serverprozesses und ist nach einem Neustart wieder leer – equivalent zum „Session-Level-Zustand“ der Originalfassung.

Unterschiede zum ursprünglichen dsh (ausdrücklich dokumentiert)

Punkt

Original dsh

Dieser MCP-Wrapper

Persistente Shell

node-pty-PTY-Terminal

stdio-Pipe-Dauerprozess (keine interaktive Eingabeaufforderung, äquivalenter Zustand)

ask_user_question

Fragesteg der dsh-UI

Unter MCP stdio keine synchrone Interaktion möglich; gibt den Fragetext zurück und zur Modell an den Benutzer weiterzugeben

plan_mode/exit_plan_mode

UI-Freigabefluss

Server-Flag + Planungstext-Rückgabe

subagent_*/workflow/ralph

erforderte dsh-Runtime (LLM-Subaboxes, Workflow-Engine)

Nicht implementiert – benötigte vollständige dsh-Runtime, s.u.

grep-Engine

integriertes ripgrep-Binary

Node-RegExp-Implementierung (bei gelieferter Syntax äquivalent, einige ripgrep-Features nicht ideal unterstützt)

Nicht gewrappt (die Original tools aus dem Standard-Preset, die an die Laufzeitumgebung gekoppelt sind und eine vollständige dsh-Runtime benötigen): subagent_control, list_agents, subagent, subagent_fork, workflow, ralph. Wenn Sie diese benötigen, verwenden Sie direkt deepseek-harness.

Tests

npm run build
npm test          # 冒烟测试:两种模式工具暴露 + 核心工具行为 + --tools 覆写
node scripts/state-test.mjs   # 持久 shell 状态保持 / 退出码 / 优雅重置(PROXY=... 可测 web_search)
node scripts/bash-test.mjs    # bash 后端验证

Quellcode-Referenz

Extrahiert aus deepseek-ai/deepseek-harness (MIT-License, master branch):

  • Modusdefinition: apps/cli/config/agent-presets/{minimal,standard}/agent.cordis.yml

  • Tool-Implementierungen: packages/shell/tool-bash-persistent, packages/fs/tool-str-replace-editor, packages/fs/tool-fs, packages/fs/tool-fs-search, packages/jobs/tool-jobs, packages/todo/tool-todo, packages/web-tool-web, packages/interaction/tool-ask-user, packages/goal/tool-goal, packages/plan/plan-mode, packages/skill/tool-skill usw.

Install Server
F
license - not found
A
quality
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

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

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

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