dsh-tools-mcp
dsh-tools-mcp
Извлекает и оборачивает инструменты минимального режима (minimal) и стандартного режима (standard) из deepseek-harness (открытый agent harness от DeepSeek AI) в сервер MCP (Model Context Protocol), управляя тем, какой набор инструментов будет доступен, через параметр --mode.
Схемы инструментов, описания и выходные обёртки (например, формат
<path>/<type>/<content>дляread, семантика view/create/str_replace/insert дляstr_replace_editor, маркер[exit code: N]) точно воспроизведены из файлаapps/cli/config/agent-presets/{minimal,standard}/agent.cordis.ymlисходного репозитория и соответствующих реализацийpackages/*/tool-*.
Режимы и соответствие инструментов
Режим | Параметр | Инструменты |
Минимальный режим |
| Постоянный shell ( |
Стандартный режим |
|
|
Стандартный режим также поддерживает --with-web-fetch для дополнительного раскрытия web_fetch (в оригинальном стандартном пресете по умолчанию 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-mcpКонфигурация MCP-клиента
// 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"]
}
}
}Обе точки входа можно зарегистрировать одновременно, выбирая минимальный/стандартный набор инструментов по необходимости.
Все параметры
--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 | Терминал PTY node-pty | Долгоживущий процесс через stdio-каналы (без интерактивного приглашения, состояние эквивалентно) |
| Мост вопросов в UI dsh | При MCP stdio невозможна синхронная интеракция; возвращает текст вопроса и указывает модели пересказать его пользователю |
| Поток утверждения в UI | Флаг на сервере + возврат текста плана |
subagent_*/workflow/ralph | Зависит от рантайма dsh (LLM-субагенты, движок рабочих процессов) | Не обёрнуты — требуется полный рантайм dsh, см. ниже |
Движок grep | Встроенный бинарник ripgrep | Реализация на node-регулярных выражениях (эквивалентна для распространённого синтаксиса, часть возможностей ripgrep не поддерживается) |
Не обёрнутые инструменты (инструменты, связанные с рантаймом в оригинальном standard preset, требуют полный 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, ветка 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