dsh-dispatch
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
dsh-dispatch
English | 中文
HTTP MCP Streamable dispatch server for DeepSeek Harness (DSH): parallel ACP workers, optional LLM review, and spend/send guardrails.
Bind address is hard-coded to 127.0.0.1 (local only). Auth is Bearer token from ./.token.
Requirements
Node.js ≥ 18
DeepSeek Harness (
dsh) installed locally, typically at~/.npm-global/lib/node_modules/@deepseek-ai/dsh
Override withDSH_INSTALL/DSH_HOMEif needed.
Related MCP server: dsh
Install
git clone https://github.com/16601134718/dsh-dispatch.git
cd dsh-dispatch
cp config.example.json config.json # optional: edit deny list
# Token: either copy .token.example → .token, or let the server auto-create .token on first start
chmod +x start.sh stop.sh approve.shOr run from a clone / checkout path with Node directly (node server.mjs).npx is not required; this package has no npm runtime dependencies of its own (it loads MCP/ACP/zod from your DSH install).
Start / stop
./start.sh # foreground
./start.sh -d # daemon (writes server.pid, logs to logs/server.out)
./stop.shDefault MCP URL: http://127.0.0.1:18790/mcp
Port override: DSH_DISPATCH_PORT=18790
Show health (needs Bearer token):
TOKEN=$(cat .token)
curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:18790/healthzMCP tools
Tool | Purpose |
| Dispatch a task to an existing DSH session id or |
| Follow up in the same session as a job / session id |
| Fan out multiple tasks across parallel ACP workers |
| Wait for one or more jobs ( |
| Full job result (text, tool_calls, usage, review) |
| Job list + worker pool |
| List real DSH sessions from local index (marks denied) |
| Dry-run guardrail check on task text |
| Service health |
Guardrails
Tasks matching spend money, external send/publish, or expose network are held as needs_confirmation.
Server writes
approvals/apr-xxxx.pending.jsonA human on the same machine runs:
./approve.sh apr-xxxxand typesYESResubmit the tool call with
approval_id: "apr-xxxx"
Runtime tool permissions that look risky are also denied inside the ACP worker.
Deny list (protected sessions)
Do not hardcode personal session ids in code. Use:
Env:
DSH_DISPATCH_DENY=prefix-or-id,anotherOr
config.json(seeconfig.example.json):deny_sessions,deny_title_patterns
Connect from Dot / Muse / Grok Bot
Point the MCP HTTP client at:
URL:
http://127.0.0.1:18790/mcpAuth:
Authorization: Bearer <contents of .token>Transport: MCP Streamable HTTP
The client and this server must reach the same loopback (same machine, or a secure local forward you set up yourself).
Optional tunnel (not required)
A tunnel (e.g. cloudflared) is optional and not part of the default setup. Prefer SSH port-forward or stay on localhost. Exposing this endpoint publicly is discouraged; guardrails treat tunnel/public-bind language as risky.
Environment
Variable | Default | Meaning |
|
| DSH data home |
|
| DSH package root |
|
| Listen port |
|
| Max parallel ACP children |
| (empty / config) | Comma-separated session id/prefix deny list |
|
| Optional JSON config path |
|
| Node binary for |
Safety notes
Never commits
.token,jobs.json,logs/,work/,approvals/, or pid files (see.gitignore).Does not write
~/.dsh/bridge/*or other bridge endpoint files.Does not spend money or send external messages by itself; such tasks need human
./approve.sh.
License
MIT © 2026 陈子龙 (16601134718)
中文
面向 DeepSeek Harness (DSH) 的 HTTP MCP Streamable 调度服务:多 ACP worker 并行、可选审查、以及花钱/对外发送护栏。
默认只监听 127.0.0.1,用 ./.token 做 Bearer 鉴权。
依赖
Node.js ≥ 18
本机已安装 DSH(可用
DSH_INSTALL/DSH_HOME覆盖路径)
安装与启动
git clone https://github.com/16601134718/dsh-dispatch.git
cd dsh-dispatch
cp config.example.json config.json # 可选:配置拒绝会话列表
chmod +x start.sh stop.sh approve.sh
./start.sh # 前台
./start.sh -d # 后台
./stop.shMCP 地址:http://127.0.0.1:18790/mcp
鉴权头:Authorization: Bearer <token>
MCP 工具
dsh_dispatch / dsh_followup / dsh_spawn / dsh_wait / dsh_result / dsh_status / dsh_sessions / dsh_guard_check / dsh_health
护栏
匹配「花钱 / 对外发送发布 / 暴露公网」的任务会变成 needs_confirmation,需本机执行 ./approve.sh apr-xxxx 并输入 YES,再用 approval_id 重提。
受保护会话请用环境变量 DSH_DISPATCH_DENY 或 config.json(见 config.example.json),不要把真实 session id 写进代码。
给 Dot / Muse / Grok Bot 连接
URL:
http://127.0.0.1:18790/mcpBearer:读取本目录
.token隧道(cloudflared 等)可选、非必需;默认建议仅本机或 SSH 端口转发。
许可
MIT © 2026 陈子龙 (16601134718)
Desktop GUI sessions (2026-10-29)
Dispatch prefers the DeepSeek Harness desktop API (session/create + session/prompt on localhost /api, authenticated with the Electron dsh-auth-* cookie). New sessions land in the untitled-folder workspace sidebar as session-… (format v4). See gui-client.mjs. Set DSH_DISPATCH_GUI=0 to force ACP fallback. Toonflow / fc9d02d8 remain denied.
Related MCP Connectors
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Streamable HTTP MCP server exposing planner flows, tasks, and squads.
Coordinate and verify OpenCode workers over MCP Streamable HTTP.
Streamable HTTP MCP gateway for NV oOS fleets — one API key, namespaced tools, quotas and policy.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes DeepSeek Harness tools to any MCP-compatible client over streamable HTTP, allowing allowlisted operations such as file read, glob, grep, and web search while preserving the harness's sandbox and approval pipeline.473 npm2MIT
- AlicenseNot gradedqualityBmaintenanceLets any MCP-capable coding harness (Cursor, Claude Code, Codex, Gemini CLI, VS Code/Copilot, opencode, and others) hand a self-contained task to a real, isolated DeepSeek Harness process that works in a chosen workspace with its own context window, model, and toolchain, then returns the final answer. Exposes task submission with time estimates and acceptance criteria, status polling with live progress and process-tree telemetry, graceful cancel and forced kill of whole process trees, and a health probe reporting concurrency, deadlines, and recent jobs.1MIT
- FlicenseAqualityCmaintenanceEnables MCP clients like Codex CLI and Claude Code to delegate tasks to a local DeepSeek Harness (dsh), with native Web transport for visible progress, model selection, and persistent long-running jobs, plus an ACP-compatible transport.6-
- AlicenseNot gradedqualityCmaintenanceExposes a DeepSeek Harness instance — either the whole runtime or one session chosen in the UI — as an MCP Streamable HTTP endpoint on the Harness Web server's origin. Lets other MCP-speaking agents such as Codex or Claude Code delegate tasks, list and read session transcripts, and cancel or inspect running turns using the Harness's own model, tools, workspace and sandbox policy.MIT