Skip to main content
Glama
xxxyz

dsh-mcp-manager

by xxxyz

dsh-mcp-manager

English · 中文

dsh-mcp-manager MCP Manager settings page

DeepSeek Harness(DSH)向けの耐久性のあるMCPサーバーマネージャー — 構成ローダープラグイン(動的セッションプラグインではありません)であるため、DSHの再起動やアップグレード後も存続します。

DSHプラグイン開発標準に基づいて構築されています(公式ドキュメント参照:第一个插件、开发一个工具):

  • オブジェクト形式のCordisプラグイン(export default { name, inject, apply })

  • injectで宣言された必須サービス — フレームワークはapplyが実行される前にそれらが準備されていることを保証し、いずれかのサービスが消えた場合はプラグインをリロードします(これによりプラグインはDSHのアップグレード後も存続します)

  • エージェント向け機能は登録済みモデルツールとして公開:ctx.tools.register(defineTool(...)) 経由の mcp_manager_list、mcp_manager_set_enabled、mcp_manager_restart、mcp_manager_add

  • UI向け機能はwebServerの正確なルート(POST /dsh-mcp-manager/api)経由で、クライアント側が消費します

機能:

  • 設定 → MCP 管理ページ(クライアント側が追加)

  • ホスト側は実際のパッチファイル内の@deepseek-ai/dsh-mcp-client行を管理:

    • プロジェクトレベル → ~/.dsh/profiles/<profile>/cordis.patch.yml

    • グローバル → ~/.dsh/cordis.patch.yml

    • 追加/編集/有効化/無効化/再起動/削除、ライブツールカウントの健全性、JSONエクスポート/インポート、ファイルごとの書き込みロック

仕組み

要素

ファイル

役割

ホストプラグインソース

src/index.ts

TypeScriptソース(文書化されたプラグイン形状); npm run build でビルド(tsc)

ホストプラグイン(コンパイル済み)

lib/index.js(main)

Cordisオブジェクト形式プラグイン:パッチファイルCRUD + 4つのモデルツール + webServerの正確なルート /dsh-mcp-manager/api(JSON {op, args} → {ok, ...})

クライアントバンドル

lib/client.js(exports["./client"] + dsh.client)

ブラウザモジュール:設定ページを登録; fetch('/dsh-mcp-manager/api') 経由でホストを呼び出し

ローダー行

プロファイルの cordis.patch.yml に追加

ホストエントリを構成; クライアントモジュールサービスは有効なエントリをスキャンし、クライアントバンドルを提供

ローダーエントリは両方の部分の単一の構成ポイントです — 出荷されたDSHパッケージへの変更は一切不要です。パッケージ自体はプラットフォームに依存しません(純粋なJS; パス区切り文字は実行時に検出)。そのためWindows、macOS、Linuxで動作します。ビルド(npm run build)にはdevDependencies(typescript、@deepseek-ai/cordis、@deepseek-ai/dsh-tools、@types/node)が必要です。出荷/インストールされたパッケージにはそれらは必要ありません。

Related MCP server: mcp-serverman

インストール(任意のプラットフォーム)

最速 — 1コマンド、npm経由(Node.js >= 18 が必要):

# Option A — one-shot with npx, nothing to install
npx -y @xxxyz/dsh-mcp-manager

# Option B — global npm install, then run the command any time
npm i -g @xxxyz/dsh-mcp-manager
dsh-mcp-manager                  # install the plugin
dsh-mcp-manager-uninstall        # uninstall the plugin
npm i -g @xxxyz/dsh-mcp-manager@latest   # upgrade

両方のオプションですべてのフラグがそのまま渡されます:npx -y @xxxyz/dsh-mcp-manager --dsh-home /path/.dsh --profile web --repair --port 3080

npmパッケージ名:@xxxyz/dsh-mcp-manager(裸の名前 dsh-mcp-manager はnpm上で無関係のパッケージに使用されています)。デプロイされたプラグイン名は依然として dsh-mcp-manager です — npm/npxは配信手段に過ぎません。インストーラーはファイルを以下の同じ固定場所にコピーします。

npmなしの代替手段 — GitHubから直接:

npx -y github:xxxyz/DeepSeekHarness-MCP-Manager

代替手段 — ソースチェックアウトからインストーラースクリプトを実行(すべてのインストーラーは1つのクロスプラットフォームロジックファイル install.mjs を共有します)。インストール手順:

  1. パッケージを <dshHome>/local-packages/dsh-mcp-manager にコピー(node_modules の外部に保持される真のソース。DSHのアップグレードが触れることはありません)

  2. それを <dshHome>/profiles/node_modules/dsh-mcp-manager にコピー(意図的にプレーンコピー — シンボリックリンクにすると、Node ESMがプラグインの実パスを解決し、@deepseek-ai/dsh-tools が見つからなくなります)

  3. ローダー行を profiles/<profile>/cordis.patch.yml に追加(冪等; パッチを有効なトップレベル配列のままにします)

Windows(PowerShell):

.\dsh-mcp-manager\install.ps1                     # default: ~/.dsh, web profile
# or: .\install.ps1 -DshHome D:\path\.dsh -Profile web

macOS / Linux:

./dsh-mcp-manager/install.sh                      # default: ~/.dsh, web profile
# or: ./install.sh --dsh-home /path/.dsh --profile web

任意のプラットフォーム(直接):

node dsh-mcp-manager/install.mjs [--dsh-home <path>] [--profile <name>] [--port <n>] [--repair] [--skip-patch]

その後DSHを再起動し、設定 → MCP 管理を開きます。4つの mcp_manager_* ツールはその再起動後にモデルから呼び出し可能になります。

アンインストール(任意の方法):

dsh-mcp-manager-uninstall          # if installed via npm -g
# or: .\dsh-mcp-manager\uninstall.ps1 | ./uninstall.sh | node uninstall.mjs [--dsh-home <path>] [--profile <name>]

その後DSHを再起動します。アンインストールにより、デプロイされたコピー、local-packages の真のソース、およびローダー行が削除されます。

DSHアップグレード後:--repair

DSHのアップグレード(またはHMRの状態不良)により、プラグインのホスト部分がアンロードされたままファイルが残っている場合があります。1つのコマンドで修正できます — レコードのソースからパッケージを再コピーし、ローダー行の config.version をバンプしてHMRの再適用を強制し、APIが応答するまでポーリングします:

node dsh-mcp-manager/install.mjs --repair            # default ~/.dsh, web, port 3080
node dsh-mcp-manager/install.mjs --repair --port 3080
# PowerShell: .\install.ps1 -Repair -Port 3080     bash: ./install.sh --repair --port 3080

--repair は、POST /dsh-mcp-manager/api が再度 {ok:true} を返した場合にのみ成功を返します。30秒経ってもAPIが応答しない場合は、DSHを一度再起動してください(ローダーは常に起動時に新たにインポートします)。

APIリファレンス

すべての操作は POST /dsh-mcp-manager/api に {"op": "<op>", "args": {...}} を送信します(同一オリジン)。

op

args

結果

mcpm-list

{}

{ok, rows[], paths, errors[]}

mcpm-add

`{serverName, transport, url

command, args?, headers?, env?, level, enabled?}`

{ok, row}

mcpm-edit

{id, level, ...fields}

{ok}

mcpm-set-enabled

{id, level, enabled}

{ok}

mcpm-restart

{id, level}

{ok}

mcpm-remove

{id, level}

{ok}

mcpm-export

{}

{ok, json, savedTo}

mcpm-import

{json}

{ok, added[], skipped[]}

モデルツール

ctx.tools.register(defineTool(...)) を使用してホストに登録されます(標準の @deepseek-ai/dsh-tools):

ツール

説明

mcp_manager_list

設定されているすべてのMCPサーバーを一覧表示(レベル、有効状態、ライブローダーステータス、ツール数)

mcp_manager_set_enabled

1つのサーバーを有効化/無効化(id、level、enabled)

mcp_manager_restart

1つのサーバーを再起動(id、level)

mcp_manager_add

サーバーを追加(serverName、transport、url

command、…、level)

注意事項 / 制限

  • HTTPルートはローカルWebサーバー上で認証されていません — ローカルのシングルユーザーマシンでは問題ありません。DSHのWebポートを公開しないでください。

  • 管理対象の行には # dsh-mcp-manager:server:<id> マーカーが付いています。ローダー行は id: mcp-manager、name: dsh-mcp-manager を追加する insert ブロックです — DSHのパッチ方言では、プレーンな - id: 行は既存のエントリのオーバーライドとして扱われます(存在しない場合は黙ってスキップされます)。したがって、プラグインを追加するには insert 形式が必要です。

  • 実行中のWebページがインストールより古い場合、クライアントモジュールを認識するためにページのリフレッシュまたはDSHの再起動が必要です(ブートグラフはページ読み込み時に構築されます)。

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    A robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.
    4
    17
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP management panel for DeepSeek Harness, enabling connection status monitoring, one-click upgrades, and server addition via a settings UI.
    1
    MIT