Exposes a stdio MCP server as native DeepSeek Harness tools. Ships with the official Microsoft Playwright MCP preset, so the agent browses through the Edge or Chrome you already have open, with your logins intact; any other stdio MCP command can be configured instead. Host-only, no client bundle, no npm dependencies. To drive your own browser, start Edge/Chrome with remote debugging and allow npx to fetch @playwright/mcp.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-mcp-host
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:imaused/dsh-mcp-bridge
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Expose any stdio MCP server as native DeepSeek Harness tools. Host-only plugin, no browser UI, no npm dependencies.
Built for one job: let a DSH agent drive a browser through the official Microsoft Playwright MCP server, attached to the Edge/Chrome you are already using.
What it does
- On load, spawns the MCP server once (default
npx --yes @playwright/mcp@latest --cdp-endpoint=msedge). - Calls
initialize+tools/list, converts each tool's JSON Schema into a DSH parameter schema, and registers it withctx.tools.register. - Every tool call is forwarded as
tools/call; the result is returned as JSON. Images (screenshots) are written to a temp file and returned as a path, not as base64.
Tools are renamed: browser_navigate becomes edge_navigate (prefix configurable).
Default tool set (12 of Playwright's 25)
edge_navigate, edge_navigate_back, edge_snapshot, edge_click, edge_type, edge_fill_form, edge_press_key, edge_tabs, edge_take_screenshot, edge_evaluate, edge_wait_for, edge_close.
The full set costs prompt space in every session, which is why it is not the default. Set MCP_BRIDGE_ALL=1 to expose everything.
Install
cd E:\dsh
.\rollback.cmd guard add "file:C:\path\to\dsh-mcp-host"
.\rollback.cmd health
Restart DSH (or rely on hot-load) and open a new session.
Configuration
| Env var | Default | Meaning |
|---|---|---|
MCP_BRIDGE_COMMAND |
npx --yes @playwright/mcp@latest --cdp-endpoint=msedge |
The MCP server command line (any stdio MCP server) |
MCP_BRIDGE_PREFIX |
edge |
Tool name prefix |
MCP_BRIDGE_ALL |
unset | 1 = register every tool the server offers |
MCP_BRIDGE_TOOLS |
unset | Comma-separated allow-list of MCP tool names |
MCP_BRIDGE_TIMEOUT |
120000 |
Per-call timeout (ms) |
MCP_BRIDGE_INIT_TIMEOUT |
30000 |
Startup timeout (ms) |
Prerequisite for the Edge/Chrome you are already using
Open edge://inspect/#remote-debugging (or chrome://inspect/#remote-debugging) and enable Allow remote debugging for this browser instance. Then --cdp-endpoint=msedge (or =chrome) attaches to that running browser with your logins and extensions. Without the toggle, Playwright launches a fresh browser instead.
Failure behaviour
If the MCP server cannot start or does not answer, the plugin registers nothing and logs the reason 鈥?it never throws, so it cannot take the host boot down. Check MCP_BRIDGE_INIT_TIMEOUT and the stderr tail printed in the DSH console.
Privacy
The bridge itself makes no network calls. It spawns exactly one child process (the MCP server you configured) and forwards bytes between it and the tool call. With --cdp-endpoint, the MCP server attaches to your existing browser, which means it can see and act on the tabs you have open 鈥?treat that as giving the agent your browser session.
License
MIT.
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 35014
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
superdesigndev/treg★ 5944
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
T-Auto/dsh-ops★ 3709
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1141
Tencent CloudBase backend for DeepSeek Harness — scaffold and deploy full-stack apps from chat, render query results as table cards with paging, sorting and CSV export, preview a deployment on its domain, and call the CloudBase MCP toolset (`mcp__cloudbase__*`) with device-code login.
sixtysevenlf/dsh-blender-plugin★ 1019
Lets a DSH agent drive a local Blender over a direct TCP channel with 16 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 186 ops across 28 families.
anysearch-team/anysearch-dsh★ 634
AnySearch-powered real-time web and vertical search provider for DeepSeek Harness.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.