Skip to main content
Glama
hqzqaq

dsh-minimal-mcp

by hqzqaq

dsh-minimal-mcp

Die für Modelle bestimmten Werkzeuge des Minimalmodus (minimal agent preset) von deepseek-harness werden in einen MCP-Server verpackt, damit beliebige externe Agenten (Claude Desktop, Trae, Cursor, LangChain usw.) über das Standard-MCP-Protokoll auf sie zugreifen und sie aufrufen können.

Der Minimalmodus (apps/cli/config/agent-presets/minimal/agent.cordis.yml) ist der von deepseek-harness offiziell bereitgestellte minimale Zwei-Werkzeug-Codierungsagent und legt nur zwei Werkzeuge offen:

  • bash — persistentes bash (PTY-Sitzung, teilt cwd / Umgebungsvariablen / Funktionen / Hintergrundaufgaben über Aufrufe hinweg)

  • str_replace_editor — Dateibearbeitung mit view / create / str_replace / insert

Diese Implementierung ist eine eigene Nachbildung und an der Semantik des Originals ausgerichtet (@deepseek-ai/dsh-tool-bash-persistent und @deepseek-ai/dsh-tool-str-replace-editor), benötigt keine vollständige Harness-Laufzeit und ist plattformübergreifend, leichtgewichtig und eigenständig lauffähig.

Werkzeugsemantik (am Original ausgerichtet)

bash

  • Echte PTY-persistente Shell; der Zustand bleibt zwischen Befehlen erhalten.

  • Bei einem Exitcode ungleich Null wird ein Kommentar angehängt: [exit code: N].

  • Wenn die Ausgabe das Limit überschreitet, wird sie abgeschnitten und mit <response clipped> markiert.

  • Bei Zeitüberschreitung wird die Teilausgabe zurückgegeben und die Shell zurückgesetzt.

str_replace_editor

  • view: Dateien werden im Stil von cat -n mit Zeilennummern versehen; Verzeichnisse listen nicht versteckte Einträge bis zu zwei Ebenen tief auf.

  • create: Erstellt nur, wenn der Pfad nicht existiert; andernfalls wird ein Fehler gemeldet.

  • str_replace: old_str muss eindeutig wörtlich übereinstimmen; bei mehreren / null Übereinstimmungen wird ein Fehler gemeldet.

  • insert: insert_line ist 0-basiert; beim Einfügen wird kein zusätzlicher Zeilenumbruch am Ende hinzugefügt.

Related MCP server: devcontainer-mcp

Installation und Build

pnpm install
pnpm run build

Beim ersten Installieren wird das postinstall-Skript ausgeführt, das die Ausführungsberechtigung der vorkompilierten node-pty-Binärdatei unter macOS repariert (fehlt sie, führt das zu posix_spawnp failed).

Ausführen

node dist/index.js

Umgebungsvariablen

Variable

Standard

Beschreibung

DSH_CWD

process.cwd()

Arbeitsverzeichnis für bash und Dateisystem-Werkzeuge

DSH_BASH_TIMEOUT_MS

60000

Zeitlimit für einen einzelnen Befehl (ms); bei Überschreitung wird die Shell automatisch zurückgesetzt, um ein Hängenbleiben zu verhindern

DSH_MAX_OUTPUT_CHARS

16000

Maximale Anzahl der Zeichen, die für Befehls-/Dateiausgabe aufbewahrt werden

DSH_SHELL

/bin/bash

Shell-Pfad, der für spawn verwendet wird

Anbindungskonfiguration

Am Beispiel von Claude / allgemeinen MCP-Clients füge in deiner MCP-Konfiguration Folgendes hinzu:

{
  "mcpServers": {
    "dsh-minimal": {
      "command": "node",
      "args": ["/absolute/path/to/dsh-mcp-tools/dist/index.js"],
      "env": {
        "DSH_CWD": "/your/workspace"
      }
    }
  }
}

Ein einzelner Dienstaufruf legt zwei Werkzeuge offen: bash und str_replace_editor – das sind die vollständigen Codierungsfähigkeiten des Minimalmodus von deepseek-harness.

Verzeichnisstruktur

src/
  index.ts   # MCP server 入口,注册两个工具(stdio 传输)
  config.ts  # 环境变量解析与描述文本
  bash.ts    # 持久 bash(node-pty)
  editor.ts  # str_replace_editor
scripts/
  fix-node-pty-perms.mjs  # 安装后修复 node-pty 二进制权限

Hinweise

  • Die Übertragung erfolgt über stdio (MCP-Standard, für lokale Agenten). Bei Bedarf ist eine Erweiterung auf streamable-HTTP möglich.

  • In der ursprünglichen bash-Beschreibung wird auf Umgebungsinformationen wie „Zugriff auf apt/pip-Pakete über Spiegel" hingewiesen. Diese Implementierung behält den Beschreibungstext bei, aber die tatsächliche Netzwerkfähigkeit hängt von der Laufzeitumgebung ab.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.
    3,012 npm
    MIT