Skip to main content
Glama

dsh-mcp-server

DeepSeek Harness の Agentdsh、ファイル・ターミナル・ウェブ検索・サブエージェント・ワークフローを備えたコーディング Agent)を、Model Context Protocol を通じてローカルで利用可能なモデルバックエンドとして公開し、同時に「私を理解する / 私を改造する」ためのインターフェースも公開します。

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

2つの方向性

方向 A:私を駆動する —— DeepSeek Harness のクォータを消費、ユーザー確認が必須

dsh_ask / dsh_converse / dsh_tool は呼び出しのたびに完全な dsh Agent プロセスを起動し、その Agent が(DeepSeek モデルを使って)実際の作業を行います:ファイルの読み書き、コマンド実行、ウェブ検索、サブエージェントの派遣。これは DeepSeek Harness のトークンクォータを消費します。そのため:

  1. 呼び出しはまず confirmation_required を返し(この時点ではクォータを一切消費しません)、「DeepSeek Harness のクォータを消費します」と明確に通知します;

  2. 呼び出し側はこのリクエストをユーザーに表示する必要があります(MCP クライアントは通常、ツール呼び出しを自動表示します);

  3. ユーザーが承認した後、dsh_confirm(requestId, approve=true) を呼び出して初めて実際に実行されます。または dsh_deny(requestId) でキャンセルします。

各保留中のリクエストはサーバーの stderr にも目立つ警告が1行出力されます。未確認のリクエストは10分で期限切れになります。

⚠️ リスクスイッチ:DSH_MCP_AUTO_APPROVE=1 で確認ゲートをスキップします(無人運用・完全に信頼できる環境向け)。単発の呼び出しでも confirm: false を渡せばスキップできます。

方向 B:私を理解する / 私を改造する —— 相手側のトークンを消費、サーバー側は非常に安価

他の Agent が「私は何か、どう設計されているか、どうやってプラグインを作るか / 設定を変更するか」を理解したい場合、これらのインターフェースを使います(サーバーはローカルでの読み取り・検証のみを行い、dsh モデルのクォータは消費しません。相手のモデルが結果を自分のコンテキストに読み込む際、消費するのは相手自身のトークンです):

インターフェース

種類

内容

dsh_self

ツール

完全な設計スナップショット:バックエンドモデル/バージョン、ペルソナテンプレート、plan-mode ルール、マウント済みの81個のプラグイン行、ワークスペースと設定パス、認証情報キー名(値はマスク)、発見可能なスキル

dsh://self/persona

リソース

ペルソナとシステムプロンプトコンポーネント(テンプレート、指示上限、plan-mode 全文)

dsh://self/tools

リソース

マウント済みプラグイン行のリスト + ツールファミリーの利用可否

dsh://self/settings

リソース

$DSH_HOME/settings.yaml(シークレットはマスク)

dsh://self/credentials

リソース

設定済み認証情報のキー名(値は決して公開されません)

dsh://self/skills

リソース

スキルリスト(組み込みプリセット + ユーザー/プロジェクトスキル)

dsh://self/skills/{name}

リソーステンプレート

特定スキルの SKILL.md 本文

dsh_plugin_contract

ツール

「私を改造したい」Agent 向けのプラグイン/設定改造契約(profile/patch/bundle/skill の形式とセキュリティルール)

dsh_patch_config

ツール

設定変更の提案:デフォルトは dry-run で dsh 自身のパーサーを使って検証(書き込みなし)。実際の書き込み時は元ファイルをバックアップ + ユーザー確認が必要

典型的な使い方:外部 Agent はまず dsh://self/* リソースを読んで設計を理解し(その Agent のトークンを消費)、次に dsh_patch_config を呼び出して設定変更を提案します(例:モデル変更、新しいスキルのマウント、特定プラグインの無効化)。または dsh_plugin_contract に従ってローカルに dsh プラグインを作成します。

Related MCP server: dsh-orchestrator

クイックスタート

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

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

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

サーバーはローカルにインストールされた dsh を自動検出します(npx キャッシュ / npm キャッシュ / カレントディレクトリをスキャン)。設定は不要です。 見つからない場合は環境変数で指定:DSH_MCP_DSH_BIN=C:\...\@deepseek-ai\dsh\lib\bin.js

Claude Desktop への接続

%APPDATA%\Claude\claude_desktop_config.json を編集:

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

Claude Code / Cursor / VS Code への接続

それぞれ examples/claude-code.jsonexamples/cursor-mcp.jsonexamples/vscode.json を使用します。

独自の Agent への接続(HTTP 方式)

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

ツール一覧

ツール

方向

説明

dsh_ask

A(クォータ消費)

一回限りのタスクを新しい dsh Agent に渡し、最終応答 + メタデータを返す。確認が必要。

dsh_converse

A(クォータ消費)

複数ターンの対話(サーバー側で sessionId ごとに履歴を記録し注入)。確認が必要。

dsh_tool

A(クォータ消費)

Agent に特定のツールを直接呼び出させ、結果をそのまま返す。確認が必要。

dsh_confirm

保留中のリクエストを承認/キャンセル(approve: true/false)。

dsh_pending

現在確認待ちのリクエストを一覧表示(診断用)。

dsh_new_session

新しい sessionId を生成。

dsh_reset

セッション履歴をクリア。

dsh_status

診断:dsh バージョン、モデル、ツールファミリー、確認待ち数など。

dsh_self

B

設計スナップショット(ペルソナ/プラグイン行/パス/スキル/認証情報キー名)。

dsh_patch_config

B

設定パッチの検証/書き込み(デフォルトは dry-run、書き込み時は確認+バックアップが必要)。

dsh_plugin_contract

B

プラグインと設定改造の契約ドキュメント。

環境変数

変数

デフォルト値

説明

DSH_MCP_DSH_BIN

自動検出

@deepseek-ai/dsh/lib/bin.js の絶対パス

DSH_MCP_PROFILE

headless

dsh 起動時の profile

DSH_MCP_TIMEOUT_MS

300000

単一 Agent 呼び出しのハードタイムアウト

DSH_MCP_MAX_TASK_CHARS

30000

タスクテキストの長さ上限(Windows コマンドライン ~32k)

DSH_MCP_MAX_HISTORY_CHARS

12000

dsh_converse の履歴注入予算

DSH_MCP_CONCURRENCY

4

並列 dsh プロセス数の上限

DSH_MCP_AUTO_APPROVE

未設定

1 = 確認ゲートをスキップ(危険、注意して使用)

DSH_MCP_APPROVAL_TTL_MS

600000

確認待ちリクエストの有効期限

DSH_PERMISSION_MODE

workspace-write

dsh Agent に渡す権限モード

権限とセキュリティ

  • dsh Agent は dsh の権限体系を継承:デフォルトは workspace-write(ワークディレクトリのみ書き込み可能)、read-only / danger-full-access に変更可能。

  • 方向 A のすべての実行は確認ゲートを通過し、クォータ消費が明確に開示されます。

  • 方向 B の読み取り専用パスではシークレット値は一切マスクされません。書き込みパス(dsh_patch_config)はデフォルトで dry-run、書き込み前に自動バックアップ、確認が必要で、home 層への変更はすべての profile(実行中の Web UI を含む)に影響することを警告します。

  • セッションは ~/.dsh/sessions に永続化され、認証情報は ~/.dsh/.credentials.yaml を共有します。

  • サーバーはローカルのみをリッスンします(stdio パイプ / 127.0.0.1)。

モデル変更(方向 B の典型的な使い方)

デフォルトモデルは dsh の agent-default-model(ローカル deepseek-official / deepseek-v4-flash)から取得されます。変更方法:

  1. dsh_patch_config を使用(推奨):home 層にパッチを送信し、dry-run 検証が成功し、ユーザー確認後に書き込みます(自動バックアップ)。パッチ例:

    - id: agent-default-model
      config:
        provider: deepseek-official
        model: deepseek-chat
  2. グローバル設定を変更~/.dsh/settings.yamlagent-default-model セクションを編集。

  3. profile 全体を変更DSH_MCP_PROFILE で別の profile を指定(異なるツールセット/ペルソナ)。

既知の制限

  • 方向 A は呼び出しのたびに新しいプロセス(約2〜3秒のコールドスタート + モデル応答)、ストリーミングなし、タスクテキストは ≤ ~30k 文字。

  • 確認ゲートは、呼び出し側が confirmation_required をユーザーに表示することに依存します。呼び出し側が無人運用プログラムで DSH_MCP_AUTO_APPROVE が未設定の場合、リクエストは期限切れまで保留されたままになります。

  • リソース/ツール数:6 リソース + 11 ツール。

開発とテスト

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 端到端(自动批准模式)

ディレクトリ構造

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