dsh-tools-mcp
Provides web search functionality via DuckDuckGo, allowing agents to perform web searches without requiring an API key.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dsh-tools-mcpStart a persistent shell and runls -la, then show the output."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dsh-tools-mcp
Extract and wrap the tools from minimal mode and standard mode in deepseek-harness (DeepSeek AI's open-source agent harness) as an MCP (Model Context Protocol) server, with the --mode parameter controlling which tool set is exposed.
The tool schemas, description texts, and output envelopes (such as the
<path>/<type>/<content>format ofread, the view/create/str_replace/insert semantics ofstr_replace_editor, and the[exit code: N]marker) are all faithfully reproduced from the original repository'sapps/cli/config/agent-presets/{minimal,standard}/agent.cordis.ymland its correspondingpackages/*/tool-*implementations.
Mode and Tool Mapping
Mode | Parameter | Tools |
Minimal mode |
| Persistent shell ( |
Standard mode |
|
|
Standard mode also supports --with-web-fetch to additionally expose web_fetch (the original standard preset defaults to fetch: false).
Related MCP server: deepseek-agent-mcp
Quick Start
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 Configuration
// 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"]
}
}
}Both entry points can be registered simultaneously, and you can choose the minimal or standard tool set as needed.
All Parameters
--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 accepts tool names or suite names to expose a subset as needed:
# 只要文件相关
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 names: shell (persistent shell), one-shot, fs, search, jobs, todo, web, ask-user, goal, plan, skill.
Design Notes
Persistent shell: No node-pty dependency; uses stdio pipes to drive a long-running
bash/powershellchild process; commands are wrapped with random UUID markers to reliably capture completion status and exit codes; state such ascd/exportis maintained across calls; automatically resets on timeout or shell exit (consistent with the originaltool-bash-persistentsemantics).Path safety: By default, file tools only allow access to paths within the
--cwdworkspace; out-of-bounds access raises an error prompting the use of--allow-outside-root.web_search defaults to DuckDuckGo (no API key required); for users in mainland China, it is recommended to use
--proxy http://127.0.0.1:7897, or switch to--search-provider tavily --search-api-key <key>.All state is in-process (session-level): todo/goal/plan/background job state lives with the server process lifecycle and is cleared on restart—equivalent to the original "session-level state."
Differences from the Original dsh
Item | Original dsh | This MCP wrapper |
Persistent shell | node-pty PTY terminal | stdio pipe long-running process (no interactive prompt, state maintained equivalently) |
| dsh UI question bridge | Synchronous interaction is not possible under MCP stdio; returns the question text and instructs the model to relay it to the user |
| UI approval flow | Server-side flag + plan text callback |
subagent_*/workflow/ralph | Depends on the dsh runtime (LLM sub-agents, workflow engine) | Not wrapped—requires the full dsh runtime, see below |
grep engine | Built-in ripgrep binary | node regex implementation (common syntax is equivalent; some ripgrep features are not supported) |
Unwrapped tools (runtime-coupled tools in the original standard preset, requiring the full dsh runtime): subagent_control, list_agents, subagent, subagent_fork, workflow, ralph. For these capabilities, please use the deepseek-harness itself.
Testing
npm run build
npm test # 冒烟测试:两种模式工具暴露 + 核心工具行为 + --tools 覆写
node scripts/state-test.mjs # 持久 shell 状态保持 / 退出码 / 优雅重置(PROXY=... 可测 web_search)
node scripts/bash-test.mjs # bash 后端验证Source Code Reference
Extracted from deepseek-ai/deepseek-harness (MIT License, master branch):
Mode definitions:
apps/cli/config/agent-presets/minimal/agent.cordis.yml,.../standard/agent.cordis.ymlTool implementations:
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, etc.
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