dsh-mcp-admin
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-mcp-adminlist all available skills"
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-mcp-admin
Exposes DeepSeek Harness's skill and Agent preset management as a two-sided MCP server plugin: remote agents modify skill/preset configuration on the server directly via the MCP protocol, no SSH needed; the host half records audit logs, and the browser half provides an "MCP Admin" dashboard on the Settings page showing recent modification records.
Typical use: run dsh web on a remote server, connect a local agent to http://<server>:3080/mcp, forming a closed loop of "produce → review → modify → reproduce".
Architecture
本地 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 writes: write directly to
$DSH_HOME/skills/<name>/SKILL.md(directory bundle; if a flat<name>.mdalready exists, overwrite in place to preserve its form). The harness'sskill-filesystemprovider watches that directory, so the change takes effect on the next agent step after writing.preset writes: write
$DSH_HOME/.agent-presets/<id>/agent.cordis.yml. To override a system-trusted preset, you must passbaseto copy it into the user root first (to prevent accidentally shadowing a built-in preset from scratch). The standing mount's file-timestamp mechanism makes changes take effect automatically for new sessions without a restart; in-progress sessions are unaffected.audit: each write/delete appends one JSONL line (time, tool, target, action, byte count, first 200 characters of content as a summary), truncated per
auditLimit.
Related MCP server: Omni Skills
Installation
dsh plugin --profile web add /path/to/dsh-mcp-adminThen configure the token in ~/.dsh/profiles/web/cordis.patch.yml in the profile (required, otherwise the plugin refuses to start):
- id: mcp-admin
config:
token: <openssl rand -hex 32 的输出>
auditLimit: 200Configuration
Field | Type | Default | Description |
| string | (required) | Bearer token for the |
| number | 200 | Number of audit log entries to retain |
| string | empty | Initial value of this deployment's public/LAN access URL (e.g. |
MCP client configuration
Easiest way: open the "MCP Admin" page in Settings, first fill in this deployment's public/LAN address in "Public access URL" (e.g. http://1.2.3.4:3080, required on NAT machines; leave empty to follow the address you used to open this page), save, then click "Copy MCP config instructions" — it copies a complete config guide (including URL and token) that you can paste directly to the agent you want to configure; it can configure itself by following the guide. Note that on http:// pages browsers block automatic copying, so the button degrades to showing a text box for manual copying.
Manual configuration format (Streamable HTTP type):
{
"mcpServers": {
"dsh-admin": {
"type": "http",
"url": "http://<服务器>:3080/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Tool overview
Tool | Description |
| List skills under the user root (name, description, form, path) |
| Read the full SKILL.md plus the bundle resource file manifest |
| Create/overwrite a skill (validates kebab-case name and frontmatter |
| Delete a skill under the user root |
| List all presets (including trust and broken markers) |
| Read the full |
| Create/overwrite a preset combination; |
| Delete a user-trusted preset (system presets cannot be deleted) |
Security notes
The harness webserver itself has no TLS, no authentication;
/mcpsits outside the/apitrust fence, andtokenis the only line of defense. Leaking the token means someone can rewrite your skills and presets (indirect remote code execution).Recommended to expose only behind a reverse proxy that terminates TLS, or combine with the harness's
trusted-hostmechanism to restrict sources.All write operations are confined to the user root (
~/.dsh/skills,~/.dsh/.agent-presets); built-in presets and project directories are never touched.The dashboard RPC channel (
/mcp-admin) goes through the connection'strusted-hostfence; audit records contain no secrets.The "Copy MCP config instructions" button returns the token to the page via the
setup-infoendpoint: anyone who can open the Web UI can obtain the token. This is consistent with the harness's existing security model (being able to open the Web UI already lets you run agents on the server viasession.prompt), but it means the Web UI's exposure surface equals the token's exposure surface.
Development
pnpm install
pnpm run build # host: tsc → lib/;client: tsdown → lib/client.js
pnpm run typecheckThe client half's type resolution depends on the local harness source tree (dsh-client-* is not fully published to npm); the paths in tsconfig*.json hardcode the harness checkout location; you'll need to change these paths when migrating machines.
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
- AlicenseAqualityCmaintenanceConverts 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.327Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server that unifies and synchronizes AI coding skills across multiple tools, exposing skill discovery and retrieval via list_skills and read_skill.10112MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that adapts, activates, and shares local Agent Skills for runtimes like OpenAI Agents SDK and Claude Code, enabling dynamic discovery and shareable HTML/image artifacts.182MIT
- AlicenseNot gradedqualityBmaintenanceA 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.75Apache 2.0
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.
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/EnZzzzzz/dsh-mcp-admin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server