Что такое MCP простыми словами
MCP (Model Context Protocol) — открытый стандарт для подключения ИИ-приложений к внешним системам: файлам, базам данных, поисковым системам, сервисам. Его развивает проект на сайте modelcontextprotocol.io, там же опубликована спецификация.
Без общего стандарта каждое ИИ-приложение пришлось бы учить работать с каждым сервисом отдельно. С MCP сервис один раз описывает свои возможности в общем формате, и любое приложение с поддержкой протокола ими пользуется. Документация протокола сравнивает MCP с портом USB-C: один разъём вместо набора разных.
Протокол описывает только обмен между приложением и внешней системой. Как приложение общается с моделью и что делает с полученным контекстом, он не определяет.
Что такое MCP-сервер и чем он отличается от клиента
MCP-сервер — программа, которая выдаёт ИИ-приложению контекст и действия: данные, которые можно прочитать, и операции, которые можно выполнить. Слово «сервер» не говорит, где она работает: на вашем компьютере или в облаке.
В протоколе три участника:
| Участник | Что это | Пример |
|---|---|---|
| Хост | ИИ-приложение, которое управляет соединениями | Claude Desktop, Visual Studio Code |
| Клиент | Часть хоста, которая держит соединение с одним сервером и забирает у него контекст | Создаётся хостом на каждый сервер |
| Сервер | Программа, которая выдаёт контекст и действия | Сервер файлов, сервер Sentry |
Для вас это значит, что сервер пишется или подключается один раз, а клиентов у него может быть много.
Из чего состоит MCP-сервер: инструменты, ресурсы и подсказки
Сервер может выдавать три вида возможностей:
| Что | Для чего | Пример |
|---|---|---|
| Инструменты (tools) | Действия, которые ИИ может вызвать | Запрос к базе, обращение к API, операция с файлом |
| Ресурсы (resources) | Данные как контекст для модели | Содержимое файла, запись в базе, ответ API |
| Подсказки (prompts) | Готовые шаблоны обращения к модели | Системная инструкция, примеры запросов |
Дальше речь об инструментах. Описание инструмента состоит из имени, пояснения и схемы аргументов в формате JSON Schema. По этому описанию модель понимает, когда инструмент нужен и что ему передать. Спецификация рекомендует давать инструментам имена до 128 знаков из латинских букв, цифр, подчёркивания, дефиса и точки, без повторов внутри сервера.
Как проходит один вызов: пример «сколько заказов было вчера»
Допустим, к приложению подключён сервер с инструментом count_orders, у которого один аргумент — дата. Вызов проходит так:
- При подключении клиент запрашивает у сервера список инструментов (
tools/list) и передаёт его модели. - Вы пишете: «Сколько заказов было вчера?» Модель видит вопрос и описания инструментов и выбирает
count_ordersс датой вчерашнего дня. Сама модель ничего не выполняет: она формирует вызов. - Клиент отправляет серверу запрос
tools/callс именем инструмента и аргументами. Спецификация рекомендует, чтобы у человека была возможность отклонить вызов. - Сервер выполняет работу: обращается к базе или API, считает, возвращает результат.
- Модель получает результат и формулирует ответ: «Вчера было 42 заказа». Число 42 здесь взято для примера.
Запрос и ответ выглядят так (служебные поля опущены):
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "count_orders",
"arguments": { "date": "2026-10-08" }
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [{ "type": "text", "text": "Orders on 2026-10-08: 42" }],
"isError": false
}
}
Если инструмент не справился, сервер возвращает результат с признаком isError: true и поясняет причину. Спецификация советует клиентам передавать такую ошибку модели: тогда модель может исправить аргументы и повторить вызов.
Где живёт MCP-сервер и как он работает
Протокол определяет два стандартных способа связи клиента с сервером.
| Где работает сервер | Как связан с клиентом | Кто пользуется |
|---|---|---|
| На вашем компьютере | Через стандартные потоки ввода и вывода (stdio): приложение запускает программу и обменивается с ней сообщениями | Обычно один клиент |
| На стороне сервиса или в облаке | По сети, Streamable HTTP: сообщение — запрос HTTP POST, ответ приходит как JSON или потоком | Много клиентов сразу |
Первый вариант называют локальным сервером, второй — удалённым. Например, сервер Sentry работает на платформе самого сервиса и подключается по сети.
Сообщения в обоих случаях устроены одинаково: это запросы и ответы в формате JSON-RPC 2.0. Для доступа к удалённому серверу применяются токены, ключи API и особые заголовки; протокол рекомендует получать токены через OAuth.
Протокол развивается. Последняя редакция спецификации на сайте протокола датирована 28 июля 2026 года; в прежних редакциях соединение начиналось с обмена приветствиями (initialize). Поэтому примеры кода в старых статьях могут отличаться от современных. Актуальный текст — в спецификации MCP на сайте modelcontextprotocol.io, в разделе Specification.
Безопасно ли подключать MCP-сервер
Протокол даёт рекомендации, но гарантии безопасности он не даёт. Спецификация требует от сервера проверять входные данные, ограничивать доступ и частоту вызовов. От клиента она ждёт, что он покажет человеку, какие данные уходят серверу, и запросит подтверждение для чувствительных операций.
Из этого следуют правила для вас:
- дайте серверу минимальные права; для первого подключения подойдёт ключ только на чтение;
- читайте, какие вызовы просит выполнить приложение, прежде чем подтверждать;
- не подключайте незнакомые серверы: сервер получает всё, что ему передаст модель;
- храните пароли и токены отдельно от текста запросов.
Готовые MCP-серверы и свои
Для распространённых систем есть готовые серверы. Проект протокола ведёт репозиторий с эталонными реализациями: файлы, Git, загрузка веб-страниц, память, время. По описанию репозитория, это образцы для демонстрации возможностей; к промышленной работе они не готовы, и безопасность в своей ситуации оценивает разработчик. Опубликованные серверы ищут в реестре MCP Registry. Часть сервисов выпускает собственные удалённые серверы.
Готового сервера хватает, когда он подключает стандартный продукт. Свой нужен, когда вы работаете со своей системой, со своими правилами доступа или хотите ограничить набор действий. Примеры: база 1С, как описано в статье MCP для 1С, или кабинеты продавца, как на странице MCP для Ozon и Wildberries.
MCP и обычный API: в чём разница
| Обычный API | MCP-сервер | |
|---|---|---|
| Для кого | Для программиста, который знает сервис | Для любого приложения с поддержкой MCP |
| Как узнать возможности | Читать документацию | Клиент запрашивает список инструментов и получает описание |
| Описание для модели | Нужен код-посредник, который передаёт модели методы API | Имя, пояснение и схема аргументов в самом сервере |
MCP не заменяет API. Сервер обычно стоит над API сервиса и переводит его методы в инструменты, понятные модели.
Зачем нужен MCP-сервер
Документация протокола приводит такие сценарии: ассистент работает с календарём и заметками, корпоративный чат подключается к нескольким базам, ИИ строит 3D-модель в Blender. Для бизнеса пример проще: спросить базу «сколько заказов вчера», выгрузить отчёт, найти документ, сверить остатки. Каждое такое действие сервер оформляет как инструмент, и модель вызывает его, когда вы задаёте вопрос.
Документация перечисляет выгоды по ролям. Разработчику нужно меньше времени на интеграцию, приложению доступна экосистема источников данных и инструментов, человеку — более способные ИИ-приложения. Один и тот же сервер обслуживает разные приложения, и под каждое писать отдельную интеграцию не нужно.
С чего начать, если MCP нужен вам
- Назовите систему, с которой ИИ должен работать, и действия: прочитать, посчитать, выгрузить. Начните с чтения.
- Проверьте, есть ли для неё готовый сервер и кто его выпускает: сам сервис или сторонний автор. Сторонний сервер видит всё, что ему передаст модель.
- Если готового нет или он не подходит, опишите свой: список инструментов и аргументы каждого. В Allokai это делается в чате.
- Выдайте минимальные права и проверьте первые ответы на данных, результат которых вы знаете.
- К регулярной работе по расписанию подключайте сервер после этой проверки.
Свой MCP-сервер в Allokai
В Allokai каждое приложение, которое собирает агент, — MCP-сервер. Вы описываете задачу в чате, агент пишет сервер, запускает его в облаке и создаёт ключ доступа. По адресу сервера и ключу его инструменты может вызывать другая программа, например ИИ-клиент или скрипт. Ключ можно отозвать. Пошаговое описание — в статье создание MCP-сервера в чате.
К сервису можно подключиться и без MCP: с любым сервисом, у которого есть API, агент работает через подключение, которое сам пишет под задачу, а в сервис без API входит через свой браузер.
Чего здесь нет
Мы не проверяли, что любая программа с поддержкой MCP подключится к серверу Allokai: у протокола несколько редакций. Каталога или магазина серверов в Allokai нет, готовых серверов «из коробки» тоже. Агент пишет код сервера, но проверять результат нужно вам: вызовите инструменты на своих данных и сверьте ответы.