Skip to main content
Glama

dsh-mcp-admin

DeepSeek Harness の skill と Agent プリセット管理を MCP server として公開する両面プラグイン:リモート Agent が MCP プロトコル経由でサーバー上の skill / preset 設定を直接変更でき、SSH は不要。host 側には監査ログを記録し、ブラウザ側の Settings ページに「MCP 管理」ダッシュボードを表示して最近の変更履歴を確認できます。

典型的な用途:リモートサーバーで dsh web を実行し、ローカルの Agent が http://<サーバー>:3080/mcp に接続して「本番 → レビュー → 変更 → 本番」のループを形成します。

アーキテクチャ

本地 Agent (MCP client)
   │  POST /mcp  (Authorization: Bearer <token>)
   ▼
dsh web (host 半区)
   ├── Streamable HTTP MCP server(stateless,每请求一个实例)
   │     ├── skill_list / skill_read / skill_upsert / skill_delete
   │     └── preset_list / preset_read / preset_upsert / preset_delete
   ├── 审计 JSONL:$DSH_HOME/mcp-admin/audit.jsonl
   └── RPC 通道 /mcp-admin(audit.list,trusted-host 围栏)
        ▲
浏览器 Settings「MCP 管理」看板(client 半区,5s 轮询)
  • skill 書き込み: $DSH_HOME/skills/<name>/SKILL.md に直接書き込みます(ディレクトリ bundle。既存のフラットな <name>.md がある場合はその場で上書きして形式を維持)。harness の skill-filesystem provider がこのディレクトリを watch しており、書き込み後、次の agent step で反映されます。

  • preset 書き込み: $DSH_HOME/.agent-presets/<id>/agent.cordis.yml に書き込みます。system trust の preset を上書きするには、先に base を渡して user root にコピーする必要があります(組み込み preset を意図せずゼロから隠してしまうのを防ぐため)。standing mount のファイルスタンプ機構により、変更は新しいセッションに自動的に反映され、再起動は不要。進行中のセッションには影響しません。

  • 監査: 書き込み/削除のたびに JSONL を1行追記(時刻、ツール、ターゲット、アクション、バイト数、先頭200文字の要約)。auditLimit で切り詰めます。

Related MCP server: Omni Skills

インストール

dsh plugin --profile web add /path/to/dsh-mcp-admin

次に、プロファイルの ~/.dsh/profiles/web/cordis.patch.yml で token を設定します(必須。設定しないとプラグインは起動を拒否します):

- id: mcp-admin
  config:
    token: <openssl rand -hex 32 的输出>
    auditLimit: 200

設定

フィールド

デフォルト

説明

token

string

(必須)

/mcp エンドポイントのベアラートークン。唯一の防御線なので、必ず長くランダムにしてください

auditLimit

number

200

監査ログの保持件数

publicUrl

string

このデプロイのパブリック/ローカルネットワークアクセス URL(例:http://1.2.3.4:3080)の初期値。通常はここで設定する必要はありません。Settings の「MCP 管理」ページで直接編集してください(settings.yaml に永続化され、ホットリロードされます)。NAT 配下のマシン(Tencent Cloud など)は自分のパブリック IP を知らないため、トンネル経由で Web UI を開く場合は必ず設定してください

MCP クライアント設定

最も簡単な方法: Settings の「MCP 管理」ページを開き、「パブリックアクセス URL」にこのデプロイのパブリック/ローカルネットワークアドレス(例:http://1.2.3.4:3080、NAT 配下のマシンでは必須。空欄の場合はこのページを開いたアドレスに従います)を入力して保存し、「MCP 設定手順をコピー」をクリックします。完全な設定手順(URL とトークンを含む)がコピーされるので、設定する Agent にそのまま貼り付けて、その指示に従って設定してもらうだけです。http:// ページではブラウザが自動コピーを禁止しているため、ボタンはテキストボックス表示にフォールバックして手動コピーになります。

手動設定の形式(Streamable HTTP タイプ):

{
  "mcpServers": {
    "dsh-admin": {
      "type": "http",
      "url": "http://<服务器>:3080/mcp",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

ツール一覧

ツール

説明

skill_list

user root 配下の skill を一覧表示(名前、説明、形式、パス)

skill_read

SKILL.md の全文と bundle リソースファイルの一覧を読み取る

skill_upsert

skill を作成/上書き(kebab-case 名と frontmatter の name/description を検証)

skill_delete

user root 配下の skill を削除

preset_list

すべての preset を一覧表示(trust と broken のマークを含む)

preset_read

preset の agent.cordis.yml の全文を読み取る

preset_upsert

preset の組み合わせを作成/上書き。base は既存の preset からコピー。オプションで displayName/displayDescriptionpreset.yml に書き込み。書き込み後、standing-mount で検証し、ロードに失敗した場合は warning として返す

preset_delete

user trust の preset を削除(system は削除不可)

セキュリティ上の注意

  • harness ウェブサーバー自体にはTLS も認証もありません/mcp/api の信頼境界の外にあり、token が唯一の防御線です。トークンが漏洩すると、スキルやプリセットを書き換えられる可能性があります(間接的なリモートコード実行)。

  • リバースプロキシで TLS を終端してから公開するか、harness の trusted-host メカニズムと組み合わせて発信元を制限することをお勧めします。

  • すべての書き込み操作は user root(~/.dsh/skills~/.dsh/.agent-presets)に限定され、組み込みのプリセットやプロジェクトディレクトリには触れません。

  • ダッシュボードの RPC チャネル(/mcp-admin)は接続の trusted-host 境界を通過します。監査ログにシークレットは含まれません。

  • 「MCP 設定手順をコピー」ボタンは、setup-info エンドポイントを介してトークンをページに返します。Web UI を開ける人なら誰でもトークンを取得できます。これは harness の既存のセキュリティモデルと一致しています(Web UI を開けるということは、すでに session.prompt でサーバー上でエージェントを実行できるということです)。ただし、Web UI の露出面 = トークンの露出面であることを意味します。

開発

pnpm install
pnpm run build        # host: tsc → lib/;client: tsdown → lib/client.js
pnpm run typecheck

client 側の型解決はローカルの harness ソースツリーに依存しています(dsh-client-* は npm に完全には公開されていません)。tsconfig*.jsonpaths は harness チェックアウトをハードコードで参照しているため、マシンを移行する場合はこれらのパスを変更する必要があります。

F
license - not found
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
    A
    quality
    C
    maintenance
    Converts AI Skills (following Claude Skills format) into MCP server resources, enabling LLM applications to discover, access, and utilize self-contained skill directories through the Model Context Protocol. Provides tools to list available skills, retrieve skill details and content, and read supporting files with security protections.
    3
    27
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    A git-backed MCP server that centrally manages AI agent skills, tools, and knowledge with role-based access, change requests, and a remote OAuth 2.1 endpoint.
    75
    Apache 2.0

View all related MCP servers

Related MCP Connectors

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

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

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

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/EnZzzzzz/dsh-mcp-admin'

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