dsh-tools-mcp
dsh-tools-mcp
deepseek-harness(DeepSeek AI がオープンソース化した agent harness)から ミニマルモード(minimal) と スタンダードモード(standard) の tools を抽出し、MCP(Model Context Protocol) サーバーとしてラップします。--mode パラメータで公開するツールセットを制御します。
ツールの schema、説明文、出力エンベロープ(
readの<path>/<type>/<content>形式、str_replace_editorの view/create/str_replace/insert セマンティクス、[exit code: N]マーカーなど)は、すべて元リポジトリのapps/cli/config/agent-presets/{minimal,standard}/agent.cordis.ymlと対応するpackages/*/tool-*実装から忠実に再現しています。
モードとツール対照表
モード | パラメータ | ツール |
ミニマルモード |
| 永続 shell(POSIX は |
スタンダードモード |
|
|
スタンダードモードは --with-web-fetch により web_fetch を追加公開することもできます(元の standard プリセットはデフォルトで fetch: false)。
Related MCP server: deepseek-agent-mcp
クイックスタート
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 クライアント設定
// 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"]
}
}
}2つのエントリを同時に登録でき、必要に応じてミニマル/スタンダードのツールセットを選択できます。
全パラメータ
--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 オーバーライド
--tools はツール名またはスイート名を受け付け、必要に応じてサブセットを公開します:
# 只要文件相关
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スイート名:shell(永続 shell)、one-shot、fs、search、jobs、todo、web、ask-user、goal、plan、skill。
設計上の注意
永続 shell:node-pty に依存せず、stdio パイプで常駐
bash/powershell子プロセスを駆動します。コマンドはランダムな UUID マーカーで囲んで完了状態と終了コードを確実に捕捉します。cd/exportなどの状態は呼び出しをまたいで保持され、タイムアウトまたは shell 終了時に自動リセットされます(元のtool-bash-persistentセマンティクスと一致)。パス安全性:デフォルトのファイルツールは
--cwdワークスペース内のパスのみアクセスを許可し、範囲外の場合はエラーとなり--allow-outside-rootの追加を促します。web_search はデフォルトで DuckDuckGo(キー不要)。中国国内のネットワークでは
--proxy http://127.0.0.1:7897を推奨。または--search-provider tavily --search-api-key <key>に切り替えます。状態はすべてプロセス内(セッションレベル):todo/goal/plan/バックグラウンドタスクの状態はサーバープロセスのライフサイクルに従い、再起動するとクリアされます——元の「セッションレベル状態」と同等です。
元の dsh との差異(明確な説明)
項目 | 元の dsh | 本 MCP ラッパー |
永続 shell | node-pty PTY ターミナル | stdio パイプ常駐プロセス(対話プロンプトなし、状態保持は同等) |
| dsh UI 質問ブリッジ | MCP stdio では同期対話ができないため、質問テキストを返し、モデルにユーザーへ伝えるよう指示 |
| UI 承認フロー | サーバー側フラグ + プランテキストの返信 |
subagent_*/workflow/ralph | dsh ランタイムに依存(LLM サブエージェント、ワークフローエンジン) | 未ラップ——完全な dsh ランタイムが必要。詳細は下記参照 |
grep エンジン | 内蔵 ripgrep バイナリ | node 正規表現による実装(一般的な構文は同等、一部の ripgrep 機能は非対応) |
未ラップのツール(元の standard プリセット内のランタイム結合ツールで、完全な dsh runtime が必要):subagent_control、list_agents、subagent、subagent_fork、workflow、ralph。これらの機能が必要な場合は、deepseek-harness 本体を直接使用してください。
テスト
npm run build
npm test # 冒烟测试:两种模式工具暴露 + 核心工具行为 + --tools 覆写
node scripts/state-test.mjs # 持久 shell 状态保持 / 退出码 / 优雅重置(PROXY=... 可测 web_search)
node scripts/bash-test.mjs # bash 后端验证ソースコード参照
deepseek-ai/deepseek-harness(MIT License、master ブランチ)から抽出:
モード定義:
apps/cli/config/agent-presets/minimal/agent.cordis.yml、.../standard/agent.cordis.ymlツール実装:
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など
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