Repository navigation
Releases
v1.0.0 — Official Production Release: DeepSeek Harness Universal MCP Bridge
🚀 dsh-plugin-mcp v1.0.0: Production-Ready Universal MCP Bridge for DeepSeek
\dsh-plugin-mcp\ v1.0.0 is officially released! It turns DeepSeek V3 and R1 into an enterprise-grade agent capable of connecting to thousands of concurrent MCP servers with sub-millisecond tool routing, Claude Code multi-scope configuration parity, industrial security defenses, and agent loop protection.
🌟 What's Included in v1.0.0
1. 🔌 Universal Protocol & Transports
- Standard **\stdio*, **\sse*, and *\websocket* transports.
- Full MCP Tools, Prompts, Resources, Sampling, and Workspace Roots protocol support.
- Dynamic argument elicitation for missing parameters.
2. ⚡ 10,000+ Servers Industrial Scale Engine
- Dormant Process Pool (\src/process-pool.ts): 10,000 configured servers consume 0 MB RAM / 0 CPU until invoked.
- Just-In-Time (JIT) Activation: Starts warm processes in <100ms when a tool is called.
- LRU Idle Process Reaper: Auto-reaps idle workers after 5 minutes, maintaining constant <100MB RAM footprint.
- Sub-Millisecond Inverted BM25 Index (\src/bm25-index.ts): Evaluates 20,000+ tools in <0.5ms.
- Dynamic Token Budget Allocator (\src/token-budget.ts): Prevents prompt context blowouts by capping tool definitions (max 1,500 tokens).
- Two-Tier Schema Cache (\src/schema-cache.ts): L1 Memory + L2 Disk Snapshot eliminates cold-boot handshake latency.
3. 🛡️ Enterprise Security & Agent Control
- AgentWatch (\src/agent-watch.ts): Intercepts repetitive tool execution loops and deadlocks.
- Zero-Leak Secrets Redaction (\src/security.ts): Masks Bearer tokens and API keys.
- Command Injection Defense: Proactively validates commands and rejects shell metacharacters before execution.
- Indirect Prompt Injection Neutralizer (\src/output-filter.ts): Neutralizes malicious prompt-override tags in third-party tool responses.
- Circuit Breaker & Rate Limiter (\src/circuit-breaker.ts): Fault-tolerant cascading failure prevention.
- Structured Forensic Audit Logging (\src/audit-logger.ts): JSON audit logging of all invocations and permissions.
4. 🌐 Ecosystem & Developer Experience
- 1-Click Built-in Server Catalog (\src/registry.ts): GitHub, Postgres, SQLite, Brave Search, Fetch, Puppeteer, Memory, and Agent Reach.
- Agent Reach Integration (\src/agent-reach.ts): Zero-API-cost social and video search across Twitter/X, Reddit, and YouTube transcripts.
- 1-Line Docker Quickstart: Multi-stage production container with PostgreSQL 16.
- Live Documentation Hub: https://menotbobbybrown.github.io/dsh-plugin-mcp/
🧪 Validation & Stability
- ✅ 56 / 56 tests passing across 25 test suites (\�itest).
- ✅ Full TypeScript ESM & CJS distribution with complete DTS definitions.
- ✅ Multi-OS CI verification on Ubuntu, Windows, and macOS.
v0.4.0 - 10,000+ MCP Servers Scale Engine, Sub-Millisecond BM25 Index & Token Budgeting
🚀 dsh-plugin-mcp v0.4.0: Industrial 10,000+ MCP Servers Scale Engine
\dsh-plugin-mcp\ v0.4.0 brings unprecedented scale and ultra-low latency to DeepSeek Harness, enabling agents to support thousands of concurrent MCP servers and 20,000+ tools with a minimal memory footprint (<100MB RAM) and sub-millisecond candidate routing.
✨ Architectural Breakthroughs in v0.4.0
1. ⚡ Dormant-by-Default Process Pool (\src/process-pool.ts)
- Zero Idle Overhead: 10,000 configured servers remain in \DORMANT\ state with 0 CPU and 0 RAM consumption.
- JIT Activation: Automatically boots warm server processes in <100ms only when a tool is invoked.
- LRU Idle Reaper: Constrains active processes to a maximum pool ceiling (default: 8 max hot workers), suspending idle workers after a configurable timeout.
2. 🚀 Sub-Millisecond BM25 Inverted Index (\src/bm25-index.ts)
- Inverted index with pre-computed term frequencies and BM25 relevance scoring.
- Evaluates 20,000+ tool definitions across 1,000+ servers in sub-millisecond time.
3. 🛡️ Dynamic Token Budget Allocator (\src/token-budget.ts)
- Enforces strict context window ceilings (e.g. max 1,500 tokens).
- Two-stage progressive disclosure (Compact 1-line tool signatures ➔ on-demand JSONSchema resolution).
4. 💾 Two-Tier Schema Cache (\src/schema-cache.ts)
- L1 Memory LRU + L2 Disk Snapshot eliminates boot-time \ ools/list\ RPC storms.
5. 📊 Enterprise Telemetry Engine (\src/telemetry.ts)
- High-resolution p50, p95, and p99 tool latency histograms and metrics.
🧪 Test Coverage & Benchmarks
- 51 / 51 tests passing (\�itest) across 23 test suites.
- Synthetic load benchmark demonstrating 1,000+ registered servers with low memory footprint and sub-millisecond search.
v0.3.0 - Complete MCP Ecosystem Engine (1-Click Install, Security Engine & Dashboard)
🚀 dsh-plugin-mcp v0.3.0: Complete MCP Ecosystem Engine
dsh-plugin-mcp v0.3.0 delivers the complete end-to-end Model Context Protocol subsystem for DeepSeek Harness, bringing Claude Code-level power, enterprise security hardening, dynamic token optimization, and 1-click server installations.
✨ Highlights in v0.3.0
1. 🌟 1-Click Curated Server Catalog (dsh-mcp catalog / dsh-mcp install)
Install verified MCP servers with a single command without memorizing long package arguments or environment configs:
dsh-mcp catalog— Browse curated servers (GitHub, Postgres, SQLite, Brave Search, Fetch, Puppeteer, Memory).dsh-mcp install github --scope user— Installs GitHub MCP server to user global config.dsh-mcp install sqlite --scope project— Installs SQLite MCP server to local workspace.
2. 🔒 Enterprise Security Hardening
SecurityEngine: Zero-leak secrets redaction (API keys/bearer tokens), shell injection protection, and path traversal guards.CircuitBreaker: Automatic tripwire and rate limiter preventing runaway agent loops and API quota burn.AuditLogger: Structured JSON logging of all tool invocations and permissions checks.
3. ⚡ Dynamic Token & Context Optimization
LazyToolRegistry: Registers lightweight tool stubs to prevent prompt context bloat across 50+ servers.ToolSemanticSearch: TF-IDF token relevance ranker that filters and injects only the top matching tools for the user's prompt.OutputFilter: Automatically intercepts massive tool outputs (>30k chars), persisting them to artifact files with structured previews.
4. 🔄 Bidirectional Sampling & Interactive Elicitation
McpSamplingManager: Enables connected MCP servers to request LLM completions through DeepSeek Harness (sampling/createMessage).ElicitationManager: Handles interactive user prompts and parameter elicitation forms requested by MCP servers.WorkspaceRootsManager: MCProots/listworkspace boundary support.
5. 📊 Web UI Telemetry Provider
DashboardTelemetryProvider: Exposes live connected server metrics, tool counts, and latency telemetry for DeepSeek Harness Web UI.
🧪 Test Coverage & CI/CD
- 42 / 42 unit & integration tests passing (
vitest) across 17 test suites. - Automated CI matrix workflows verified on Ubuntu, Windows, and macOS (Node 20, 22, 24).
v0.2.0 - Claude Code Parity (CLI, Scopes, Permissions, Lazy Registry & Sampling)
🚀 dsh-plugin-mcp v0.2.0: Full Claude Code MCP Parity
dsh-plugin-mcp v0.2.0 delivers the full developer experience, performance, and security model of Anthropic's Claude Code MCP subsystem into the DeepSeek Harness ecosystem.
✨ What's New in v0.2.0
1. 💻 Dedicated CLI Management (dsh-mcp)
Manage your MCP servers directly from the terminal without manual YAML editing:
dsh-mcp list [--json]— View all active servers, transports, scopes, and health status.dsh-mcp add <name> --scope <user|project> --transport <stdio|sse|ws> -- <command> [args...]— Add servers to~/.dsh/mcp.jsonor.dsh/mcp.json.dsh-mcp test <name>— Run live protocol handshakes, verify tool discovery, and benchmark round-trip latency.dsh-mcp remove <name>— Remove servers from scope configs.
2. 📁 Multi-Scope Configuration Hierarchy
Mirrors Claude Code's multi-tier configuration resolution:
- User Global Scope:
~/.dsh/mcp.json - Project Local Scope:
.dsh/mcp.jsonor.mcp.jsonin workspace root - Profile Scope: Inlined
dsh.config.yamloverrides
3. 🛡️ Granular Tool Execution Permissions
Configurable execution rules:
allow— Auto-approve safe read operations (e.g.github_list_*,filesystem_read_*).ask— Prompt for user confirmation on mutating actions (e.g.postgres_query,filesystem_delete_*).deny— Block sensitive or destructive commands.
4. ⚡ LazyToolRegistry (Context Defender)
Prevents context window token blowout when 50+ MCP servers (500+ tools) are registered. Automatically registers lightweight stubs and streams full parameter schemas on demand.
5. 🔄 Bidirectional MCP Sampling
Implements the MCP sampling/createMessage handler, allowing connected MCP server processes to request LLM completions through DeepSeek Harness.
🧪 Test Coverage
- 22/22 unit and integration tests passing (
vitest) across transports, CLI commands, scopes, permission managers, and lazy resolvers.
v0.1.0 - Initial Release (Model Context Protocol Bridge for DSH)
🚀 DeepSeek Harness Model Context Protocol (MCP) Bridge Plugin
dsh-plugin-mcp is an official-standard plugin for DeepSeek Harness that connects DeepSeek agents to the entire ecosystem of Model Context Protocol (MCP) tools, resources, and prompt templates.
✨ Features
- 🔌 Universal Transport Support: Connects to any MCP server via
stdio,sse, andwebsocket. - 🛠️ Automatic Tool Registration: Seamlessly reflects MCP tools into the DSH tool registry with JSON Schema parameter validation.
- 📂 Resource & Prompt Bridge: Exposes external MCP resources and prompt templates directly into agent context.
- ⚡ Resilient Execution: Per-server timeout controls, lifecycle management, and non-blocking error handling.
- 🏷️ Namespacing: Automatic prefixing (
github_create_issue,postgres_query) to avoid tool name collisions. - 🧩 Cordis Native: Built on Cordis lifecycle hooks (
ctx.provide,ctx.on('ready'),ctx.on('dispose')).
📦 Installation in DSH
# Install via DSH CLI
dsh plugin --profile web add "github:menotbobbybrown/dsh-plugin-mcp"📄 Configuration Example
plugins:
mcp:
prefixToolNames: true
prefixDelimiter: "_"
defaultTimeoutMs: 60000
servers:
github:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"
filesystem:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "./workspace"]