Skip to main content
Glama

dsh-cordis-mcp

Предоставляет динамический набор инструментов Cordis из DeepSeek Harness для Claude Code через MCP (Streamable HTTP): 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 (会话解析)         │
                                                      └───────────────────────────┘

Плагин подключается к существующему веб-порту, не открывая новый порт и не публикуя сервис; конечная точка MCP требует Bearer-аутентификацию, токен настраивается на странице Настройки DSH → dsh-cordis-mcp (генерируется автоматически при первом запуске, можно задать свой/перегенерировать).

Возможности (10 инструментов)

Инструмент MCP

Соответствующий инструмент DSH

Назначение

dsh_status

Состояние моста: разбор сеансов, список активных сеансов, число плагинов

dsh_sessions

Список активных сеансов DSH, которыми можно управлять (плагины привязаны к сеансам)

dsh_plugins_list

cordis_inspect_self (без аргументов)

Список всех динамических плагинов целевого сеанса и их статус

dsh_plugin_inspect

cordis_inspect_self (с аргументами)

Сведения о плагине/пакете; с packageId возвращает исходный код

dsh_inspect_providers

cordis_inspect_list

Каталог inspect-провайдеров (host + client)

dsh_inspect_query

cordis_inspect_query

Выполнить один read-only inspect-запрос (каталог служб/событий/встроенных/слотов/тем/инструментов)

dsh_plugin_define

cordis_define

Определить неизменяемый Package (новый плагин или дополнительная версия)

dsh_plugin_run

cordis_run

Активировать Package (run / update), может вернуть awaiting-approval

dsh_plugin_stop

cordis_stop

Остановить выполнение, отменить ожидающее одобрение, сохранив определение и версии

dsh_plugin_undefine

cordis_undefine

Навсегда удалить плагин (включая все Package, авторизации, указатели версий)

Пакеты с client-частью при первом запуске по-прежнему проходят процедуру одобрения DSH: dsh_plugin_run возвращает awaiting-approval, после нажатия «Разрешить» на карточке Run в веб-GUI DSH выполнение завершается асинхронно — так же, как в сеансе DSH.

Related MCP server: cc-plugin-mcp

Установка в один шаг

curl -fsSL https://raw.githubusercontent.com/GeekRicardo/dsh-cordis-mcp/main/install.sh | bash

Что делает скрипт (можно предварительно посмотреть через --dry-run):

  1. Записывает зависимость "dsh-cordis-mcp": "github:GeekRicardo/dsh-cordis-mcp" в ~/.dsh/profiles/web/package.json;

  2. Добавляет dsh-cordis-mcp в dsh.profile.bundles;

  3. cd ~/.dsh/profiles/web && pnpm install;

  4. Проверяет, что bundles зарегистрированы, и предлагает перезапустить.

После перезапуска DSH и жёсткого обновления страницы конечная точка MCP готова вместе с веб-сервисом:

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.

Принцип работы

Файл

Назначение

lib/mcp-protocol.js

Чистый слой MCP JSON-RPC (initialize / ping / tools/list / tools/call), ноль зависимостей от DSH

lib/tools.js

Проверка входных данных 10 инструментов + разрешение сеансов, обёртка над dynamicCordisRunner / cordisInspect

lib/token.js

Чистый разбор/генерация токена (настройки > env > автогенерация)

lib/http.js

HTTP-слой маршрута MCP: обязательная аутентификация, чтение body, защита loopback/межсайтовых запросов

lib/index.js

Плагин Cordis: внедряет 5 хост-сервисов, пространство имён настроек, два маршрута /mcp + /dsh-cordis-mcp/settings

lib/client.js

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 инициализирован (~/.dsh/profiles/web существует), и текущий сеанс работает на пресете с набором инструментов Cordis (на стороне хоста присутствует служба dynamicCordisRunner, по умолчанию есть);

  • На машине установлен CLI Claude Code и выполнен вход;

  • Node.js ≥ 20, доступен pnpm.

Troubleshooting

Симптом

Причина и решение

claude mcp list показывает disconnected

DSH не перезапущен / неверный порт. После перезапуска найдите в журнале запуска DSH строку [dsh-cordis-mcp] MCP endpoint ready и используйте выведенный адрес

dsh_plugin_run возвращает awaiting-approval

Пакету с client-частью нужно ваше разрешение на карточке Run в веб-GUI DSH; после авторизации повторите dsh_plugin_run

Ошибка multiple live DSH sessions

Активных сеансов несколько: сначала dsh_sessions для получения id, затем передайте sessionId в вызове

Ошибка no live DSH session

В веб-GUI DSH не открыт ни один сеанс; откройте и повторите

401 / missing or invalid bearer token

Токен в .mcp.json устарел или неверен — скопируйте текущий токен со страницы настроек и обновите

503 / auth-not-configured

Хост не инициализировал токен (аномальное состояние) — сохраните любой токен на странице настроек или перезапустите DSH

Плагины исчезают после перезапуска

Динамические плагины существуют в памяти процесса — это ожидаемо; мост управляет только работающим процессом DSH

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to spawn and control Codex CLI and Claude Code sessions on the host machine, with session management and filesystem access.
    4
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Exposes 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.
    3
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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