Как подключить MCP к своей CRM по ключу API
Опубликовано
Claude, ChatGPT и Cursor подключаются к MCP-серверам BotB2B через вход в аккаунт. Своему приложению — CRM, бэкенду, скрипту — входить в браузере некому. Для таких интеграций есть ключ API: выпускаете его в кабинете и передаёте в заголовке запроса. Ниже — где его взять, готовые запросы и что учесть.
Коротко. Свой OAuth-клиент со своим redirect_uri регистрировать не нужно — такие адреса возврата закрыты, чтобы никто не мог выманить доступ к аккаунту через поддельный экран входа. Вместо этого выпустите ключ API (bpat_…) на нужный MCP-сервер и отправляйте его в заголовке Authorization: Bearer. Для генерации текста тем же ключом работает OpenAI-совместимый API.
Когда нужен ключ, а когда OAuth
| Кто подключается | Способ |
|---|---|
| Claude, ChatGPT, Cursor, Claude Code | OAuth: добавьте адрес сервера как коннектор — см. Подключение MCP |
| Своя CRM, бэкенд, скрипт, n8n, Make | Ключ API — без входа в браузере |
Как выпустить ключ
- 1
Откройте раздел MCP в кабинете
ИИ-штат → MCP → Добавить и выберите сервер. Для генерации текста и картинок — «LLM — нейросети платформы» (
/api/mcp/llm). - 2
Вкладка «Своё приложение»
Последняя иконка с ключом в ряду клиентов. Укажите название (например, «CRM») и срок: 30 или 90 дней, год или бессрочно.
- 3
Скопируйте ключ
Ключ показывается один раз — сохраните его в секретах приложения. Потеряли — выпустите новый, а старый отзовите в списке «Ключи API».
Если к вашему ИИ-агенту уже подключён Base MCP, ключ можно выпустить и из чата: инструмент mcp_api_keys, действие create с параметрами name и serverName.
Запрос к MCP-серверу
Сервер говорит по протоколу MCP (Streamable HTTP, JSON-RPC 2.0 через POST). Список инструментов:
curl -s https://api.botb2b.ru/api/mcp/llm \
-H "Authorization: Bearer bpat_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Генерация текста инструментом text:
curl -s https://api.botb2b.ru/api/mcp/llm \
-H "Authorization: Bearer bpat_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"text","arguments":{"action":"generate","params":{"model":"deepseek-flash","system":"Отвечай только JSON","prompt":"Разбери ТЗ: …"}}}}'Список моделей — {"name":"text","arguments":{"action":"list_models"}}; в model передавайте id модели.
Текст в JSON через OpenAI-совместимый API
Если интеграции нужен просто ответ модели, удобнее OpenAI-совместимый API: подходит любой SDK OpenAI. baseURL — https://api.botb2b.ru/api/llm-proxy/open-ai/v1, apiKey — ваш ключ сервера LLM.
curl -s https://api.botb2b.ru/api/llm-proxy/open-ai/v1/chat/completions \
-H "Authorization: Bearer bpat_…" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-flash","messages":[{"role":"system","content":"Отвечай только JSON"},{"role":"user","content":"Разбери ТЗ: …"}],"response_format":{"type":"json_object"}}'Модели: GET https://api.botb2b.ru/api/llm-proxy/open-ai/v1/models. Ключи других серверов (CRM, Авито, Директ) этот API не открывают.
Правила и лимиты
- Один ключ — один MCP-сервер: ключ на
llmне пустит наavito. - Ключ занимает одно место в лимите MCP-серверов тарифа — как подключение из Claude. См. Тарифы и токены.
- Генерации списывают токены с баланса аккаунта.
- У серверов с аккаунтами (Авито, Директ, CRM) можно ограничить ключ отдельными аккаунтами и базами знаний — кнопки «Аккаунты» и «Базы знаний» в списке ключей.
- Сырой ключ BotB2B не хранит: только хэш. Отозванный ключ перестаёт работать со следующего запроса.
Ошибки
| Код | Что значит |
|---|---|
| 401 | Ключа нет, он отозван или истёк. В теле ответа — ссылка на инструкцию подключения. |
| 402 | На тарифе нет MCP или закончился пробный период. Ключ не отозван — заработает после оплаты. |
| 403 | Ключ выпущен на другой сервер. |
Агенту или разработчику, у которого ещё нет доступа, эта же инструкция отдаётся без авторизации: https://api.botb2b.ru/api/mcp-connect/<сервер> (например, /api/mcp-connect/llm).
Можно разрешить свой redirect_uri для OAuth?
Нет: произвольные адреса возврата закрыты, чтобы через поддельный экран входа нельзя было получить доступ к чужому аккаунту. Серверным интеграциям нужен ключ API — он не требует входа в браузере.
Сколько ключей можно выпустить?
До 20 активных, но каждый занимает место в лимите MCP-серверов тарифа. Ненужные ключи отзывайте.
Чем ключ API отличается от подключения в Claude?
Доступ тот же — инструменты одного MCP-сервера от вашего имени. Разница во входе: Claude получает токен через OAuth, ваше приложение — ключ, выпущенный в кабинете.
Смотрите также
Подключите BotB2B
Создайте аккаунт и выполните шаги подключения из этой инструкции.