Как подключить MCP-сервер КРАСОФТ

Пошаговые инструкции для популярных ИИ-клиентов: Claude Code, claude.ai и Claude Desktop, ChatGPT, Cursor, VS Code, Windsurf и любых других с поддержкой MCP. Везде нужен один и тот же адрес сервера — различается только место, куда его вставить.

Адрес сервера
https://zakupki.krasoft.ru/api/mcp

Транспорт — streamable HTTP (не SSE и не stdio). Один адрес для всех клиентов, отдельных «endpoint для инструментов» не существует.

Два способа подключиться
  • Без ключа — анонимно. Поиск извещений и карточки закупок с дневными квотами, ничего создавать не нужно. Для первого знакомства этого достаточно.
  • С ключом — ваш тариф. Ключ krsp_... даёт ассистенту лимиты и данные вашего тарифа. Передаётся в заголовке Authorization: Bearer krsp_...
  • Где взять ключ: войдите в аккаунт, откройте профиль, раздел «API-доступ (MCP)», нажмите «Создать ключ». Значение показывается один раз — у нас хранится только хеш. Активных ключей может быть до десяти, отозвать любой можно в любой момент.
  • В claude.ai, Claude Desktop и ChatGPT ключ не нужен вовсе — там вход по OAuth логином КРАСОФТ.

В инструкциях ниже оба варианта размечены такими бейджами — копируйте тот блок, который вам подходит.

Инструкции по клиентам

Claude Code (CLI)

Ключ опционален
  1. 1

    Откройте терминал и выполните одну из команд — в зависимости от способа подключения:

    Без ключа — анонимнодневные квоты, ничего создавать не нужно
    claude mcp add --transport http krasoft https://zakupki.krasoft.ru/api/mcp
    С ключом — ваш тарифподставьте свой ключ вместо krsp_...
    claude mcp add --transport http krasoft https://zakupki.krasoft.ru/api/mcp --header "Authorization: Bearer krsp_..."
  2. 2

    Проверьте подключение: запустите сессию Claude Code и выполните команду /mcp — в списке серверов появится krasoft со статусом connected и набором инструментов закупок.

Без ключа — анонимные квоты на поиски и карточки. С ключом — лимиты и данные вашего тарифа: на платном открываются исполнение контрактов и товарная аналитика.

claude.ai и Claude Desktop

OAuth — ключ не нужен
  1. 1

    Откройте настройки и найдите раздел «Коннекторы» (Connectors) — название и расположение могут отличаться в вашей версии приложения.

  2. 2

    Выберите добавление пользовательского коннектора (Add custom connector) и вставьте адрес сервера:

    https://zakupki.krasoft.ru/api/mcp
  3. 3

    Клиент предложит авторизацию — войдите логином и паролем КРАСОФТ через OAuth. Ключ krsp_... создавать не нужно.

  4. 4

    В новом диалоге включите коннектор в меню инструментов (если он не активен по умолчанию) и задайте вопрос о закупках.

Доступ после входа соответствует вашему тарифу на платформе: бесплатный аккаунт — повышенные квоты и сохранённые фильтры, платный — полные данные без дневных лимитов.

ChatGPT

OAuth — ключ не нужен
  1. 1

    Убедитесь, что ваш план ChatGPT поддерживает MCP-коннекторы — доступность функции зависит от плана подписки и региона.

  2. 2

    В настройках найдите раздел про коннекторы или приложения (Connectors — название может отличаться в вашей версии) и добавьте MCP-коннектор с адресом сервера:

    https://zakupki.krasoft.ru/api/mcp
  3. 3

    Пройдите авторизацию через OAuth — войдите логином КРАСОФТ. Доступ ассистента будет соответствовать вашему тарифу.

  4. 4

    Включите коннектор в диалоге и спросите про закупки — например, про активные тендеры в вашем регионе.

Если в вашем плане MCP-коннекторы недоступны, тот же сервер можно использовать через Claude, Cursor или любой другой клиент из этой инструкции.

Cursor

Ключ опционален
  1. 1

    Откройте файл ~/.cursor/mcp.json (глобально) или .cursor/mcp.json в корне проекта. То же можно сделать через настройки: раздел MCP (название может отличаться в вашей версии).

  2. 2

    Добавьте сервер — скопируйте подходящий вариант конфига. В анонимном варианте блока headers нет вовсе:

    Без ключа — анонимнодневные квоты, ничего создавать не нужно
    {
      "mcpServers": {
        "krasoft": {
          "url": "https://zakupki.krasoft.ru/api/mcp"
        }
      }
    }
    С ключом — ваш тарифподставьте свой ключ вместо krsp_...
    {
      "mcpServers": {
        "krasoft": {
          "url": "https://zakupki.krasoft.ru/api/mcp",
          "headers": {
            "Authorization": "Bearer krsp_..."
          }
        }
      }
    }
  3. 3

    Перезапустите Cursor или обновите список серверов в настройках MCP — сервер krasoft должен показать зелёный статус и список инструментов.

С ключом агент Cursor работает в лимитах вашего тарифа; без ключа — анонимные дневные квоты.

VS Code (Copilot)

Ключ опционален
  1. 1

    Создайте файл .vscode/mcp.json в корне проекта (или добавьте сервер через палитру команд — команда добавления MCP-сервера, название зависит от версии).

  2. 2

    Опишите сервер — обратите внимание на ключ верхнего уровня «servers». Выберите свой вариант:

    Без ключа — анонимнодневные квоты, ничего создавать не нужно
    {
      "servers": {
        "krasoft": {
          "type": "http",
          "url": "https://zakupki.krasoft.ru/api/mcp"
        }
      }
    }
    С ключом — ваш тарифподставьте свой ключ вместо krsp_...
    {
      "servers": {
        "krasoft": {
          "type": "http",
          "url": "https://zakupki.krasoft.ru/api/mcp",
          "headers": {
            "Authorization": "Bearer krsp_..."
          }
        }
      }
    }
  3. 3

    Откройте чат Copilot в режиме агента — инструменты закупок появятся в списке доступных инструментов.

Чтобы не хранить ключ в файле, VS Code умеет спрашивать секреты при старте — см. документацию по inputs в mcp.json. Ключ определяет уровень доступа: анонимный, бесплатный аккаунт или платный тариф с полными данными.

Windsurf, Cline и другие клиенты с JSON-конфигом

Ключ опционален
  1. 1

    Найдите, где клиент хранит конфигурацию MCP-серверов: обычно это JSON-файл или раздел настроек с названием вроде MCP Servers / Plugins (точное расположение — в документации клиента).

  2. 2

    Большинство клиентов используют тот же формат mcpServers, что и Cursor — скопируйте подходящий вариант:

    Без ключа — анонимнодневные квоты, ничего создавать не нужно
    {
      "mcpServers": {
        "krasoft": {
          "url": "https://zakupki.krasoft.ru/api/mcp"
        }
      }
    }
    С ключом — ваш тарифподставьте свой ключ вместо krsp_...
    {
      "mcpServers": {
        "krasoft": {
          "url": "https://zakupki.krasoft.ru/api/mcp",
          "headers": {
            "Authorization": "Bearer krsp_..."
          }
        }
      }
    }
  3. 3

    Если клиент требует явно указать тип транспорта — выбирайте streamable HTTP (иногда обозначается как http).

Подойдёт любой клиент с поддержкой MCP по streamable HTTP — специальной интеграции со стороны платформы не требуется.

Клиент поддерживает только stdio

Ключ опционален
  1. 1

    Старые версии некоторых клиентов не умеют удалённые HTTP-серверы и запускают MCP только локальной командой (stdio). Для них есть мост mcp-remote: локальный процесс, который пробрасывает stdio-клиент к нашему HTTP-серверу. Понадобится установленный Node.js.

  2. 2

    В конфиге клиента опишите сервер командой, а не адресом — выберите свой вариант (в анонимном нет аргументов --header):

    Без ключа — анонимнодневные квоты, ничего создавать не нужно
    {
      "mcpServers": {
        "krasoft": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://zakupki.krasoft.ru/api/mcp"
          ]
        }
      }
    }
    С ключом — ваш тарифподставьте свой ключ вместо krsp_...
    {
      "mcpServers": {
        "krasoft": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://zakupki.krasoft.ru/api/mcp",
            "--header",
            "Authorization: Bearer krsp_..."
          ]
        }
      }
    }
  3. 3

    Перезапустите клиент. При первом обращении npx скачает пакет — это займёт несколько секунд.

Если у клиента есть нативная поддержка streamable HTTP — используйте её напрямую, мост нужен только как запасной вариант.

Проверка подключения

Задайте ассистенту простой вопрос — так, как спросили бы коллегу:

Найди активные тендеры на канцтовары
  • Ассистент должен вызвать инструмент search_tenders и вернуть список живых извещений: названия, НМЦК, регионы и сроки подачи заявок.
  • Если вместо данных пришло сообщение о лимите или часть значений скрыта символами ### — подключение работает. Это граница вашего уровня доступа: сервер показывает, какие данные откроет регистрация или платный тариф.

Частые проблемы

Ошибка 401 Unauthorized — сервер не принимает ключ

Ключ отозван, истёк или скопирован с опечаткой. Восстановить значение нельзя: оно показывается один раз при создании, в базе хранится только хеш. Выпустите новый ключ в личном кабинете (профиль, раздел «API-доступ (MCP)») и замените его в конфиге клиента. Если ключ не нужен — уберите заголовок Authorization целиком: сервер работает и анонимно.

Ошибка 429 или ответ про исчерпанный лимит

Сработала дневная квота вашего уровня доступа: у анонимного доступа лимиты ниже, бесплатный аккаунт их повышает, на платных тарифах дневных лимитов нет. Квота обнуляется на следующий день. Чтобы поднять потолок — зарегистрируйтесь бесплатно и выпустите ключ либо подключите платный тариф.

Ошибка «Cannot convert argument to a ByteString» (Cursor, VS Code и другие)

В заголовок Authorization попал символ за пределами ASCII — чаще всего многоточие «…», если ключ вставлен из замаскированного значения или плейсхолдер krsp_... не заменён на настоящий ключ. Клиент не может собрать HTTP-заголовок и падает ещё до запроса к серверу. Вставьте полное значение ключа — оно состоит только из латиницы, цифр и знаков подчёркивания и показывается один раз при создании в кабинете. Если ключ не нужен, возьмите анонимный вариант конфига — в нём блока headers нет вовсе.

Клиент не видит сервер или подключение не устанавливается

Проверьте три вещи. Транспорт — streamable HTTP, не SSE и не stdio: в Claude Code это флаг --transport http, в JSON-конфигах — поле url, а не command. Адрес — ровно https://zakupki.krasoft.ru/api/mcp, без слэша на конце. Если клиент старый и поддерживает только stdio — подключайтесь через мост npx mcp-remote.

Инструменты подключились, но часть значений скрыта символами ###

Это не ошибка, а граница тарифа. Поиск извещений и карточки закупок открыты всем, а исполнение контрактов, товарные цены и глубокая аналитика входят в платные тарифы — на бесплатных уровнях такие значения маскируются. MCP-сервер зеркалит права веб-версии: что видно вам на сайте, то видно и ассистенту.

Не помогло? Напишите нам на support@krasoft.ru — разберёмся вместе.

Осталось выпустить ключ

Анонимный доступ уже работает, а ключ из личного кабинета поднимет лимиты и откроет данные вашего тарифа.