Как подключить 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
Откройте терминал и выполните одну из команд — в зависимости от способа подключения:
Без ключа — анонимнодневные квоты, ничего создавать не нужно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
Проверьте подключение: запустите сессию Claude Code и выполните команду
/mcp— в списке серверов появитсяkrasoftсо статусом connected и набором инструментов закупок.
Без ключа — анонимные квоты на поиски и карточки. С ключом — лимиты и данные вашего тарифа: на платном открываются исполнение контрактов и товарная аналитика.
claude.ai и Claude Desktop
OAuth — ключ не нужен- 1
Откройте настройки и найдите раздел «Коннекторы» (Connectors) — название и расположение могут отличаться в вашей версии приложения.
- 2
Выберите добавление пользовательского коннектора (Add custom connector) и вставьте адрес сервера:
https://zakupki.krasoft.ru/api/mcp
- 3
Клиент предложит авторизацию — войдите логином и паролем КРАСОФТ через OAuth. Ключ
krsp_...создавать не нужно. - 4
В новом диалоге включите коннектор в меню инструментов (если он не активен по умолчанию) и задайте вопрос о закупках.
Доступ после входа соответствует вашему тарифу на платформе: бесплатный аккаунт — повышенные квоты и сохранённые фильтры, платный — полные данные без дневных лимитов.
ChatGPT
OAuth — ключ не нужен- 1
Убедитесь, что ваш план ChatGPT поддерживает MCP-коннекторы — доступность функции зависит от плана подписки и региона.
- 2
В настройках найдите раздел про коннекторы или приложения (Connectors — название может отличаться в вашей версии) и добавьте MCP-коннектор с адресом сервера:
https://zakupki.krasoft.ru/api/mcp
- 3
Пройдите авторизацию через OAuth — войдите логином КРАСОФТ. Доступ ассистента будет соответствовать вашему тарифу.
- 4
Включите коннектор в диалоге и спросите про закупки — например, про активные тендеры в вашем регионе.
Если в вашем плане MCP-коннекторы недоступны, тот же сервер можно использовать через Claude, Cursor или любой другой клиент из этой инструкции.
Cursor
Ключ опционален- 1
Откройте файл
~/.cursor/mcp.json(глобально) или.cursor/mcp.jsonв корне проекта. То же можно сделать через настройки: раздел MCP (название может отличаться в вашей версии). - 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
Перезапустите Cursor или обновите список серверов в настройках MCP — сервер
krasoftдолжен показать зелёный статус и список инструментов.
С ключом агент Cursor работает в лимитах вашего тарифа; без ключа — анонимные дневные квоты.
VS Code (Copilot)
Ключ опционален- 1
Создайте файл
.vscode/mcp.jsonв корне проекта (или добавьте сервер через палитру команд — команда добавления MCP-сервера, название зависит от версии). - 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
Откройте чат Copilot в режиме агента — инструменты закупок появятся в списке доступных инструментов.
Чтобы не хранить ключ в файле, VS Code умеет спрашивать секреты при старте — см. документацию по inputs в mcp.json. Ключ определяет уровень доступа: анонимный, бесплатный аккаунт или платный тариф с полными данными.
Windsurf, Cline и другие клиенты с JSON-конфигом
Ключ опционален- 1
Найдите, где клиент хранит конфигурацию MCP-серверов: обычно это JSON-файл или раздел настроек с названием вроде MCP Servers / Plugins (точное расположение — в документации клиента).
- 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
Если клиент требует явно указать тип транспорта — выбирайте streamable HTTP (иногда обозначается как http).
Подойдёт любой клиент с поддержкой MCP по streamable HTTP — специальной интеграции со стороны платформы не требуется.
Клиент поддерживает только stdio
Ключ опционален- 1
Старые версии некоторых клиентов не умеют удалённые HTTP-серверы и запускают MCP только локальной командой (stdio). Для них есть мост
mcp-remote: локальный процесс, который пробрасывает stdio-клиент к нашему HTTP-серверу. Понадобится установленный Node.js. - 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
Перезапустите клиент. При первом обращении
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 — разберёмся вместе.
Осталось выпустить ключ
Анонимный доступ уже работает, а ключ из личного кабинета поднимет лимиты и откроет данные вашего тарифа.