dsh-cordis-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dsh-cordis-mcpWhat plugins are currently running in my DSH session?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dsh-cordis-mcp
Expose DeepSeek Harness's dynamic Cordis toolset to Claude Code via MCP (Streamable HTTP): Claude Code can load, define, run, update, stop, delete DSH dynamic plugins in real time—the exact same capabilities as using cordis_define / cordis_run / cordis_stop / cordis_undefine / cordis_inspect_* in a DSH session, through the same runtime agent.
┌─────────────┐ MCP (Streamable HTTP, loopback) ┌───────────────────────────┐
│ Claude Code │ ────── http://127.0.0.1:8090/mcp ──▶ │ DSH host (本插件) │
│ (claude) │ ────── JSON-RPC 2.0 ───────────────▶ │ dynamicCordisRunner │
└─────────────┘ │ cordisInspect │
│ agents (会话解析) │
└───────────────────────────┘The plugin mounts on the existing web port—no new ports, no published services; the MCP endpoint enforces Bearer authentication, and the token is configured on the DSH Settings → dsh-cordis-mcp page (auto-generated on first use, customizable/regenerable).
Capabilities (10 tools)
MCP tool | Corresponding DSH tool | Purpose |
| — | Bridge status: session resolution, live session list, plugin count |
| — | List manageable live DSH sessions (plugins are scoped per session) |
|
| List all dynamic plugins and their status in the target session |
|
| Plugin/package details; returns source when |
|
| Inspect provider catalog (host + client) |
|
| Run a read-only inspect query (services/events/builtins/slots/topics/tool catalog) |
|
| Define an immutable Package (create new plugin or append a version) |
|
| Activate a Package ( |
|
| Stop running, cancel pending approval, keep definitions and versions |
|
| Permanently delete a plugin (including all Packages, grants, version pointers) |
Packages with a Client half still go through DSH's approval flow on first run:
dsh_plugin_runreturnsawaiting-approval, and completes asynchronously after you click Allow on the Run card in the DSH Web GUI—same as in a DSH session.
Related MCP server: cc-plugin-mcp
One-click install
curl -fsSL https://raw.githubusercontent.com/GeekRicardo/dsh-cordis-mcp/main/install.sh | bashWhat the script does (preview with --dry-run first):
Writes the dependency
"dsh-cordis-mcp": "github:GeekRicardo/dsh-cordis-mcp"into~/.dsh/profiles/web/package.json;Appends
dsh-cordis-mcptodsh.profile.bundles;cd ~/.dsh/profiles/web && pnpm install;Verifies bundles are registered, prompts for a restart.
After restarting DSH and hard-refreshing the page, the MCP endpoint is ready alongside the web service:
pm2 restart dsh-web # 若用 pm2 托管;否则用你的启动方式重启Connecting Claude Code
# 端口换成你 DSH web 的实际端口(启动日志会打印完整地址)
claude mcp add dsh --transport http http://127.0.0.1:8090/mcp
claude mcp list # 确认 connectedAuthentication (mandatory, no direct connection)
The MCP endpoint enforces Bearer authentication—requests without a token always get 401 (503 if no token is configured). The token is configured on the DSH Settings → dsh-cordis-mcp page: auto-generated and persisted on first use; the page supports view/copy/customize/regenerate. Put the token into the request headers of .mcp.json:
{
"mcpServers": {
"dsh": {
"type": "http",
"url": "http://127.0.0.1:8090/mcp",
"headers": { "Authorization": "Bearer <设置页里的 token>" }
}
}
}Token resolution priority: settings page config > DSH_MCP_TOKEN environment variable > auto-generated. Token changes take effect immediately (no restart needed); after regeneration the old token is immediately invalidated, so you must update the Claude Code config accordingly.
Session semantics (important)
Dynamic plugins are scoped per session and live in process memory (cleared on DSH restart). The bridge's session resolution order:
sessionIdin the call arguments (look it up withdsh_sessions);The session specified by the
DSH_MCP_DEFAULT_SESSIONenvironment variable;The current single live session;
Multiple live sessions but none specified → error listing the options, requiring
sessionIdto be passed.
Other environment variables
Variable | Default | Description |
|
| MCP endpoint path (mounted on the webServer) |
| none | Fallback source for the auth token (used when the settings page has none configured) |
| none | Target session when |
Security boundary
Mandatory Bearer auth: no token → always 401 / 503, the endpoint can never be connected to directly;
Only accepts loopback Hosts (
127.*/localhost/::1), rejects all external access;Rejects browser requests with
sec-fetch-site: cross-site, and never returns CORS headers—web pages cannot read the response;The settings page route
/dsh-cordis-mcp/settingsonly allows same-origin loopback (no MCP token needed, but it only changes the token config itself);This endpoint can define/run/delete plugins—equivalent to shell privileges—don't expose the port beyond the local machine.
How it works
File | Responsibility |
| Pure MCP JSON-RPC layer (initialize / ping / tools/list / tools/call), zero DSH dependencies |
| Input validation + session resolution for the 10 tools, wrapping |
| Pure token resolution/generation (settings > env > auto-generated) |
| HTTP layer for the MCP route: mandatory auth, body reading, loopback/cross-site protection |
| Cordis plugin: injects 5 host services, settings namespace, |
| Settings page UI: token view/copy/customize/regenerate + endpoint address |
Uninstall
# 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 dshPrerequisites
DeepSeek Harness has an initialized web profile (
~/.dsh/profiles/webexists), and the current session runs on a preset with the Cordis toolset (the host-sidedynamicCordisRunnerservice exists, which it does by default);Claude Code CLI is installed locally and logged in;
Node.js ≥ 20, pnpm available.
Troubleshooting
Symptom | Cause and fix |
| DSH not restarted / wrong port. Restart, then look for a |
| Packages with a Client half require you to click Allow on the Run card in the DSH Web GUI; after granting, re-run |
Error | Multiple live sessions exist—first run |
Error | No session is open in the DSH Web GUI; open one and retry |
401 / | The token in |
503 / | The host hasn't initialized a token (abnormal state)—save any token on the settings page or restart DSH |
Plugins disappear after restart | Dynamic plugins are process-memory state, which is expected; this bridge only manages the running DSH process |
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