l33tdawg/dsh-workbench ↗★ 0

@l33tdawg/dsh-workspace-mcp

Register the MCP servers a workspace declares in .mcp.json with DeepSeek Harness, through its own mcp-client. 适合需要根据当前工作区动态加载和挂载MCP工具链的开发者。

패키지
@l33tdawg/dsh-workspace-mcp
호환성
미검증
Harness peer 범위
*
버전
0.3.0
최근 업데이트
2026. 10. 3.

같은 패키지 이름의 다른 저장소

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:l33tdawg/dsh-workbench

Configuration

FieldDefaultMeaning
root''Workspace to search. Empty means the Harness process working directory, which is the workspace the session was started in.
files['.mcp.json', '.dsh/mcp.json']Files to read, in order. On a shared server key, later files win and the loss is logged.
allowEnvfalseWhether files may resolve ${env:NAME} references at all.
env{}Values ${env:NAME} may resolve to, only consulted when allowEnv is true.
envOverrides{}Values forced onto every spawned server, overriding what the file declares.
perAgentfalseMount once per live root agent, in that agent's scope, from the workspace its session recorded.
sageunsetSAGE integration. {} mounts one SAGE server per workspace over stdio; url with tokenDirectory uses the running SAGE HTTP service instead. See SAGE integration.
clientModuleunsetThe @deepseek-ai/dsh-mcp-client namespace to mount. See below.
verbosefalseLog every file read and every server mounted.
toolCallTimeoutMs60000Timeout for one tool call or resource request.

Per-agent mounting

perAgent: true mounts the servers once per live root agent instead of once per process, into that agent's own tool scope and from the workspace its session recorded. A process-wide mount cannot be correct in a GUI host: there the Harness process working directory is the profile directory, not the session workspace, so every workspace resolves the same files and — for SAGE — derives the same profile-named agent. With this mode the workspace's own .mcp.json is read, and every child runs with that workspace as its cwd, which is what SAGE derives an agent identity from.

Substitutions

${workspaceFolder} and ${workspaceRoot} resolve to root; ${cwd} resolves to the entry's own cwd once set, otherwise root. A whole-value ${env:NAME} resolves to env[NAME].