Universal Model Context Protocol (MCP) bridge for DeepSeek Harness: connects agents to stdio/sse/websocket MCP servers with a 10k dormant scale engine, sub-millisecond BM25 tool search, dynamic token budgeting, and a real-time web UI dashboard.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:menotbobbybrown/dsh-plugin-mcp
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
Universal Model Context Protocol (MCP) Bridge Plugin for DeepSeek Harness (
dsh)
dsh-plugin-mcp is an official-standard plugin for DeepSeek Harness that seamlessly connects your DeepSeek agents to the entire ecosystem of Model Context Protocol (MCP) servers with full Claude Code-level feature parity.
See our complete ROADMAP.md for current features and upcoming milestones.
Features
- 🔌 Universal MCP Support: Run any MCP server over
stdio,sse, orwebsocket. - 🚀 10,000+ Server Scale Engine: Dormant-by-default process pool with JIT worker activation and LRU idle process reaper (maintains <100MB RAM even with 10k servers).
- ⚡ Sub-Millisecond BM25 Inverted Index: Evaluates 20,000+ tool definitions across thousands of servers in <0.5ms.
- 🎯 Dynamic Token Budget Allocator: Strict context window capping (e.g. max 1,500 tokens) with progressive schema disclosure.
- 💾 Two-Tier Schema Cache (L1/L2): Instant memory cache + disk snapshot eliminates
tools/listhandshake delay on boots. - 📊 Enterprise Telemetry: High-resolution p50, p95, and p99 tool latency histograms and metrics.
- 📁 Multi-Scope Configurations: Automatically loads user global (
~/.dsh/mcp.json), project local (.dsh/mcp.json), and profile-level configurations. - 🛡️ Execution Permissions: Granular
allow,ask, anddenypermission rules for tool safety. - 🔒 Enterprise Security Engine: Automatic secrets redaction (API keys/bearer tokens), command injection guards, and path traversal defenses.
- 🚦 Circuit Breaker & Rate Limiting: Fault tolerance prevents runaway loops and token quota exhaustion on failing servers.
- 📜 Security Audit Logging: Structured JSON logging of all tool invocations, permissions verdicts, and safety events.
- 🔍 Semantic Tool Search: TF-IDF token relevance scoring ensures only relevant tools are injected into prompt context.
- 🗜️ Context Spillover Guard: Truncates massive outputs (>30k chars) and stores them as local artifacts with structured previews.
- 🛠️ Automatic Tool Bridging: Dynamically registers MCP tools into the DSH tool registry with JSON Schema validation.
- 📂 Resource & Prompt Bridge: Exposes MCP resources and prompt templates directly into agent context.
- ⚡ Resilient Execution: Isolated server lifecycles, per-server timeout controls, and non-blocking error handling.
- 🏷️ Clean Namespacing: Automatic tool name prefixing (
github_create_issue,postgres_query) to avoid name collisions across servers. - 🧩 Cordis Native: Built directly on Cordis lifecycle hooks (
ctx.provide,ctx.on('ready'),ctx.on('dispose')).
⚡ 1-Line Docker Quickstart
Launch DeepSeek Harness + MCP bridge + PostgreSQL + Filesystem with 1 command:
# Clone and boot the complete stack
git clone https://github.com/menotbobbybrown/dsh-plugin-mcp.git
cd dsh-plugin-mcp
# On Linux/macOS:
./scripts/quickstart.sh
# On Windows PowerShell:
.\scripts\quickstart.ps1
Installation
In DeepSeek Harness (dsh)
# Add from GitHub
dsh plugin --profile web add "github:menotbobbybrown/dsh-plugin-mcp"
# Or install via npm
dsh plugin --profile web add dsh-plugin-mcp
💻 CLI Commands (dsh-mcp)
Manage MCP servers seamlessly from the terminal just like Claude Code:
# Browse verified built-in server catalog
npx dsh-mcp catalog
# 1-Click install popular servers (GitHub, Postgres, SQLite, Brave Search, etc.)
npx dsh-mcp install github --scope user
npx dsh-mcp install postgres --scope project
npx dsh-mcp install sqlite --scope project
# List all configured MCP servers and their active scopes
npx dsh-mcp list
# Add a custom user-global MCP server (~/.dsh/mcp.json)
npx dsh-mcp add custom_srv --scope user -- npx -y my-mcp-server
# Add a project-local MCP server (.dsh/mcp.json)
npx dsh-mcp add postgres --scope project -- npx -y @modelcontextprotocol/server-postgres postgresql://localhost:5432/mydb
# Add an SSE remote MCP server
npx dsh-mcp add weather --transport sse -- https://weather-mcp.example.com/sse
# Test connection, latency, and tool discovery
npx dsh-mcp test github
# Remove an MCP server from configuration
npx dsh-mcp remove github --scope user
Configuration
Add the plugin to your dsh.config.yaml:
plugins:
mcp:
prefixToolNames: true
prefixDelimiter: "_"
defaultTimeoutMs: 60000
servers:
# GitHub MCP Server
github:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"
# Local Filesystem MCP Server
filesystem:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "./workspace"]
# PostgreSQL Database MCP Server
postgres:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost:5432/mydb"]
# Remote MCP Server via SSE
remote_service:
type: sse
url: "https://mcp.example.com/sse"
headers:
Authorization: "Bearer ${API_KEY}"
Programmatic Usage (Cordis API)
import { Context } from 'cordis';
import * as McpPlugin from 'dsh-plugin-mcp';
const ctx = new Context();
ctx.plugin(McpPlugin, {
servers: {
github: {
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-github'],
},
},
});
// Access registered MCP tools & services
const tools = await ctx.mcp.getAllTools();
const statuses = ctx.mcp.getStatuses();
Development & Testing
# Install dependencies
npm install
# Run unit tests
npm test
# Build package
npm run build
License
MIT © DeepSeek Harness Community
🤝 Contributing
Contributions are warmly welcome! Whether you are reporting an issue, proposing an adapter, optimizing performance, or fixing a bug, please check out our Contributing Guide.
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/AmazingFeature) - Commit your Changes (
git commit -m 'feat: add some AmazingFeature') - Push to the Branch (
git push origin feat/AmazingFeature) - Open a Pull Request
📄 License & Community
Distributed under the MIT License. See LICENSE for more information.
Built with 💙 for the DeepSeek Harness community.
Links
More in this category
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36777
Draws draw.io diagrams in DeepSeek Harness through the next-ai-drawio MCP server: the link in the reply opens a live preview in the right sidebar, you can edit the diagram by hand, and each AI change is a version you can restore. Node.js 18+; npx downloads the MCP server on first use.
Tencent/WeKnora#dsh-weknora★ 36302
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★ 7042
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★ 5074
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
sixtysevenlf/dsh-blender-plugin★ 1575
Lets a DSH agent drive a local Blender over a direct TCP channel with 15 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 228 ops across 34 families.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1155
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.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.