Содержание
  1. Что такое MCP и кто здесь клиент
  2. Требования и где брать реквизиты
  3. Пошаговая настройка dsh-mcp-client
  4. Самостоятельная проверка и критерии результата
  5. Границы: MCP-клиент, веб-чат и соседи
  6. Типичные сбои и что проверять
  7. Частые вопросы
Гайды

Как подключить MCP-инструменты к DeepSeek

12 октября 2026 · 10 минут чтения

Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 12 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.

Как подключить MCP-инструменты к DeepSeek: в официальном DeepSeek Harness работа с внешними MCP-серверами идёт через пакет @deepseek-ai/dsh-mcp-client. Вы добавляете запись конфигурации на каждый сервер, указываете уникальное имя и транспорт, и после старта инструменты сервера появляются в списке инструментов модели. Ни один сервер не включён по умолчанию.

Что такое MCP и кто здесь клиент

Model Context Protocol — открытый стандарт, по которому AI-приложение подключает внешние источники данных и инструменты. В связке с DeepSeek роли распределяются так: модель DeepSeek формирует запрос, DeepSeek Harness выступает хостом и клиентом, а внешний процесс или сервис предоставляет инструменты. Официальная документация пакета mcp-client в репозитории deepseek-ai/deepseek-harness описывает мост так: dsh-mcp-client даёт модели вызывать инструменты и читать ресурсы внешних MCP-серверов.

Важное следствие для читателя: мост живёт внутри Harness. Веб-чат chat.deepseek.com эту возможность сам по себе не получает. Отдельная документация по function calling на api-docs.deepseek.com описывает API, совместимый с форматами OpenAI и Anthropic: меняя конфигурацию, вы можете использовать SDK или программы, совместимые с этими API, для доступа к DeepSeek. Инструменты вроде Claude Code, GitHub Copilot или OpenCode могут работать с DeepSeek как с backend-моделью.

В группе mcp/ есть два пакета: mcp-client подключает один MCP-сервер и открывает его инструменты, инструкции и операции с ресурсами, а mcp-resources даёт общие инструменты обнаружения и чтения ресурсов с явным выбором сервера. Готовые профили Harness уже монтируют mcp-resources однократно, поэтому настраивать нужно только записи mcp-client.

Числовой срез выдачи, снятый редакцией: скачали подборку результатов веб-поиска по запросу «Как подключить MCP-инструменты к DeepSeek»: текст отдали 8 из 10. Медиана объёма читаемого текста топа — 1404 слова. Метку 2026 года несут 4 из 8 прочитанных страниц.

Требования и где брать реквизиты

Свои реквизиты вы берёте у владельца MCP-сервера, к которому подключаетесь. Это адрес endpoint для сетевого сервиса, токен или ключ доступа, иногда имя рабочей папки. Документация пакета mcp-client показывает оба способа: токен GitHub передаётся через переменную окружения GITHUB_TOKEN, а для сетевого сервера заголовок Authorization собирается из переменной MCP_TOKEN.

По официальной документации пакета требования к подключению такие:

Поле Обязательно Смысл
transport да stdio или streamable-http
serverName да Пространство имён для названий инструментов сервера, от 1 до 32 символов из набора [A-Za-z0-9_-], уникально внутри области регистрации
command / args / env / cwd для stdio Исполняемый файл, аргументы, дополнительные переменные окружения поверх очищенного окружения, рабочая папка
url / headers для streamable-http Адрес endpoint и дополнительные заголовки запроса

Официальный SDK выбирает протокол 2026-07-28, когда тот доступен, и откатывается к поддерживаемым прежним ревизиям. Для локальной программы выбирайте stdio, для сервиса по сети — Streamable HTTP. При stdio-переговорах запускается временный пробный процесс перед обслуживающим процессом.

Отдельная таблица таймаутов и переподключений из той же документации:

Поле По умолчанию Смысл
toolCallTimeoutMs 60 000 Таймаут на один вызов tools/call или запрос ресурса
maxInstructionBytes 32 768 Предел инструкций сервера в байтах UTF-8 вместе с атрибуцией; превышение отклоняет соединение
failOnStartupError false Отклонять активацию плагина при сбое первичного соединения или синхронизации инструментов
reconnect.enabled true Автоматическое переподключение после потери связи
reconnect.initialDelayMs 500 Первая задержка переподключения, удваивается с каждой неудачной попыткой
reconnect.maxDelayMs 30 000 Потолок задержки; он же время работы, после которого бюджет попыток сбрасывается
reconnect.maxAttempts 10 Предел подряд неудачных попыток на один обрыв связи

Перед настройкой проверьте у владельца сервера адрес, способ аутентификации и ограничения доступа. Переменную окружения создавайте до запуска Harness, иначе подстановка оставит поле пустым.

Пошаговая настройка dsh-mcp-client

Порядок действий по первичному документу пакета.

Шаг 1. Откройте конфигурацию Harness. Записи добавляются в тот файл, где перечислены плагины. Каждый сервер описывается одной записью, больше ничего не требуется: после старта инструменты сервера появляются в списке инструментов модели.

Шаг 2. Опишите локальный сервер по stdio. Документация даёт такой пример:

YAML9 строк
- id: mcp-github
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: github
    transport: stdio
    command: npx
    args: ['-y', '@modelcontextprotocol/server-github']
    env:
      GITHUB_TOKEN: !!js process.env.GITHUB_TOKEN

Шаг 3. Опишите сетевой сервер по streamable-http. Пример из того же документа:

YAML8 строк
- id: mcp-web
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: web
    transport: streamable-http
    url: http://localhost:3000/mcp
    headers:
      Authorization: !!js '`Bearer ${process.env.MCP_TOKEN}`'

Шаг 4. Сохраните файл и перезапустите Harness. При сохранении конфигурации перечитайте её целиком: забытая кавычка в заголовке или аргументе оставляет сервер неописанным.

Шаг 5. Проверьте появление инструментов. К моменту старта инструменты регистрируются под именами вида mcp__github__create_issue. Профили Harness могут содержать несколько наборов инструментов, поэтому ищите имя со своим serverName.

Имена вида mcp__<serverName>__<rawName> остаются стабильными, пока сервер сохраняет исходное имя инструмента, поэтому история сессии и правила разрешений переживают перезапуски и перезагрузки. Два сервера могут оба offer-ить инструмент search и сосуществовать как mcp__github__search и mcp__web__search.

Промпт, чтобы проверить подключение чтением данных:

КОД
Ты работаешь в DeepSeek Harness с инструментом [mcp__serverName__toolName]. Прочитай [что именно: файл, issue, запись] через этот инструмент и верни: имя вызванного инструмента, сырой ответ сервера и одну строку с выводом по данным. Ничего не изменяй и не создавай. Если вызов не удался, верни текст ошибки целиком.

Подставьте свой serverName и имя инструмента, а также объект чтения. Вариации той же задачи: прочитать список открытых issue репозитория; получить содержимое конкретного файла; выгрузить страницу документации; прочитать таблицу из базы; собрать заголовки из ленты. Общий признак — операция только читает и ничего не меняет.

Самостоятельная проверка и критерии результата

Проверку проводит сам читатель, редакция её не выполняла. Правило первое: наблюдайте на своей установке. Правило второе: первая проверка идёт на чтении, потому что эффект виден и откатывать нечего. Правило третье: результат фиксируйте до изменения конфигурации, чтобы отличать влияние правок.

Порядок самостоятельной проверки:

  1. До правки конфигурации задайте модели вопрос, ответ на который требует внешних данных, например о ваших задачах в трекере.
  2. Добавьте запись сервера, сохраните конфигурацию, перезапустите Harness.
  3. Спросите модель, какие инструменты с вашим serverName ей доступны, и сверьте имена с ожидаемыми.
  4. Выполните промпт на чтение из предыдущего раздела и сравните сырой ответ сервера с тем, что видно в его собственном интерфейсе.
  5. Уберите запись сервера из конфигурации, перезапустите Harness и повторите вопрос из шага 1.

Критерии результата. Инструменты с нужным serverName видны в списке. Вызов из шага 4 возвращает данные, совпадающие с независимым источником. В новой сессии после удаления записи инструмент этого сервера должен отсутствовать в списке доступных инструментов. Если исходный вопрос до правки уже имел ответ из общих знаний модели, проверка неинформативна — возьмите вопрос, ответ на который модель без инструмента дать не может.

Второй заход: сравните имена mcp__serverName__rawName до и после перезапуска Harness. Их сохранение подтверждает, что привязка не потерялась. Дополнительный контроль — два сервера с одинаковым именем инструмента: оба имени вида mcp__github__search и mcp__web__search должны вызываться раздельно.

Границы: MCP-клиент, веб-чат и соседи

Мост mcp-client открывает инструменты и операции с ресурсами каждого настроенного сервера. Готовые профили уже подключают общий пакет mcp-resources для обнаружения и чтения ресурсов с явным выбором сервера. Шаблоны промптов MCP не поддерживаются.

Ещё граница: инструкции сервера попадают в системный промпт обычным текстом, а шаблоны промптов MCP не поддерживаются. Значение больше 32 768 байт отклоняет соединение. Медленные или упавшие серверы могут задержать старт или проваливать вызовы до восстановления.

Сравним сценарии.

Сценарий Что даёт Чего ждать не стоит
Веб-чат chat.deepseek.com Обычный диалог с моделью Инструментов MCP-сервера: мост живёт в Harness
DeepSeek как backend для сторонних агентов Модель внутри Claude Code, GitHub Copilot, OpenCode Настройки MCP-серверов внутри самого DeepSeek
Harness со dsh-mcp-client Инструменты сервера среди родных инструментов модели Шаблонов промптов MCP и всех типов вложений
Собственный инструмент в Harness Полный контроль над кодом и схемой Готового чужого сервера с его инструментами

Настройка внешних инструментов через MCP полезна, когда у вас уже есть MCP-серверы — файловая система, GitHub, база данных, корпоративные инструменты — и вы хотите включить их в единый контур инструментов Harness с разрешениями, таймаутами и отменой вызовов. Внешние инструменты проходят тот же конвейер, что и родные: контроль перед выполнением, таймауты и перезапись результата, поэтому политики разрешения и отказа действуют единообразно.

Типичные сбои и что проверять

Ключ. При ошибке аутентификации проверьте, доступна ли переменная окружения процессу Harness и подходит ли токен выбранному серверу. Проверьте, что имя переменной в конфигурации совпадает с фактическим, а сама переменная видна процессу Harness. Токен в примерах передаётся через GITHUB_TOKEN и MCP_TOKEN.

Провайдер. Для сетевого сервера проверьте доступность адреса из той машины, где работает Harness. Сбои streamable HTTP всплывают по каждому запросу, а недостижимость приводит к повтору вызова. Если локальная программа не стартует, проверьте команду, аргументы и рабочую папку.

Модель. Модель видит инструменты под именами mcp__<serverName>__<rawName>. Если в промпте указано сырое имя без префикса, вызов не найдёт адресата. Имя serverName ограничено набором [A-Za-z0-9_-] и должно быть уникальным.

Сохранение изменений. Правки вступают в силу после перезапуска Harness. При сбое первичного соединения Harness всё равно стартует, инструменты этого сервера не появляются, а ошибка пишется в лог. Если выставить failOnStartupError: true, активация плагина отклоняется. Стартовая политика app-boot по-прежнему допускает, чтобы необязательная запись MCP упала без остановки Harness.

Переподключение. При обрыве соединения плагин переподключается сам: задержка растёт с 500 мс до 30 с, после чего набор инструментов обновляется, и прогресс виден в логах. Предел — 10 подряд неудачных попыток на один обрыв. Синхронизация инструментов слушает notifications/tools/list_changed, при сбое сохраняет прежнее поколение, а при конфликте регистрации откатывает целое поколение целиком и пишет заметную ошибку.

Диагностику похожих сбоев в других сервисах разбирает материал Алиса AI не работает: диагностика и решения.

Частые вопросы

Что нужно, чтобы подключить MCP-инструменты к DeepSeek?

Нужен DeepSeek Harness как хост и запись @deepseek-ai/dsh-mcp-client на каждый сервер. Для локальной программы указывают транспорт stdio с командой и аргументами, для сервиса по сети — streamable-http с адресом и заголовками. У каждого сервера должно быть уникальное имя serverName, а реквизиты доступа вы берёте у владельца сервера.

Где брать токен и адрес MCP-сервера?

У владельца или в документации того сервера, к которому вы подключаетесь. В примерах официальной документации токен GitHub приходит из переменной GITHUB_TOKEN, а токен сетевого сервера — из MCP_TOKEN в заголовке Authorization. Проверьте, что переменная окружения создана до запуска Harness, иначе поле останется пустым.

Как понять, что инструменты появились?

Модель видит их под стабильными именами вида mcp__github__create_issue. Имя строится из serverName и исходного имени инструмента, поэтому искать надо по своему пространству имён. Два сервера могут предоставлять инструмент search и сосуществовать как mcp__github__search и mcp__web__search.

Почему после перезапуска Harness инструменты не появились?

Проверьте сохранение конфигурации и лог ошибок. При сбое первичного соединения Harness стартует, но инструменты этого сервера не появляются. Причина бывает в команде и аргументах для stdio, в недоступном адресе для streamable-http, в слишком больших инструкциях сервера или в неуникальном serverName в области регистрации.

Работает ли это в веб-чате DeepSeek?

Мост живёт в Harness, поэтому веб-чат сам по себе MCP-инструменты не получает. Документация DeepSeek по function calling описывает совместимый с OpenAI и Anthropic API, поэтому DeepSeek можно использовать как backend-модель в сторонних агентах вроде Claude Code, GitHub Copilot или OpenCode. Настроить MCP-серверы для самостоятельного пути в VSCode поможет материал Как подключить DeepSeek к VSCode: три пути.

Читайте также

3 материала