l33tdawg/dsh-workbench ↗★ 0

@l33tdawg/dsh-workspace-mcp

自动注册工作区配置文件中声明的MCP服务 适合需要根据当前工作区动态加载和挂载MCP工具链的开发者。

套件
@l33tdawg/dsh-workspace-mcp
相容性
待驗證
Harness 依賴範圍
*
版本
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].