MCP-инструменты
Как дать агенту руки: веб-поиск, SQL, CRM, свой API через открытый стандарт Model Context Protocol.
MCP — способ дать агенту руки. Он умеет не только отвечать, но и делать: искать в интернете, лазить в SQL, писать в CRM, дёргать ваш API. Без инструментов агент — говорящая энциклопедия; с инструментами — цифровой сотрудник.
Что такое MCP
MCP = Model Context Protocol. Открытый стандарт от Anthropic, выпущенный в ноябре 2024. Быстро стал индустриальным — его поддерживают Claude, OpenAI (через адаптер), Google, большинство open-source фреймворков.
Идея простая: LLM-агенту часто нужны внешние инструменты (поиск, CRM, БД, API). Если каждая платформа / модель придумывает свой формат описания инструментов — это хаос: интеграции пишутся под каждую комбинацию, переносимость нулевая.
MCP стандартизирует:
- Как инструмент описывает свою схему (имя, параметры, типы).
- Как агент его вызывает (JSON-RPC).
- Как сервер возвращает результат.
Аналогия
MCP — это USB для ИИ-инструментов. Раньше у каждого принтера был свой кабель. С USB — любой кабель подходит к любому порту. С MCP — любой инструмент подключается к любой LLM.
Практически — вам не надо переписывать интеграции при смене LLM. Сделали MCP-сервер для вашего CRM один раз — используете везде: с Claude, с GPT, через OpenRouter, с локальной Llama.
Зачем это бизнесу
Без MCP агент = отвечающая машина. Он может:
- Ответить на вопрос по базе знаний.
- Провести клиента по flow.
- Вежливо перевести на оператора.
Но он не может сам:
- Записать клиента в CRM.
- Проверить статус заказа в вашей системе.
- Отправить SMS / email.
- Обработать платёж.
- Забронировать встречу в календаре.
С MCP всё это становится возможным.
Пример — разница очевидна
Клиент: Где мой заказ №12345? Агент: К сожалению, я не имею доступа к системе заказов. Попробуйте написать оператору или зайдите в личный кабинет на сайте.
(Клиент раздражается — ему надо было «сейчас и здесь», а его отфутболили. Уходит искать оператора.)
Клиент: Где мой заказ №12345? Агент: (вызывает
order_status({id: 12345}), получает JSON из вашей CRM) Ваш заказ №12345 в пути, прибудет завтра до 14:00. Курьер Иван Петров, +79161234567. Трек-номер: RU123456789. Что-то ещё уточнить?
(Клиент получил точный ответ за 2 секунды. NPS +1.)
Что можно реально делать через MCP
CRM
Чтение/создание/обновление лидов, сделок, контактов в AmoCRM, Битрикс, Salesforce, HubSpot.
Календарь
Проверка свободных слотов, бронирование встреч в Google Calendar, Outlook.
Платежи
Создание счетов, проверка статусов платежей через Stripe, ЮKassa, Тинькофф.
Мессенджеры
Отправка сообщений в Slack, Telegram, WhatsApp, Viber.
E-commerce
Статусы заказов, складские остатки, возвраты в Shopify, WooCommerce, 1С.
Ticket-системы
Создание и трекинг тикетов в Jira, Linear, Zendesk, ServiceNow.
SQL
Прямые запросы к вашей БД (read-only, с whitelist безопасных запросов).
Веб-поиск
Актуальная информация из интернета через Exa, Tavily, Perplexity.
Files
Чтение/запись документов в S3, Google Drive, Dropbox, Notion.
Как работает MCP — технически (для понимания)
Это не обязательно знать для использования, но помогает, если будете подключать свой сервер.
Три компонента
MCP-сервер (backend)
Сервер, который предоставляет инструменты. Живёт у вас (если самописный) или на стороне поставщика (готовые серверы типа Exa).
Выставляет JSON-RPC API: «вот список инструментов, которые я умею».
MCP-клиент (агент / платформа)
Это наша платформа. Она подключается к серверу и получает список инструментов, их схемы, описания.
Вызов инструмента
Агент в диалоге понимает: «надо вызвать order_status с параметром
id=12345». Отправляет JSON-RPC вызов на сервер. Получает JSON с
результатом. Использует результат в ответе клиенту.
Как агент «знает» про инструмент
У каждого инструмента есть схема — имя, описание на человеческом языке, параметры с типами:
{
"name": "order_status",
"description": "Возвращает статус заказа по его номеру. Используй,
если клиент спрашивает «где мой заказ», «когда приедет»,
«что с доставкой».",
"parameters": {
"id": {
"type": "number",
"description": "Номер заказа (6-значное число)"
}
}
}Все схемы от всех подключённых MCP-серверов передаются в LLM вместе с системным промптом. Модель видит, что у неё есть, и сама решает, когда и с какими параметрами вызвать.
Описание инструмента = промпт для агента
Одна из главных ошибок — халатно написанные описания. Пишите ясно и конкретно:
❌ "get stuff" — агент не поймёт, когда вызывать.
✅ "Возвращает статус заказа по номеру. Используй, если клиент спрашивает 'где мой заказ', 'когда приедет'."
Хорошее описание может повысить точность вызова с 50% до 95%.
Каталог встроенных MCP
В платформе есть готовый каталог. Достаточно включить галочкой и заполнить ключи.
Веб-поиск
- exa — семантический поиск в интернете. Хорошо для «свежей информации», «что сейчас происходит с X», «найди статьи о Y». API-ключ от exa.ai.
- tavily — альтернатива Exa, чуть дешевле, включает краулинг конкретных страниц. API-ключ от tavily.com.
Данные
- sql — выполнение SQL-запросов к вашей БД. Нужен DSN
(
postgres://user:pass@host:5432/dbname). Только read-only, по whitelist-запросам для безопасности. - filesystem — чтение файлов из выделенной папки (например,
/data/shared-docs). Ограничение по пути, никаких..— безопасно.
HTTP
- http-fetch — универсальный HTTP-запрос по URL. Agent может получить JSON с любого открытого API. Полезно для API ваших внутренних систем без отдельного MCP-сервера.
Подключение — 3 клика
Настройки → MCP-серверы.
Найдите нужный в каталоге, нажмите «Включить».
Заполните параметры (API-ключ для exa/tavily, DSN для sql).
Сохраните. Инструмент сразу доступен всем агентам воркспейса.
Подключение своего MCP-сервера
Если нужного инструмента нет в каталоге — подключите свой. Это стандартный MCP-сервер, написанный на любом языке.
Варианты
На modelcontextprotocol.io — сотни серверов. Популярные:
- Slack — отправка сообщений и чтение каналов.
- Gmail / Google Calendar / Google Drive — Google-экосистема.
- GitHub / GitLab — работа с репозиториями, issues, PR.
- Notion — чтение и запись страниц.
- Jira / Linear / Zendesk / ServiceNow — трекеры и help-desk.
- HubSpot / Salesforce / AmoCRM / Bitrix24 — CRM.
- Shopify / WooCommerce / 1С — e-commerce и учёт.
- PostgreSQL / MySQL / MongoDB / Redis — базы данных.
- AWS / Azure / GCP — облачные сервисы.
Клонируете репо, запускаете у себя, подключаете в платформе.
Нужно для редких внутренних систем (ваш самописный CRM, ERP, биллинг).
SDK есть для:
- TypeScript / Node.js — официальный MCP SDK от Anthropic.
- Python — официальный + популярные форки.
- Go — сообщество.
- Rust — сообщество.
- Java — сообщество.
Размер типичного сервера: 100-300 строк кода. Один разработчик делает за 1-2 дня.
Что писать:
- Список инструментов (имена, описания, схемы параметров).
- Обработчик каждого инструмента (что выполнять, что возвращать).
- Запуск сервера на HTTP или stdio.
Официальный туториал на modelcontextprotocol.io/docs.
Как подключить в платформе
Имя сервера
Человеческое, для админки («Наш CRM», «Внутренний биллинг»).
URL сервера
Адрес где живёт ваш MCP-сервер. Может быть внутренним URL в VPN — публичным делать не обязательно, если платформа и сервер в одной сети.
Переменные окружения
Если серверу нужны API-ключи / конфиги — передаются как env. Например:
CRM_API_KEY=sk-xxx
DATABASE_URL=postgres://...Переменные хранятся в зашифрованном виде.
Платформа проверяет подключение
Дёргает сервер, получает список инструментов, показывает их в UI. Если всё ОК — можно включить.
Включить + привязать к агенту
Сам факт подключения сервера к воркспейсу не даёт агентам доступ. В настройках каждого агента отметьте галочкой, какие инструменты ему доступны.
Привязка к агенту
Подключение сервера к воркспейсу и выдача инструмента агенту — две разные операции. Сначала подключаете сервер в настройках воркспейса. Потом заходите в каждого агента и даёте ему нужные инструменты.
Настройки агента → Инструменты → галочки.
Принципы выбора инструментов для агента
Чем меньше инструментов у агента, тем лучше он работает. Не давайте ему «всё подряд» — модель начнёт путаться, вызывать не по делу, генерировать больше токенов зря.
Хорошо: у агента записи — book_appointment, check_availability,
cancel_appointment. Ничего лишнего.
Плохо: у того же агента ещё send_email, query_sql, exa_search,
upload_file. LLM будет периодически «уходить не туда» и вызывать что-то
ненужное.
Типичные наборы по типам агентов
- Агент записи:
book_appointment,check_availability,cancel_appointment,reschedule. - Агент поддержки:
order_status,search_docs,create_ticket,escalate_to_manager. - Агент продаж:
get_lead_info,qualify_lead,schedule_demo,send_quote,check_inventory. - Агент-ресёрчер:
exa,tavily,fetch_url,summarize. - Внутренний аналитик:
sql,generate_report,send_to_slack.
Безопасность
MCP — мощное оружие. Агент сам решает, когда дёргать. Это значит — если инструмент может что-то сломать, он может что-то сломать.
Принципы безопасной интеграции
- Никогда не давайте агенту инструмент
DELETE/DROP/TRUNCATEбез подтверждения черезhuman-gateво flow. - SQL-инструмент должен работать через read-only пользователя БД. Лучше — через whitelist конкретных запросов с параметрами.
- API-ключи в
envMCP-сервера — с минимально необходимыми правами. Не давайте агенту ключ с правами админа, если нужно только чтение. - Все вызовы логируются в
mcp_invocations. Раз в неделю просматривайте логи — нет ли подозрительных вызовов. - Для критичных операций (удаление, массовая рассылка, смена пароля)
— всегда через ноду
human-gateво flow, чтобы человек подтвердил.
Изоляция воркспейсов
MCP-серверы, подключённые в одном воркспейсе, не видны в другом. Если у вас несколько брендов — у каждого свой CRM-сервер со своими ключами. Нет утечки между воркспейсами.
Типичные ошибки безопасности
Квоты
| План | Вызовов инструментов / месяц |
|---|---|
| Free | 10 000 |
| Pro | 1 000 000 |
| Enterprise | По договору |
Один диалог клиента = обычно 2-10 вызовов инструментов (проверка статуса, создание записи, уведомление).
Реалистичная нагрузка:
- 1K диалогов/день × 5 вызовов = 150K/мес.
- На Pro хватает с большим запасом.
Отладка
Настройки → MCP-серверы → карточка сервера → «Статистика» — показывает:
- Количество вызовов за период.
- Успешность (процент 2xx).
- Средняя задержка.
- Ошибки с детализацией.
Алгоритм отладки «агент не вызывает инструмент»
Проверьте галочку
В настройках агента — отмечен ли инструмент?
Проверьте enableMcpTools
В продвинутых настройках агента должно быть true.
Проверьте описание инструмента
Читается ли человеком? Понятно ли, когда вызывать? Исправьте на что-то вроде: «Используй, когда клиент спрашивает X, Y или Z».
Добавьте прямую инструкцию в системный промпт
Для записи на приём ВСЕГДА используй инструмент `book_appointment`.
Не пытайся записать вручную или сказать клиенту «зайдите на сайт».Проверьте логи
MCP-серверы → Статистика — был ли вызов вообще? С какими параметрами?