Четыре шага, для работы в терминале. Доступ один на все среды: подключённая «Глосса» в другой программе от этого не отвалится, код доступа тот же.
glossa. Уже назвали по-русски — удалите запись и заведите заново латиницей.DeepSeek Harness (команда dsh) —
открытая агентная среда DeepSeek, где всё устроено плагинами.
MCP-серверы она подключает как клиент, записью в файле профиля. Окна
входа здесь нет, доступ передаётся кодом в заголовке. Установка одной
командой: npm i -g @deepseek-ai/dsh; профиль
web создаётся сам при первом запуске
dsh web.
export GLOSSA_CODE=ВАШ_КОД_ДОСТУПА
cordis.patch.yml в каталоге профиля;
соседний cordis.yml — корень профиля, его не редактируют.
Новая запись добавляется через insert, и это главная тонкость:
патч без insert считается правкой существующей записи, и
dsh молча пропустит его с предупреждением
patch: entry … not found.
~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: mcp-glossa
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: glossa
transport: streamable-http
url: https://glossa.legal/mcp
headers:
Authorization: !!js '`Bearer ${process.env.GLOSSA_CODE}`'
toolCallTimeoutMs: 180000
В serverName допустимы латиница, цифры, дефис и
подчёркивание: из него собираются имена инструментов
mcp__glossa__….dsh --profile web --dump-config | tail -20В конце вывода должна появиться ваша запись с пометкой источника
# == ~/.dsh/profiles/web/cordis.patch.yml. Вместо неё
напечаталось patch: entry … not found — потерян
insert из шага 2.dsh web поднимет локальный веб-интерфейс. Откройте
Settings → Plugins, вкладка Plugin list, введите в поиск
mcp: запись mcp-client в состоянии
Enabled означает, что клиент смонтирован. Дальше задайте
вопрос: «Что „Глосса“ пишет о пределах свободы договора по статье 421 ГК РФ?»https://glossa.legal/mcp
Это не адрес страницы, на которой вы сейчас находитесь. Скопируйте адрес кнопкой, а не из адресной строки браузера: вставленный адрес страницы проходит вход, но коннектора по нему нет, и помощник отвечает «no MCP server was found at the provided URL».
toolCallTimeoutMs — таймаут одного вызова инструмента.
По умолчанию 60 000 мс; если вызовы обрываются на длинных
исследованиях, ставьте 180 000.failOnStartupError — при значении true
сборка не поднимется, если коннектор недоступен. Удобно, чтобы не
работать «без книги» незаметно для себя.reconnect.enabled — автоматическое переподключение
после обрыва связи, включено по умолчанию.В патче потерян insert. Без него запись считается правкой уже существующего плагина с таким id, и dsh её пропускает: коннектор просто не появляется, без явной ошибки. Сверьтесь с блоком из шага 2 и повторите dsh --profile web --dump-config.
Клиент активируется даже при неудачном подключении, так задумано: сборка не должна падать из-за недоступного сервера. Проверьте, что переменная GLOSSA_CODE видна процессу — то есть экспортирована в той же оболочке, из которой запускается dsh. Чтобы такие случаи были заметны сразу, поставьте failOnStartupError: true.
Только streamable-http. Адрес работает по Streamable HTTP; со значением sse или stdio подключение не устанавливается.
Поставьте toolCallTimeoutMs: 180000: тяжёлый вопрос вызывает несколько обращений к книге подряд.