MCP (Model Context Protocol): полный обзор — как подключить ИИ к данным компании
Что такое MCP и почему его поддерживают Claude, ChatGPT и другие ассистенты: как устроен протокол, 8 сценариев, сравнение с другими способами дать ИИ доступ к данным, безопасность, пределы и примеры кода сервера.
Коротко
MCP (Model Context Protocol) — открытый стандарт подключения ИИ-ассистентов к данным и инструментам: на нём говорят Claude, ChatGPT, Gemini, VS Code и Cursor. Компания пишет один MCP-сервер — для своей CRM, склада, базы или документов, — и любой совместимый ассистент может читать данные и выполнять действия в пределах выданных прав, вместо того чтобы люди копировали таблицы в чат. Anthropic представила MCP в ноябре 2024 года, а с декабря 2025-го он развивается в Agentic AI Foundation при Linux Foundation. Главное, что нужно сделать правильно, — безопасность: сервер решает, что модели можно видеть и делать, запись требует подтверждения, а каждый вызов уходит в журнал.
MCP коротко: паспорт протокола
Главные факты одной таблицей: откуда протокол взялся, из чего состоит и кто его поддерживает.
- Что это
- Открытый протокол подключения ИИ-приложений к данным и инструментам
- Сравнение
- «USB-C для ИИ»: один разъём вместо отдельной интеграции под каждого ассистента
- История
- Представлен Anthropic в ноябре 2024 года
- Развитие
- С декабря 2025 года — Agentic AI Foundation при Linux Foundation
- Участники
- Хост (ИИ-приложение), клиент (соединение), сервер (ваша система)
- Что даёт сервер
- Инструменты (действия), ресурсы (данные для чтения), промпты (готовые шаблоны)
- Сообщения
- JSON-RPC 2.0
- Транспорт
- stdio на одной машине, Streamable HTTP по сети
- Авторизация
- OAuth 2.1 для удалённых серверов
- SDK
- TypeScript, Python, Go, Java, Kotlin, C#, Rust, PHP, Ruby, Swift
- Поддерживают
- Claude, ChatGPT, Gemini CLI, VS Code, Cursor и множество других инструментов
Как работает MCP простыми словами
Сам по себе ассистент ничего не знает о вашей компании. MCP даёт ему руки и глаза: сервер описывает, что доступно, — «найти заказ по номеру», «показать остатки», «прочитать условия доставки», — а ассистент по ходу разговора решает, чем воспользоваться. Модель не получает пароль от вашей базы — она получает список разрешённых действий.
Поскольку протокол везде один, один сервер работает и с Claude, и с ChatGPT, и с редактором кода. До MCP каждому ассистенту нужна была своя интеграция; теперь она пишется один раз, а выбор ассистента остаётся свободным.
- Список действий, а не пароль
- Один сервер для всех ассистентов
- Права задаёте вы
Для чего применяют MCP: 8 сценариев
От помощника для сотрудников до собственного продукта, с которым работают чужие ассистенты.
-
01
Помощник для сотрудников
«Какой статус у заказа 1042?», «Сколько осталось A-100?» — ответы по настоящим данным.
-
02
Вопросы к базе
«Сколько заказов вчера пришло из рекламы?» — ассистент строит запрос только на чтение.
-
03
База знаний и документы
Правила, договоры и инструкции находятся и цитируются со ссылкой на источник.
-
04
Действия в системах
Создать задачу в CRM, подготовить ответ, сменить статус — с подтверждением человеком.
-
05
Разработка
Claude Code и Cursor читают репозиторий, схему базы и документацию.
-
06
Поддержка
Ассистент видит историю клиента и его заказы, прежде чем предложить ответ.
-
07
Агентные сценарии
Агент проходит по нескольким системам шаг за шагом через их MCP-серверы.
-
08
Ваш продукт для чужих ассистентов
SaaS публикует MCP-сервер, и его клиенты работают с ним из своего Claude или ChatGPT.
MCP и другие способы: копирование в чат, интеграция по API, вызов функций
Четыре способа дать модели доступ к данным компании.
| Критерий | MCP | Копирование в чат | Своя интеграция под ассистента | Вызов функций в своём приложении |
|---|---|---|---|---|
| Работает с | любым совместимым ассистентом | любым чатом | одним ассистентом | вашим приложением |
| Свежесть данных | всегда актуальные | на момент копирования | актуальные | актуальные |
| Контроль доступа | права и журнал на сервере | нет: данные ушли | зависит от интеграции | в вашем коде |
| Смена ассистента | без переделки | — | новая интеграция | правка кода |
| Лучше всего для | сотрудников и агентов в системах компании | разового вопроса | старых решений | ИИ-функции внутри вашего продукта |
Безопасность MCP: что настроить в первую очередь
MCP-сервер — дверь в ваши системы. Эти правила решают, кто войдёт и чего сможет коснуться.
-
01
Минимум прав
Сервер работает под своей учётной записью с доступом только к тому, что нужно задаче.
-
02
По умолчанию — чтение
Действия, которые меняют данные, добавляются осознанно и по одному.
-
03
Подтверждение записи
Оплаты, отправка клиентам и удаление — только после «да» человека.
-
04
Журнал каждого вызова
Кто спросил, какой инструмент вызван, с какими аргументами и что вернулось.
-
05
Недоверие к результатам
Текст из документа или письма может содержать инструкции для модели — промпт-инъекцию. Сервер не даёт лишних прав из-за них.
-
06
Только проверенные серверы
Случайный MCP-сервер из интернета получает тот же доступ, что и ваш, — проверяйте код до подключения.
-
07
Ключи на стороне сервера
Пароли от систем никогда не попадают к модели — они живут в окружении сервера.
-
08
Доступ, который можно отозвать
Токены OAuth с ограниченной областью и сроком жизни, отзываемые одним нажатием.
Когда MCP оправдан, а когда нет
Десять типичных ситуаций с вердиктом.
-
Сотрудники спрашивают про заказы и остатки
Лучший выборОтветы по настоящим данным в привычном ассистенте.
-
Вопросы к базе без SQL
Лучший выборДоступ только на чтение к подготовленному представлению данных.
-
Внутренняя база знаний
Лучший выборДокументы находятся и цитируются со ссылкой на источник.
-
Разработка с ИИ-инструментами
Лучший выборРедактор видит схему, задачи и документацию.
-
SaaS, с которым клиенты работают из своих ассистентов
Лучший выборПубличный MCP-сервер с OAuth становится новым каналом.
-
Действия, которые меняют данные
ПодходитДа, с подтверждением и журналом; начинать с чтения.
-
Агенты в нескольких системах
ПодходитДа, с ограничением шагов и согласованием важных.
-
ИИ-функция внутри своего продукта
ПодходитЧасто проще обычный вызов функций в вашем коде.
-
Чат-бот для посетителей сайта
Другой языкПосетители не приходят со своими ассистентами — бот встраивается в сайт.
-
Разовый вопрос
Другой языкСервер избыточен; хватит выгрузки без личных данных.
Пределы MCP и частые ошибки
-
Отдать модели всю базу
Инструмент «выполни любой SQL» превращает одну промпт-инъекцию в утечку. Подготовленные запросы и представления безопаснее.
-
Слишком много инструментов
Десятки похожих инструментов путают модель; несколько понятных с хорошими описаниями работают лучше.
-
Расплывчатые описания
Модель выбирает инструмент по описанию — «получает данные» ей ничего не говорит.
-
Огромные ответы
Инструмент, возвращающий десять тысяч строк, съедает контекст и бюджет. Фильтруйте и разбивайте на страницы на сервере.
-
Запись без подтверждения
Модель может понять неправильно. Необратимым действиям нужен человек.
-
Нет журнала
Без него не понять, что сделал ассистент и почему.
Как внедрить MCP в компании
Начинать с малого и безопасного, потом расширять.
-
Выбрать вопросы
Какие вопросы сотрудники задают чаще всего и в каких системах лежат ответы.
-
Сначала чтение
Сервер с несколькими инструментами и ресурсами только на чтение.
-
Права и журнал
Служебная учётная запись, журнал вызовов, ключи в окружении.
-
Пилот с командой
Несколько человек пользуются в настоящей работе; журнал показывает, о чём спрашивают.
-
Действия с подтверждением
Запись добавляется по одному действию, каждое — с подтверждением.
Как выглядит MCP-сервер: 3 примера
Инструмент, ресурс и подключение сервера к ассистенту. Написаны на официальном SDK для TypeScript, проверены TypeScript 7 и вызовом настоящим MCP-клиентом.
Инструмент: остаток по артикулу
Ассистент вызывает его по ходу разговора; неверный аргумент отклоняет схема ещё до выполнения кода.
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { z } from 'zod';
// остатки живут в вашей системе; здесь — маленькая таблица для примера
const stock: Record<string, number> = { 'A-100': 8, 'B-200': 0 };
const server = new McpServer({ name: 'shop', version: '1.0.0' });
// инструмент: ассистент может его вызвать, а схема проверяет аргументы
server.registerTool(
'get_stock',
{
title: 'Остаток по артикулу',
description: 'Сколько единиц товара на складе',
inputSchema: { sku: z.string().describe('Артикул товара, например A-100') },
annotations: { readOnlyHint: true },
},
async ({ sku }) => {
const qty = stock[sku];
const text = qty === undefined ? `Нет товара ${sku}` : `${sku}: ${qty} шт.`;
return { content: [{ type: 'text', text }] };
},
);
await server.connect(new StdioServerTransport());
Ресурс: документ для чтения
Чтение без права изменить — самое безопасное, с чего стоит начать.
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new McpServer({ name: 'docs', version: '1.0.0' });
// ресурс: документ, который ассистент может прочитать, но не может изменить
server.registerResource(
'delivery-terms',
'docs://delivery-terms',
{ title: 'Условия доставки', mimeType: 'text/markdown' },
async (uri) => ({
contents: [{ uri: uri.href, text: '# Доставка\nКурьер: 1–2 дня. Самовывоз: в тот же день.' }],
}),
);
await server.connect(new StdioServerTransport());
Подключение сервера к ассистенту
Настройки в формате Claude Desktop и Claude Code: ключ живёт в окружении сервера, а не в чате.
{
"mcpServers": {
"shop": {
"command": "node",
"args": ["/srv/mcp/shop.js"],
"env": { "SHOP_API_KEY": "ключ-только-на-чтение" }
}
}
}
Вопросы о MCP
Что такое MCP простыми словами?
Общий язык, на котором ИИ-ассистенты разговаривают с вашими системами: сервер перечисляет, что можно делать, а ассистент пользуется этим по ходу разговора.
MCP поддерживает только Claude или ChatGPT тоже?
Оба, а также Gemini CLI, VS Code, Cursor и множество других инструментов. В этом и смысл стандарта.
Безопасно ли подключать ИИ к данным компании?
Настолько, насколько правильно настроен сервер: минимум прав, по умолчанию чтение, подтверждение записи и журнал. Копировать данные в чат руками — менее безопасно.
Обучается ли модель на наших данных?
Сам MCP данные на обучение не отправляет — это зависит от условий тарифа ассистента. Бизнес-тарифы и API обычно запрещают обучение на данных клиентов.
На чём пишут MCP-серверы?
Есть официальные SDK для TypeScript, Python, Go, Java, Kotlin, C#, Rust, PHP, Ruby и Swift.
Чем инструмент отличается от ресурса?
Инструмент — действие, которое модель решает вызвать; ресурс — данные, которые приложение даёт модели прочитать.
Локальный или удалённый сервер?
Локальный работает на компьютере сотрудника через stdio, удалённый — на вашем сервере по HTTP с OAuth; для команды удобнее второй.
Можно подключить нашу CRM и 1С?
Да, если у них есть API или база, из которой можно читать: MCP-сервер встаёт между ними и ассистентом.
Форма
Подключить ИИ
к вашим данным
Делаю MCP-серверы: Claude или ChatGPT получают доступ к вашим заказам, остаткам и документам — с правами, журналом каждого вызова и доступом, который можно отозвать в любой момент. Расскажите о системах — отвечу в течение рабочего дня.