dsh-mcp-server
dsh-mcp-server
DeepSeek Harness の Agent(dsh、ファイル・ターミナル・ウェブ検索・サブエージェント・ワークフローを備えたコーディング 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 のトークンクォータを消費します。そのため:
呼び出しはまず
confirmation_requiredを返し(この時点ではクォータを一切消費しません)、「DeepSeek Harness のクォータを消費します」と明確に通知します;呼び出し側はこのリクエストをユーザーに表示する必要があります(MCP クライアントは通常、ツール呼び出しを自動表示します);
ユーザーが承認した後、
dsh_confirm(requestId, approve=true)を呼び出して初めて実際に実行されます。またはdsh_deny(requestId)でキャンセルします。
各保留中のリクエストはサーバーの stderr にも目立つ警告が1行出力されます。未確認のリクエストは10分で期限切れになります。
⚠️ リスクスイッチ:
DSH_MCP_AUTO_APPROVE=1で確認ゲートをスキップします(無人運用・完全に信頼できる環境向け)。単発の呼び出しでもconfirm: falseを渡せばスキップできます。
方向 B:私を理解する / 私を改造する —— 相手側のトークンを消費、サーバー側は非常に安価
他の Agent が「私は何か、どう設計されているか、どうやってプラグインを作るか / 設定を変更するか」を理解したい場合、これらのインターフェースを使います(サーバーはローカルでの読み取り・検証のみを行い、dsh モデルのクォータは消費しません。相手のモデルが結果を自分のコンテキストに読み込む際、消費するのは相手自身のトークンです):
インターフェース | 種類 | 内容 |
| ツール | 完全な設計スナップショット:バックエンドモデル/バージョン、ペルソナテンプレート、plan-mode ルール、マウント済みの81個のプラグイン行、ワークスペースと設定パス、認証情報キー名(値はマスク)、発見可能なスキル |
| リソース | ペルソナとシステムプロンプトコンポーネント(テンプレート、指示上限、plan-mode 全文) |
| リソース | マウント済みプラグイン行のリスト + ツールファミリーの利用可否 |
| リソース |
|
| リソース | 設定済み認証情報のキー名(値は決して公開されません) |
| リソース | スキルリスト(組み込みプリセット + ユーザー/プロジェクトスキル) |
| リソーステンプレート | 特定スキルの SKILL.md 本文 |
| ツール | 「私を改造したい」Agent 向けのプラグイン/設定改造契約(profile/patch/bundle/skill の形式とセキュリティルール) |
| ツール | 設定変更の提案:デフォルトは 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.json、examples/cursor-mcp.json、examples/vscode.json を使用します。
独自の Agent への接続(HTTP 方式)
node src/index.js --transport http --port 3005
# 端点:http://127.0.0.1:3005/mcp (Streamable HTTP)ツール一覧
ツール | 方向 | 説明 |
| A(クォータ消費) | 一回限りのタスクを新しい dsh Agent に渡し、最終応答 + メタデータを返す。確認が必要。 |
| A(クォータ消費) | 複数ターンの対話(サーバー側で |
| A(クォータ消費) | Agent に特定のツールを直接呼び出させ、結果をそのまま返す。確認が必要。 |
| — | 保留中のリクエストを承認/キャンセル( |
| — | 現在確認待ちのリクエストを一覧表示(診断用)。 |
| — | 新しい |
| — | セッション履歴をクリア。 |
| — | 診断:dsh バージョン、モデル、ツールファミリー、確認待ち数など。 |
| B | 設計スナップショット(ペルソナ/プラグイン行/パス/スキル/認証情報キー名)。 |
| B | 設定パッチの検証/書き込み(デフォルトは dry-run、書き込み時は確認+バックアップが必要)。 |
| B | プラグインと設定改造の契約ドキュメント。 |
環境変数
変数 | デフォルト値 | 説明 |
| 自動検出 |
|
|
| dsh 起動時の profile |
|
| 単一 Agent 呼び出しのハードタイムアウト |
|
| タスクテキストの長さ上限(Windows コマンドライン ~32k) |
|
|
|
|
| 並列 dsh プロセス数の上限 |
| 未設定 |
|
|
| 確認待ちリクエストの有効期限 |
|
| 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)から取得されます。変更方法:
dsh_patch_configを使用(推奨):home層にパッチを送信し、dry-run 検証が成功し、ユーザー確認後に書き込みます(自動バックアップ)。パッチ例:- id: agent-default-model config: provider: deepseek-official model: deepseek-chatグローバル設定を変更:
~/.dsh/settings.yamlのagent-default-modelセクションを編集。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/ # 各客户端接入配置This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityAmaintenanceExposes 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.8MIT
- AlicenseAqualityBmaintenanceA local STDIO MCP server that bridges Codex to the official DeepSeek Harness (DSH) Web Host, enabling supervised DSH collaboration through session management, delegation, and monitoring tools.136MIT
- AlicenseNot gradedqualityBmaintenanceTurns DeepSeek Harness into an MCP server with tools for session management, agent execution, resources, and OAuth, plus browser automation and GitHub/GitLab integration.15MIT
- AlicenseNot gradedqualityCmaintenanceIn-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.281MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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