dsh-mcp-admin
dsh-mcp-admin
Представляет управление навыками и пресетами агентов DeepSeek Harness как двусторонний плагин MCP server: удалённые агенты напрямую изменяют конфигурацию навыков/пресетов на сервере через протокол MCP, без SSH; host-половина ведёт журнал аудита, браузерная половина на странице Settings предоставляет панель «Управление MCP» для отображения последних изменений.
Типичное использование: запустите dsh web на удалённом сервере, локальный агент подключается к 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 轮询)Запись навыка: напрямую записывает
$DSH_HOME/skills/<name>/SKILL.md(каталог bundle; если уже есть плоский<name>.md, перезаписывает на месте, сохраняя форму). Провайдерskill-filesystemharness'а следит за этим каталогом, изменения вступают в силу на следующем шаге агента.Запись пресета: записывает
$DSH_HOME/.agent-presets/<id>/agent.cordis.yml. Чтобы переопределить пресет, доверенный системой, необходимо сначала передатьbase, чтобы скопировать его в корень пользователя (предотвращая случайное затенение встроенного пресета с нуля). Механизм временных меток standing mount автоматически применяет изменения к новым сессиям без перезапуска; текущие сессии не затрагиваются.Аудит: каждая запись/удаление добавляет строку JSONL (время, инструмент, цель, действие, количество байт, сводка первых 200 символов содержимого), обрезается по
auditLimit.
Related MCP server: Omni Skills
Установка
dsh plugin --profile web add /path/to/dsh-mcp-adminЗатем настройте токен в ~/.dsh/profiles/web/cordis.patch.yml профиля (обязательно, иначе плагин откажется запускаться):
- id: mcp-admin
config:
token: <openssl rand -hex 32 的输出>
auditLimit: 200Конфигурация
Поле | Тип | По умолчанию | Описание |
| string | (обязательно) | Bearer-токен для конечной точки |
| number | 200 | Количество записей журнала аудита для хранения |
| string | пусто | Начальное значение публичного/локального адреса доступа этого развёртывания (например, |
Конфигурация MCP-клиента
Самый простой способ: откройте страницу «Управление MCP» в Settings, сначала в поле «Публичный адрес доступа» укажите публичный/локальный адрес этого развёртывания (например, http://1.2.3.4:3080, обязательно для NAT-машин; если оставить пустым, будет использоваться адрес, с которого вы открыли эту страницу), сохраните, затем нажмите «Скопировать инструкцию по настройке MCP» — будет скопирована полная инструкция (включая URL и токен), которую можно вставить агенту для настройки. Обратите внимание: на страницах http:// браузер запрещает автоматическое копирование, кнопка деградирует до отображения текстового поля для ручного копирования.
Формат ручной настройки (тип Streamable HTTP):
{
"mcpServers": {
"dsh-admin": {
"type": "http",
"url": "http://<服务器>:3080/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Список инструментов
Инструмент | Описание |
| Перечисляет навыки в корне пользователя (имя, описание, форма, путь) |
| Читает полный текст SKILL.md + список файлов ресурсов bundle |
| Создаёт/перезаписывает навык (проверяет имя в kebab-case и |
| Удаляет навык из корня пользователя |
| Перечисляет все пресеты (включая метки trust и broken) |
| Читает полный текст |
| Создаёт/перезаписывает комбинацию пресетов; |
| Удаляет пресет, доверенный пользователем (системные удалить нельзя) |
Замечания по безопасности
Веб-сервер harness'а сам по себе не имеет TLS и аутентификации;
/mcpнаходится за пределами доверенного периметра/api,token— единственная линия защиты. Утечка токена означает, что злоумышленник может перезаписать ваши навыки и пресеты (косвенное удалённое выполнение кода).Рекомендуется раскрывать только после завершения TLS на обратном прокси, или использовать механизм
trusted-hostharness'а для ограничения источников.Все операции записи ограничены корнем пользователя (
~/.dsh/skills,~/.dsh/.agent-presets), не затрагивают встроенные пресеты и каталоги проектов.RPC-канал панели (
/mcp-admin) проходит через периметрtrusted-hostсоединения; записи аудита не содержат секретов.Кнопка «Скопировать инструкцию по настройке MCP» передаёт токен на страницу через endpoint
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), paths в tsconfig*.json жёстко указывают на checkout harness'а; при переносе на другую машину эти пути нужно изменить.
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