dsh-mcp-admin
dsh-mcp-admin
Stellt die Skill- und Agent-Preset-Verwaltung von DeepSeek Harness als MCP-Server-Zwei-Seiten-Plugin bereit: Remote-Agents ändern über das MCP-Protokoll direkt die Skill-/Preset-Konfiguration auf dem Server, ohne SSH; die Host-Hälfte protokolliert Audit-Logs, die Browser-Hälfte bietet auf der Settings-Seite ein „MCP-Verwaltung“-Dashboard zur Anzeige der letzten Änderungen.
Typischer Anwendungsfall: dsh web auf einem Remote-Server ausführen, der lokale Agent verbindet sich mit http://<服务器>:3080/mcp, wodurch ein Kreislauf aus „Produktion → Review → Änderung → erneute Produktion“ entsteht.
Architektur
本地 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-Schreiben: Schreibt direkt
$DSH_HOME/skills/<name>/SKILL.md(Verzeichnis-Bundle; vorhandene flache<name>.mdwerden an Ort und Stelle überschrieben und behalten ihre Form). Derskill-filesystem-Provider des Harness überwacht dieses Verzeichnis; nach dem Schreiben wird es im nächsten Agent-Schritt wirksam.Preset-Schreiben: Schreibt
$DSH_HOME/.agent-presets/<id>/agent.cordis.yml. Um ein Preset mit System-Trust zu überschreiben, muss zuerstbaseübergeben werden, um es in die User-Root zu kopieren (verhindert, dass integrierte Presets versehentlich von Grund auf überschattet werden). Der Dateizeitstempel-Mechanismus des Standing Mounts lässt Änderungen automatisch für neue Sessions wirksam werden, ohne Neustart; laufende Sessions sind nicht betroffen.Audit: Jedes Schreiben/Löschen hängt eine JSONL-Zeile an (Zeit, Tool, Ziel, Aktion, Byteanzahl, Zusammenfassung der ersten 200 Zeichen des Inhalts), gekürzt nach
auditLimit.
Related MCP server: Omni Skills
Installation
dsh plugin --profile web add /path/to/dsh-mcp-adminDann den Token in ~/.dsh/profiles/web/cordis.patch.yml des Profils konfigurieren (erforderlich, sonst verweigert das Plugin den Start):
- id: mcp-admin
config:
token: <openssl rand -hex 32 的输出>
auditLimit: 200Konfiguration
Feld | Typ | Standard | Beschreibung |
| string | (erforderlich) | Bearer-Token des |
| number | 200 | Anzahl der im Audit-Log aufbewahrten Einträge |
| string | leer | Anfangswert der öffentlichen/LAN-Zugriffsadresse dieser Bereitstellung (z. B. |
MCP-Client-Konfiguration
Einfachster Weg: Die Seite „MCP-Verwaltung“ in den Settings öffnen, zuerst unter „Öffentliche Zugriffsadresse“ die öffentliche/LAN-Adresse dieser Bereitstellung eintragen (z. B. http://1.2.3.4:3080, bei NAT-Maschinen erforderlich; leer lassen folgt der Adresse, mit der diese Seite geöffnet wurde), speichern und dann „MCP-Konfigurationsanleitung kopieren“ klicken – eine vollständige Konfigurationsanleitung (mit URL und Token) wird kopiert, direkt dem zu konfigurierenden Agent einfügen, der sich dann nach der Anleitung selbst konfiguriert. Beachten: Auf http://-Seiten verbietet der Browser das automatische Kopieren; der Button degradiert dann zu einem Textfeld zur manuellen Kopie.
Format der manuellen Konfiguration (Streamable-HTTP-Typ):
{
"mcpServers": {
"dsh-admin": {
"type": "http",
"url": "http://<服务器>:3080/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Tool-Übersicht
Tool | Beschreibung |
| Listet Skills unter der User-Root auf (Name, Beschreibung, Form, Pfad) |
| Liest den vollständigen SKILL.md-Text + Bundle-Ressourcendateiliste |
| Erstellt/überschreibt Skill (validiert Kebab-Case-Namen und |
| Löscht Skill unter der User-Root |
| Listet alle Presets auf (mit Trust- und Broken-Markierungen) |
| Liest den vollständigen |
| Erstellt/überschreibt Preset-Kombination; |
| Löscht Preset mit User-Trust (System nicht löschbar) |
Sicherheitshinweise
Der Harness-Webserver selbst hat kein TLS, keine Authentifizierung;
/mcpliegt außerhalb des/api-Vertrauenszauns,tokenist die einzige Verteidigungslinie. Token-Leck = der andere kann deine Skills und Presets neu schreiben (indirekte Remote-Codeausführung).Es wird empfohlen, nur hinter einem Reverse-Proxy mit TLS-Terminierung zu exponieren oder die
trusted-host-Mechanik des Harness zur Quellenbeschränkung zu nutzen.Alle Schreiboperationen sind auf die User-Root beschränkt (
~/.dsh/skills,~/.dsh/.agent-presets), integrierte Presets und Projektverzeichnisse werden nicht berührt.Der Dashboard-RPC-Kanal (
/mcp-admin) läuft über dentrusted-host-Zaun der Connection; Audit-Einträge enthalten keine Secrets.Der Button „MCP-Konfigurationsanleitung kopieren“ gibt den Token über den
setup-info-Endpoint an die Seite zurück: Jeder, der die Web-UI öffnen kann, erhält den Token. Das entspricht dem bestehenden Sicherheitsmodell des Harness (wer die Web-UI öffnen kann, kann bereits übersession.promptAgents auf dem Server ausführen), bedeutet aber, dass die Angriffsfläche der Web-UI = die Angriffsfläche des Tokens ist.
Entwicklung
pnpm install
pnpm run build # host: tsc → lib/;client: tsdown → lib/client.js
pnpm run typecheckDie Typauflösung der Client-Hälfte hängt vom lokalen Harness-Quellbaum ab (dsh-client-* ist nicht vollständig auf npm veröffentlicht); die paths in tsconfig*.json zeigen hartkodiert auf den Harness-Checkout; beim Umzug auf andere Maschinen müssen diese Pfade geändert werden.
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