Skip to main content
Glama

dsh-mcp-server

Stelle den DeepSeek Harness Agent (dsh, mit vollem Werkzeugsatz: Dateien, Terminal, Websuche, Sub-Agenten, Workflow-Codierungs-Agent) über das Model Context Protocol als lokal nutzbares Modell-Backend bereit und biete gleichzeitig Schnittstellen zum „Versteh mich / Verändere mich“ an.

┌────────────────────────────┐        stdio / HTTP         ┌──────────────────────────────┐
│  其他 Agent / MCP 客户端     │  ────────────────────────▶  │        dsh-mcp-server         │
│  (Claude Desktop, Cursor,  │                            │  方向A:驱动我(消耗我的额度)  │
│   Claude Code, 自定义程序)   │                            │  方向B:读懂我/改造我(便宜)   │
└────────────────────────────┘                            └──────────────┬───────────────┘
                                                                         │ spawn
                                                              ┌──────────▼───────────────┐
                                                              │  dsh Agent(完整工具链)    │
                                                              │  DeepSeek 模型(默认)      │
                                                              └──────────────────────────┘

Zwei Richtungen

Richtung A: Treibe mich an – verbraucht DeepSeek Harness-Kontingent, Benutzerbestätigung erforderlich

Jeder Aufruf von dsh_ask / dsh_converse / dsh_tool startet einen vollständigen dsh-Agenten-Prozess, der (mit DeepSeek-Modellen) die eigentliche Arbeit erledigt: Dateien lesen/schreiben, Befehle ausführen, im Web suchen, Sub-Agenten entsenden. Das verbraucht das Token-Kontingent von DeepSeek Harness, daher:

  1. Der Aufruf gibt zunächst confirmation_required zurück (zu diesem Zeitpunkt wird kein Kontingent verbraucht) und weist ausdrücklich darauf hin, dass „DeepSeek-Harness-Kontingent verbraucht wird“;

  2. Der Aufrufer muss diese Anfrage dem Benutzer anzeigen (MCP-Clients zeigen Tool-Aufrufe normalerweise automatisch an);

  3. Erst nach Benutzerfreigabe durch Aufruf von dsh_confirm(requestId, approve=true) wird tatsächlich ausgeführt; oder dsh_deny(requestId) bricht ab.

Jede ausstehende Bestätigungsanfrage wird auch als auffällige Warnung in der Server-stderr ausgegeben. Unbestätigte Anfragen laufen nach 10 Minuten ab.

⚠️ Risiko-Schalter: DSH_MCP_AUTO_APPROVE=1 überspringt das Bestätigungs-Gate (geeignet für unbeaufsichtigte/vollständig vertrauenswürdige Umgebungen). Einzelne Aufrufe können auch confirm: false übergeben, um es zu überspringen.

Richtung B: Versteh mich / Verändere mich – verbraucht das Kontingent des Gegenübers, serverseitig sehr günstig

Wenn andere Agenten verstehen wollen, „was ich bin, wie ich entworfen bin, wie ich Plugins/Config-Änderungen bekomme“, nutzen sie diese Schnittstellen (der Server führt nur lokale Lese-/Validierungsvorgänge aus, verbraucht kein dsh-Modellkontingent; das Gegenüber-Modell liest die Ergebnisse in seinen eigenen Kontext, was dessen eigene Token verbraucht):

Schnittstelle

Typ

Inhalt

dsh_self

Tool

Vollständiger Design-Snapshot: Backend-Modell/Version, Persona-Vorlage, plan-mode-Regeln, die 81 gemounteten Plugin-Zeilen, Arbeitsbereichs- und Konfigurationspfade, Anmeldedaten-Schlüsselnamen (Werte maskiert), auffindbare Skills

dsh://self/persona

Ressource

Persona- und System-Prompt-Komponenten (Vorlagen, Anweisungslimits, plan-mode-Volltext)

dsh://self/tools

Ressource

Liste der gemounteten Plugin-Zeilen + Verfügbarkeit der Tool-Familien

dsh://self/settings

Ressource

$DSH_HOME/settings.yaml (Schlüssel maskiert)

dsh://self/credentials

Ressource

Schlüsselnamen der konfigurierten Anmeldedaten (Werte werden nie offengelegt)

dsh://self/skills

Ressource

Skill-Liste (eingebaute Presets + Benutzer-/Projekt-Skills)

dsh://self/skills/{name}

Ressourcen-Vorlage

SKILL.md-Text eines bestimmten Skills

dsh_plugin_contract

Tool

Plugin-/Konfigurations-Änderungsvertrag für Agenten, die „mich verändern wollen“ (Format & Sicherheitsregeln für profile/patch/bundle/skill)

dsh_patch_config

Tool

Konfigurationsänderung vorschlagen: Standardmäßig dry-run mit dshs eigenem Parser validieren (kein Schreiben); echtes Schreiben sichert die Originaldatei + erfordert Benutzerbestätigung

Typische Verwendung: Externer Agent liest zuerst dsh://self/*-Ressourcen, um das Design zu verstehen (verbraucht dessen Token), ruft dann dsh_patch_config auf, um eine Konfigurationsänderung vorzuschlagen (z. B. Modell wechseln, neuen Skill mounten, Plugin deaktivieren), oder schreibt gemäß dsh_plugin_contract ein dsh-Plugin auf den lokalen Rechner.

Related MCP server: dsh-orchestrator

Schnellstart

cd E:\DeepSeek Harness\dsh-mcp
npm install          # 安装 @modelcontextprotocol/sdk

# 冒烟测试:不经过 MCP,直接验证 dsh Agent 后端可用
node scripts/smoke.mjs

# 以 stdio 传输启动服务器(MCP 客户端的标准方式)
node src/index.js

Der Server erkennt automatisch das lokal installierte dsh (scannt npx-Cache / npm-Cache / dieses Verzeichnis), keine Konfiguration erforderlich. Falls nicht gefunden, mit Umgebungsvariable angeben: DSH_MCP_DSH_BIN=C:\...\@deepseek-ai\dsh\lib\bin.js.

Anbindung an Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json bearbeiten:

{
  "mcpServers": {
    "dsh": {
      "command": "node",
      "args": ["E:\\DeepSeek Harness\\dsh-mcp\\src\\index.js"]
    }
  }
}

Anbindung an Claude Code / Cursor / VS Code

Verwende examples/claude-code.json, examples/cursor-mcp.json, examples/vscode.json.

Anbindung an deinen eigenen Agenten (HTTP-Modus)

node src/index.js --transport http --port 3005
# 端点:http://127.0.0.1:3005/mcp  (Streamable HTTP)

Tool-Liste

Tool

Richtung

Beschreibung

dsh_ask

A (verbraucht Kontingent)

Einmalige Aufgabe an einen frischen dsh-Agenten, gibt endgültige Antwort + Metadaten zurück. Bestätigung erforderlich.

dsh_converse

A (verbraucht Kontingent)

Mehrrunden-Dialog (Server speichert Verlauf nach sessionId und injiziert ihn). Bestätigung erforderlich.

dsh_tool

A (verbraucht Kontingent)

Agent direkt ein bestimmtes Tool aufrufen lassen und Ergebnis unverändert zurückmelden. Bestätigung erforderlich.

dsh_confirm

Bestätigen/Abbrechen einer ausstehenden Anfrage (approve: true/false).

dsh_pending

Listet aktuell wartende Bestätigungsanfragen (Diagnose).

dsh_new_session

Neue sessionId generieren.

dsh_reset

Sitzungsspeicher leeren.

dsh_status

Diagnose: dsh-Version, Modell, Tool-Familien, Anzahl ausstehender Bestätigungen usw.

dsh_self

B

Design-Snapshot (Persona/Plugin-Zeilen/Pfade/Skills/Anmeldedaten-Schlüsselnamen).

dsh_patch_config

B

Konfigurations-Patch validieren/schreiben (dry-run default, Schreiben erfordert Bestätigung + Backup).

dsh_plugin_contract

B

Plugin- und Konfigurations-Änderungsvertrag-Dokument.

Umgebungsvariablen

Variable

Standardwert

Beschreibung

DSH_MCP_DSH_BIN

Automatische Erkennung

Absoluter Pfad zu @deepseek-ai/dsh/lib/bin.js

DSH_MCP_PROFILE

headless

dsh-Startprofil

DSH_MCP_TIMEOUT_MS

300000

Hartes Timeout für einzelnen Agent-Aufruf

DSH_MCP_MAX_TASK_CHARS

30000

Obergrenze für Aufgabentextlänge (Windows-Befehlszeile ~32k)

DSH_MCP_MAX_HISTORY_CHARS

12000

Budget für Verlaufs-Injektion bei dsh_converse

DSH_MCP_CONCURRENCY

4

Obergrenze für parallele dsh-Prozesse

DSH_MCP_AUTO_APPROVE

nicht gesetzt

1 = Bestätigungs-Gate überspringen (gefährlich, mit Vorsicht verwenden)

DSH_MCP_APPROVAL_TTL_MS

600000

Ablaufzeit für ausstehende Bestätigungsanfragen

DSH_PERMISSION_MODE

workspace-write

An dsh-Agenten übergebenes Berechtigungsmodus

Berechtigungen & Sicherheit

  • dsh-Agent erbt das dsh-Berechtigungssystem: Standard workspace-write (nur Arbeitsverzeichnis beschreibbar), einstellbar auf read-only / danger-full-access.

  • Alle Ausführungen in Richtung A durchlaufen das Bestätigungs-Gate, Kontingent-Offenlegung ist klar.

  • Richtung B: Nur-Lese-Pfade maskieren keine Schlüsselwerte; Schreibpfad (dsh_patch_config) standardmäßig dry-run, vor dem Schreiben automatisches Backup, Bestätigung erforderlich, und Warnung, dass die home-Ebene alle Profile betrifft (einschließlich laufender Web-UI).

  • Sitzungen werden in ~/.dsh/sessions gespeichert, Anmeldedaten gemeinsam in ~/.dsh/.credentials.yaml.

  • Server lauscht nur auf dem lokalen Rechner (stdio-Pipe / 127.0.0.1).

Modell wechseln (typische Verwendung von Richtung B)

Standardmodell stammt aus dsh agent-default-model (lokal deepseek-official / deepseek-v4-flash). Änderungsmöglichkeiten:

  1. dsh_patch_config verwenden (empfohlen): Patch an die home-Ebene übermitteln, dry-run-Validierung bestehen, nach Benutzerbestätigung schreiben (automatisches Backup). Beispiel-Patch:

    - id: agent-default-model
      config:
        provider: deepseek-official
        model: deepseek-chat
  2. Globale Einstellungen ändern: agent-default-model-Abschnitt in ~/.dsh/settings.yaml bearbeiten.

  3. Komplettes Profil wechseln: DSH_MCP_PROFILE auf ein anderes Profil setzen (andere Tool-Sets/Persona).

Bekannte Einschränkungen

  • Richtung A: Jeder Aufruf ist ein neuer Prozess (ca. 2~3 Sekunden Kaltstart + Modellantwort), kein Streaming, Aufgabentext ≤ ~30k Zeichen.

  • Bestätigungs-Gate hängt davon ab, dass der Aufrufer confirmation_required dem Benutzer anzeigt; wenn der Aufrufer ein unbeaufsichtigtes Programm ist und DSH_MCP_AUTO_APPROVE nicht gesetzt ist, bleibt die Anfrage hängen, bis sie abläuft.

  • Ressourcen/Tool-Anzahl: 6 Ressourcen + 11 Tools.

Entwicklung & Tests

node scripts/smoke.mjs              # 仅测 dsh 后端(无 MCP)
node scripts/demo.mjs               # 演示:确认闸门 + 读懂我 + 改配置提议
node scripts/mcp-client-test.mjs    # stdio 端到端:闸门/拒绝/多轮/自省/patch/资源
node scripts/http-client-test.mjs   # HTTP 端到端(自动批准模式)

Verzeichnisstruktur

dsh-mcp/
├── src/
│   ├── index.js     # CLI 入口(stdio / HTTP 传输)
│   ├── server.js    # MCP 工具与资源注册
│   ├── dsh.js       # dsh 子进程运行器(spawn/超时/输出捕获/并发闸门)
│   ├── approvals.js # 确认闸门(额度披露、待确认队列、过期)
│   ├── self.js      # 自省:设计快照、技能发现、配置路径、插件契约
│   └── sessions.js  # 会话记忆与多轮提示组装
├── scripts/         # 冒烟 + 演示 + 端到端测试
└── examples/        # 各客户端接入配置
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes DeepSeek Harness agent capabilities as an MCP server, letting any MCP client drive Harness to execute real coding tasks with structured results, context isolation, and parallel execution.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    In-process DeepSeek Harness plugin that exposes a local Streamable HTTP MCP server, allowing MCP clients like Codex to submit tasks executed by DSH child agents using DSH's existing tools.
    281
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NanGongWenTian01/dsh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server