dsh-cordis-mcp
dsh-cordis-mcp
DeepSeek Harness の動的 Cordis ツールセットを MCP(Streamable HTTP)として Claude Code に公開します。Claude Code は DSH の動的プラグインをリアルタイムにロード、定義、実行、更新、停止、削除できます。DSH セッションで cordis_define / cordis_run / cordis_stop / cordis_undefine / cordis_inspect_* を使うのとまったく同じ能力、同じランタイムエージェントです。
┌─────────────┐ MCP (Streamable HTTP, loopback) ┌───────────────────────────┐
│ Claude Code │ ────── http://127.0.0.1:8090/mcp ──▶ │ DSH host (本插件) │
│ (claude) │ ────── JSON-RPC 2.0 ───────────────▶ │ dynamicCordisRunner │
└─────────────┘ │ cordisInspect │
│ agents (会话解析) │
└───────────────────────────┘プラグインは既存の Web ポートにマウントされ、新しいポートを開いたりサービスを公開したりしません。MCP エンドポイントはBearer 認証を必須とし、トークンは DSH 設定 → dsh-cordis-mcp ページで設定します(初回は自動生成され、カスタマイズ/再生成が可能です)。
機能(10 ツール)
MCP ツール | 対応 DSH ツール | 説明 |
| — | ブリッジ状態: セッション解決、ライブセッション一覧、プラグイン数 |
| — | 管理可能なライブ DSH セッションを一覧表示(プラグインはセッション単位) |
|
| 対象セッションの全動的プラグインと状態を一覧表示 |
|
| プラグイン/パッケージの詳細。 |
|
| Inspect プロバイダディレクトリ(host + client) |
|
| 読み取り専用の inspect クエリを 1 回実行(サービス/イベント/ビルトイン/スロット/テーマ/ツールディレクトリ) |
|
| 不変 Package を定義(新規プラグイン作成またはバージョン追加) |
|
| Package をアクティベート( |
|
| 実行を停止し、未承認の承認をキャンセル。定義とバージョンは保持 |
|
| プラグインを完全削除(全 Package、認可、バージョンポインタを含む) |
Client half を含むパッケージの初回実行は、引き続き DSH の承認フローを経由します。
dsh_plugin_runはawaiting-approvalを返し、DSH Web GUI の Run カードで許可をクリックすると非同期に完了します——DSH セッション内と同じです。
Related MCP server: cc-plugin-mcp
ワンクリックインストール
curl -fsSL https://raw.githubusercontent.com/GeekRicardo/dsh-cordis-mcp/main/install.sh | bashスクリプトが行うこと(事前に --dry-run でプレビュー可能):
~/.dsh/profiles/web/package.jsonに依存関係"dsh-cordis-mcp": "github:GeekRicardo/dsh-cordis-mcp"を書き込む。dsh-cordis-mcpをdsh.profile.bundlesに追加する。cd ~/.dsh/profiles/web && pnpm installを実行する。bundles が登録されたことを検証し、再起動を促す。
DSH を再起動してページをハードリフレッシュすると、MCP エンドポイントが Web サービスとともに利用可能になります:
pm2 restart dsh-web # 若用 pm2 托管;否则用你的启动方式重启Claude Code への接続
# 端口换成你 DSH web 的实际端口(启动日志会打印完整地址)
claude mcp add dsh --transport http http://127.0.0.1:8090/mcp
claude mcp list # 确认 connected認証(必須、直接接続不可)
MCP エンドポイントはBearer 認証を必須とし、トークンがない場合はすべて 401(トークン未設定の場合は 503)を返します。トークンは DSH 設定 → dsh-cordis-mcp ページで設定します。初回使用時に自動生成されて永続化され、ページで表示/コピー/カスタマイズ/再生成が可能です。トークンを .mcp.json のリクエストヘッダーに記入します:
{
"mcpServers": {
"dsh": {
"type": "http",
"url": "http://127.0.0.1:8090/mcp",
"headers": { "Authorization": "Bearer <设置页里的 token>" }
}
}
}トークンの解決優先順位: 設定ページの設定 > DSH_MCP_TOKEN 環境変数 > 自動生成。トークンを変更すると即座に有効になります(再起動不要)。再生成後は古いトークンが即座に無効になるため、Claude Code の設定も同期して更新する必要があります。
セッションセマンティクス(重要)
動的プラグインはセッション単位で、プロセスのメモリ状態です(DSH を再起動すると消去されます)。ブリッジのセッション解決順序:
呼び出しパラメータの
sessionId(dsh_sessionsで確認可能)。環境変数
DSH_MCP_DEFAULT_SESSIONで指定。現在の唯一のライブセッション。
ライブセッションが複数あるが未指定の場合 → エラーで選択肢を列挙し、
sessionIdを渡すよう要求。
その他の環境変数
変数 | デフォルト | 説明 |
|
| MCP エンドポイントのパス(webServer にマウント) |
| なし | 認証トークンのフォールバック元(設定ページで未設定の場合に使用) |
| なし |
|
セキュリティ境界
Bearer 認証を必須:トークンがない場合はすべて 401 / 503。エンドポイントは常に直接接続不可。
loopback Host(
127.*/localhost/::1)のみ受け入れ、外部からのアクセスはすべて拒否。sec-fetch-site: cross-siteのブラウザリクエストを拒否し、CORS ヘッダーは決して返さない——Web ページはレスポンスを読み取れない。設定ページのルート
/dsh-cordis-mcp/settingsは同一オリジンの loopback のみ許可(MCP トークンは不要だが、変更できるのはトークン設定自体のみ)。このエンドポイントはプラグインの define/run/削除が可能で、シェル権限と同等です。ポートをローカル以外に公開しないでください。
動作原理
ファイル | 役割 |
| 純粋な MCP JSON-RPC レイヤー(initialize / ping / tools/list / tools/call)。DSH 依存ゼロ |
| 10 ツールの入力検証 + セッション解決。 |
| 純粋なトークン解決/生成(設定 > env > 自動生成) |
| MCP ルートの HTTP レイヤー: 必須認証、body 読み取り、loopback/クロスサイト保護 |
| Cordis プラグイン: 5 つのホストサービス、settings 名前空間、 |
| 設定ページ UI: トークンの表示/コピー/カスタマイズ/再生成 + エンドポイントアドレス |
アンインストール
# 1. 从 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 移除 "dsh-cordis-mcp"
# 2. 移除 dependencies 里的 "dsh-cordis-mcp"
# 3. cd ~/.dsh/profiles/web && pnpm install
# 4. 重启 DSH;claude mcp remove dsh前提条件
DeepSeek Harness が web profile を初期化済み(
~/.dsh/profiles/webが存在)で、現在のセッションが Cordis ツールセット付きの preset で動作していること(ホスト側のdynamicCordisRunnerサービスが存在。デフォルトで有り)。ローカルに Claude Code CLI がインストールされ、ログイン済みであること。
Node.js ≥ 20、pnpm が利用可能であること。
Troubleshooting
現象 | 原因と対処 |
| DSH が再起動されていない / ポートが正しくない。再起動後、DSH 起動ログの |
| Client half を含むパッケージは DSH Web GUI の Run カードで許可する必要がある。承認後、 |
| ライブセッションが複数ある。まず |
| DSH Web GUI でセッションが開かれていない。開いてから再試行 |
401 / |
|
503 / | ホストがトークンを初期化していない(異常状態)。設定ページで任意のトークンを保存するか、DSH を再起動 |
プラグインが再起動後に消える | 動的プラグインはプロセスのメモリ状態であり、想定通り。このブリッジは実行中の DSH プロセスのみを管理する |
License
MIT
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 gradedqualityCmaintenanceEnables MCP clients to spawn and control Codex CLI and Claude Code sessions on the host machine, with session management and filesystem access.4MIT
- AlicenseBqualityDmaintenanceMCP server for accessing Claude Code plugins. Enables retrieving plugin lists and detailed information via MCP clients like Claude Desktop, Cursor.2MIT
- AlicenseBqualityCmaintenanceExposes self-owned AI agent plugins as tools to Claude Code via a stdio MCP server, allowing Claude to call system info, calculator, or scribe transcriber directly.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude Code sessions to query fleet status, focus terminals, and manage sessions programmatically via MCP tools.1MIT
Related MCP Connectors
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
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/GeekRicardo/dsh-cordis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server