dsh-tools-mcp
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>vonread, die Semantik von view/create/str_replace/insert instr_replace_editorsowie die Markierung[exit code: N]) wurden originalgetreu aus denagent.cordis.yml-Dateien vonminimalbzw.standardim Original-Repository unterapps/cli/config/agent-presetsund aus den entsprechenden Implementierungen unterpackages/*/tool-*übernommen.
Modus- und Tool-Übersicht
Modus | Parameter | Tools |
Minimalmodus |
| Persistente Shell (POSIX: |
Standardmodus |
|
|
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-mcpMCP-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_killSuite-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 langlebigerbash/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 wiecd/exportbleiben über Aufrufe hinweg erhalten; bei Zeitüberschreitung oder Shell-Ende erfolgt automatisch ein Reset (entspricht der Semantik des Originalstool-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-rootenthält.web_searchstandardmäßig DuckDuckGo (ohne API-Schlüssel); für Netzwerke in China empfiehlt sich--proxy http://127.0.0.1:7897oder 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) |
| Fragesteg der dsh-UI | Unter MCP stdio keine synchrone Interaktion möglich; gibt den Fragetext zurück und zur Modell an den Benutzer weiterzugeben |
| 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.ymlTool-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-skillusw.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that wraps DeepSeek's AI capabilities into standard MCP tools, supporting three authentication modes including free web-based usage without API keys.62,1981MIT
- FlicenseAqualityCmaintenanceMCP server that packages DeepSeek agents as callable tools, offering a bare model for quick Q&A and a full agent capable of executing real coding and file-modifying tasks in a workspace.2
- AlicenseNot gradedqualityAmaintenanceExposes 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.8MIT
- AlicenseNot gradedqualityBmaintenanceTurns DeepSeek Harness into an MCP server with tools for session management, agent execution, resources, and OAuth, plus browser automation and GitHub/GitLab integration.15MIT
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.
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/hqzqaq/dsh-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server