Ещё недавно работа с нейросетью выглядела как бесконечный пинг-понг. Попросил написать функцию, скопировал её в редактор, получил ошибку, скопировал ошибку обратно в чат и так по кругу. Если хочешь, чтобы ИИ посмотрел таблицу, задачу в трекере или заметку, — сначала сам найди, выгрузи и вставь. Модель была умной, но слепой и без рук.

MCP эту ситуацию изменил. Теперь агент сам открывает нужные файлы, читает актуальную документацию, заходит в браузер, смотрит задачи и выполняет действия — в тех пределах, которые вы ему разрешили. Я собрал в одном материале всё, что нужно знать об MCP-серверах, от объяснения «на пальцах» до создания собственного сервера и правил безопасности.

Что такое MCP простыми словами

MCP (Model Context Protocol) — это открытый стандарт, который описывает, как ИИ-приложения подключаются к внешним данным и инструментам. Он задаёт общий язык: как приложение узнаёт, что умеет внешняя программа, как просит её что-то сделать и в каком виде получает ответ.

MCP-сервер — это конкретная программа, которая говорит на этом языке и даёт ИИ доступ к чему-то одному: к папке на диске, к GitHub, к базе данных, к CRM, к браузеру. Протокол — это правила, сервер — исполнитель этих правил. Их часто путают, но разница важная: MCP один, а серверов — тысячи.

Самая популярная аналогия — USB-C для искусственного интеллекта. Раньше у каждого устройства был свой разъём и свой провод. Потом появился единый стандарт, и одна зарядка подошла ко всему. С MCP то же самое: сервер, написанный один раз, работает в Claude, Cursor, VS Code, ChatGPT и любом другом приложении с поддержкой протокола.

Если USB кажется слишком «железной» аналогией, представьте международную конференцию. Можно нанять переводчика для каждой пары языков, а можно договориться, что все говорят по-английски. MCP и есть такой общий язык между нейросетями и внешними программами.

На практике это выглядит так. Вы пишете в чате: «Найди в моих заметках всё про запуск лендинга и составь список открытых задач». Модель видит, что у неё подключён сервер с доступом к заметкам, сама вызывает поиск, читает найденные файлы и собирает ответ. Вам не нужно ничего копировать и вставлять.

Откуда взялся MCP и кто им управляет

Протокол представила компания Anthropic, создатель Claude, 25 ноября 2024 года. Первыми его подхватили разработчики инструментов для программистов, а в течение 2025 года поддержку добавили OpenAI, Google, Microsoft, GitHub, Cursor и многие другие. Сегодня MCP работает в Copilot, VS Code, Gemini, Cursor и ChatGPT, то есть давно перестал быть «фишкой Claude».

9 декабря 2025 года Anthropic передала MCP в Linux Foundation. Под протокол и ещё два проекта — goose от Block и AGENTS.md от OpenAI — создали отдельную организацию Agentic AI Foundation (AAIF). Для пользователей это сигнал стабильности: стандартом управляет нейтральная структура, как это было с Linux и Kubernetes, а не одна компания.

Ещё одна деталь, которая сбивает с толку новичков: у спецификации MCP нет номеров версий вроде 2.0. Ревизии называются датами выхода. По состоянию на осень 2026 года актуальна ревизия 2026-07-28, она сменила 2025-11-25. Это самое крупное обновление с момента запуска:

  • ядро протокола стало stateless, то есть больше не держит постоянную сессию между клиентом и сервером: каждый запрос несёт весь нужный контекст;
  • устарели три старые клиентские возможности — roots, sampling и logging;
  • появились MCP Apps, с помощью которых инструменты могут показывать пользователю интерфейс, и Tasks для долгих операций;
  • авторизацию через OAuth заметно ужесточили.

Масштаб экосистемы впечатляет: число отслеживаемых серверов выросло с нескольких сотен до более чем 10 000, а официальный SDK скачивают свыше 97 млн раз в месяц. Для сравнения, это уже уровень инфраструктуры, а не модного эксперимента.

Какую проблему решает MCP

Главная проблема, которую закрывает MCP, называется N×M. Допустим, есть 5 ИИ-приложений и 20 сервисов, к которым их хочется подключить. Без общего стандарта нужно написать 5 × 20 = 100 отдельных интеграций, и каждую потом поддерживать. С MCP достаточно 20 серверов и поддержки протокола в 5 приложениях: 25 компонентов вместо 100. Каждый новый сервер сразу становится доступен во всех клиентах.

Вторая проблема — изоляция модели. Языковая модель знает только то, на чём её обучили, и то, что вы вставили в чат. Она не видит вашу почту, задачи в Jira, свежую документацию библиотеки или данные в CRM. MCP даёт ей контролируемый доступ к живому контексту и возможность не только читать, но и действовать: создать задачу, отправить сообщение, запустить тест.

Почему обычных API недостаточно

Логичный вопрос: у большинства сервисов уже есть API, зачем ещё один слой? Дело в том, кто потребитель. API проектировали для программ, которые написал человек. Программа заранее знает, какой эндпоинт вызвать и какие параметры передать.

Модель работает иначе. Она рассуждает вероятностно, на ходу решает, какой инструмент нужен, и может выстраивать цепочки вызовов. Ей нужно сначала узнать, что вообще доступно, прочитать понятное описание каждой возможности и только потом действовать. Именно это и даёт MCP:

  • динамическое обнаружение — клиент спрашивает у сервера список инструментов, а не хранит его в коде;
  • единые описания — у каждого инструмента есть название, текстовое описание и схема входных параметров в формате JSON Schema;
  • единый формат вызова и ответа — неважно, GitHub это, календарь или база данных.

При этом MCP не заменяет API. Обычно MCP-сервер внутри вызывает тот же REST или GraphQL API сервиса, просто упаковывает его в форму, удобную для модели.

Как устроен MCP

В основе MCP — классическая клиент-серверная схема с тремя участниками.

  • Хост (host) — приложение, в котором вы общаетесь с ИИ: Claude Desktop, Claude Code, Cursor, VS Code с Copilot, ChatGPT. Хост отвечает за интерфейс, решает, каким серверам доверять, и спрашивает у вас разрешения на действия.
  • Клиент (client) — компонент внутри хоста, который держит соединение с одним конкретным сервером. Связь всегда один к одному: подключили три сервера — внутри хоста работают три клиента.
  • Сервер (server) — отдельная лёгкая программа, которая даёт доступ к одному инструменту или источнику данных. Она бывает локальной, то есть запускается на вашем компьютере, или удалённой, то есть работает в интернете и подключается по адресу.

Важный момент: модель никогда не общается с сервером напрямую. Между ними всегда стоит хост. Модель лишь говорит «хочу вызвать такой-то инструмент с такими-то параметрами», а реальный вызов делает клиент. Поэтому ключи доступа и пароли хранятся у сервера, а не в чате.

Схема архитектуры MCP: хост, клиенты, серверы и источники данных

Архитектура MCP · хост, клиенты, серверы, источники данных

На схеме видно главное: внутри хоста столько клиентов, сколько подключено серверов, а модель общается с внешним миром только через них.

Два слоя протокола

Слой данных определяет, о чём говорят клиент и сервер. Сообщения передаются в формате JSON-RPC 2.0. Здесь описаны жизненный цикл соединения и основные сущности: инструменты, ресурсы и промпты.

Транспортный слой определяет, как сообщения доставляются. Вариантов два:

  • stdio — стандартный ввод-вывод. Хост запускает сервер как процесс на вашем компьютере и общается с ним напрямую, без сети. Так работают почти все локальные серверы.
  • Streamable HTTP — для удалённых серверов. Запросы идут обычным HTTP, а ответы при необходимости могут приходить потоком. Старый транспорт HTTP+SSE устарел, и в новых инструкциях вы его почти не встретите.

Что происходит, когда вы пишете запрос

  1. При подключении клиент спрашивает у сервера, что тот умеет. Сервер возвращает список инструментов с описаниями и схемами параметров.
  2. Вы пишете запрос в чате. Хост отправляет модели ваш текст вместе с описаниями всех доступных инструментов.
  3. Модель решает, нужен ли инструмент. Если да, она возвращает не текст, а вызов: имя инструмента и аргументы.
  4. Хост при необходимости спрашивает вашего подтверждения, а клиент передаёт вызов серверу.
  5. Сервер выполняет работу — читает файл, делает запрос к API, открывает страницу — и возвращает результат.
  6. Результат уходит модели. Она либо отвечает вам, либо вызывает следующий инструмент, и цикл повторяется.

Вот как упрощённо выглядит обмен на уровне протокола. Сначала клиент запрашивает список инструментов:

{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}

Затем, когда модель решила действовать, клиент вызывает конкретный инструмент:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "search_notes",
    "arguments": {"query": "лендинг"}
  }
}

Запоминать эти форматы не нужно: их за вас делают SDK и ИИ-приложения. Но понимание цикла сильно помогает, когда что-то не работает.

Инструменты, ресурсы и промпты: что именно даёт сервер

MCP-сервер может предоставить три вида возможностей. Их называют примитивами, и главное различие между ними — кто решает, когда их использовать.

Примитив Что это Кто управляет Пример
Инструменты (tools) Функции, которые выполняют действие или получают данные Модель сама решает, когда вызвать Создать задачу, выполнить SQL-запрос, открыть страницу в браузере
Ресурсы (resources) Данные, которые служат контекстом Приложение решает, что подгрузить Содержимое файла, схема базы данных, статья из базы знаний
Промпты (prompts) Готовые шаблоны запросов под типовую задачу Пользователь выбирает сам «Сделай код-ревью», «Подготовь еженедельный отчёт»

Инструменты — самый востребованный примитив. Большинство серверов, которые вы встретите, предоставляют только их. Каждый инструмент описан именем, понятным текстом о том, что он делает, и схемой параметров. По этому описанию модель и решает, подходит ли он для задачи. Поэтому качество описаний напрямую влияет на то, будет ли сервер вообще использоваться.

Ресурсы похожи на файлы, которые можно приложить к разговору. Модель не «вызывает» их сама — их подгружает приложение или выбирает пользователь.

Промпты — это заготовки, которые автор сервера сделал под свои инструменты. В Claude Code, например, они появляются как команды через косую черту.

Разберу на одном примере. Допустим, у вас есть сервер для поиска вакансий. Список Telegram-каналов с вакансиями — это ресурс. Скрипт, который собирает свежие объявления из этих каналов, — инструмент. Инструкция «отфильтруй вакансии под мой опыт и зарплатные ожидания и оформи таблицей» — промпт.

Возможности со стороны клиента

Кроме того, что сервер предоставляет клиенту, протокол описывает и обратное направление. Например, сервер может попросить у пользователя недостающие данные через хост — это называется elicitation. Раньше сервер мог также попросить модель хоста сгенерировать текст (sampling) или узнать, с какими папками ему разрешено работать (roots). В ревизии 2026-07-28 roots, sampling и logging объявлены устаревшими, поэтому строить на них новые решения я не советую.

Зато в новой ревизии появились две важные вещи:

  • MCP Apps — инструмент может заранее объявить свой интерфейс. Хост показывает его пользователю прямо в чате: форму, таблицу, карточку. Хосту удобно заранее загрузить и проверить такой шаблон до запуска инструмента.
  • Tasks — механизм для долгих операций, которые не укладываются в один быстрый ответ: генерация отчёта, сборка проекта, обработка большого файла.

Чем MCP отличается от API, function calling, RAG и других технологий

Вокруг ИИ-агентов много похожих терминов, и их постоянно путают. Я свёл главные в одну таблицу. Коротко: MCP — это стандартный разъём для подключения инструментов, а не замена всему остальному.

Технология Что это Чем отличается от MCP Когда выбирать
API Правила, по которым одна программа обращается к другой У каждого сервиса свой API. MCP-сервер обычно оборачивает API в единый формат, понятный модели Интеграция между обычными программами без ИИ
Function calling Возможность модели вернуть вызов функции вместо текста Это механизм внутри конкретной модели. MCP стандартизирует, откуда берутся функции и как их подключить к любому приложению Свой продукт с парой жёстко зашитых функций
Плагины и GPTs Расширения для конкретной платформы Привязаны к одной экосистеме. MCP-сервер работает в любом совместимом клиенте Решение живёт только внутри одной платформы
RAG Поиск по базе знаний и подстановка найденного в запрос RAG отвечает на вопрос «что подложить модели». MCP — «как подключить источник». Поиск по базе знаний вполне может работать как MCP-сервер Нужны ответы по большому массиву документов
Skills и AGENTS.md Файлы с инструкциями: как выполнять задачу, какие правила соблюдать в проекте Описывают как работать, но не дают доступа к системам. MCP даёт доступ, skills — сценарий. Они отлично дополняют друг друга Повторяющиеся процессы с чёткими правилами
A2A Протокол общения агентов между собой MCP связывает агента с инструментами, A2A — агента с другим агентом Несколько агентов делят работу
n8n, Zapier, вебхуки Автоматизация по заранее заданному сценарию Сценарий жёсткий и предсказуемый. Через MCP модель сама решает, что и когда вызвать Процесс всегда одинаковый и не требует рассуждений

Отдельно скажу про последний пункт, потому что здесь чаще всего ошибаются. Если задача всегда решается одной и той же последовательностью шагов — например, новая заявка с сайта уходит в CRM и в Telegram, — классическая автоматизация надёжнее и дешевле. MCP раскрывается там, где нужно рассуждение: найти, сравнить, выбрать, отреагировать на нестандартную ситуацию. Кстати, у n8n и похожих платформ уже есть поддержка MCP в обе стороны, так что выбирать «или-или» не обязательно.

MCP и ИИ-агенты

MCP чаще всего обсуждают вместе с ИИ-агентами, и это не случайно. Агент — это приложение, в котором языковая модель не просто отвечает, а сама планирует шаги и выполняет их, пока задача не будет решена. Упрощённо у агента три опоры:

  • планирование — разбить задачу на шаги и решить, в каком порядке их выполнять;
  • память — краткосрочный контекст текущей задачи и долгосрочные знания о пользователе и проекте;
  • инструменты — всё, через что агент взаимодействует с внешним миром.

MCP закрывает третью опору. Без инструментов агент может только рассуждать вслух. С ними он открывает файлы, пишет в базу, отправляет сообщения и проверяет результат.

Для тех, кто строит агентов сам, у такого подхода есть приятный архитектурный бонус: логика доступа к данным отделяется от логики агента. Инструменты живут в MCP-серверах, и их можно развивать независимо:

  • добавлять новые инструменты и источники данных, не трогая агента;
  • версионировать сервер и откатывать неудачные изменения;
  • управлять доступом и безопасностью в одном месте — на сервере;
  • переиспользовать один и тот же сервер в разных агентах и приложениях.

А для обычного пользователя это значит простую вещь: подключив сервер один раз, вы прокачиваете сразу все свои ИИ-инструменты, которые поддерживают MCP.

Какие бывают MCP-серверы и где они полезны

Серверы удобно делить по трём признакам.

По назначению:

  • файловые — чтение, поиск и запись файлов в разрешённой папке;
  • базы данных — запросы к PostgreSQL, MySQL, MongoDB и другим хранилищам;
  • сервисы через API — GitHub, Jira, Notion, Slack, CRM, облачные платформы;
  • инструменты действий — терминал, отправка писем, создание задач;
  • браузерные — управление браузером: открыть страницу, кликнуть, заполнить форму;
  • документация и знания — актуальная документация библиотек, поиск по базе знаний;
  • «мыслительные» — помогают модели рассуждать пошагово, а не выдавать первый пришедший в голову ответ.

По способу запуска: локальные, которые работают на вашем компьютере через stdio, и удалённые, к которым вы подключаетесь по URL.

По происхождению: официальные серверы от самих сервисов, референсные серверы от команды MCP и community-серверы от сторонних разработчиков. Последних больше всего, и их качество очень разное.

Сценарии по ролям

Разработчикам. Сервер GitHub позволяет агенту смотреть issues и pull request’ы, читать нужные файлы без клонирования репозитория, создавать ветки. Context7 подтягивает документацию к той версии библиотеки, которую вы используете, — модель перестаёт выдумывать несуществующие методы. Playwright открывает ваше приложение в браузере, проходит сценарий и показывает, где он ломается. Серверы Sentry и баз данных дают агенту логи ошибок и реальные данные, а не ваш пересказ.

Бизнесу и менеджерам. Через серверы CRM, Jira, Confluence, Slack и Google Drive агент собирает статус по проектам, находит просроченные задачи, превращает протокол встречи в задачи с исполнителями, готовит отчёт по воронке продаж. Запрос «какие сделки зависли больше двух недель и почему» перестаёт быть часом ручной работы.

Маркетологам и SEO-специалистам. Агент может одновременно работать с выдачей, аналитикой, сайтом и документацией поисковиков. Пример с сервером пошагового мышления: на вопрос «почему упал трафик» обычная модель часто сразу отвечает «апдейт алгоритма, ждите». С пошаговым рассуждением она проверяет даты апдейтов, технические ошибки, какие запросы просели, смотрит конкурентов и только потом делает вывод.

Исследователям и аналитикам. Серверы веб-поиска, научных баз вроде arXiv и новостей дают модели свежие данные вместо устаревшего обучающего набора.

Дизайнерам. Серверы Figma передают агенту макеты и дизайн-токены, а Blender позволяет управлять 3D-сценой текстовыми командами.

Для личной продуктивности. Obsidian, Notion, календарь и почта превращают ИИ в ассистента, который знает ваши заметки и расписание.

Серверы, с которых стоит начать

Сервер Что делает Кому полезен Запуск
Filesystem Даёт доступ к выбранной папке: чтение, поиск, запись Всем, особенно для заметок и документов Локально, Node.js
Context7 Подтягивает актуальную документацию библиотек и фреймворков Разработчикам Удалённо, по URL
GitHub Работа с репозиториями, issues, pull request’ами Разработчикам Удалённо или локально
Playwright Управление браузером: страницы, клики, формы, скриншоты Разработчикам, тестировщикам, для сбора данных Локально, Node.js
Sequential Thinking Пошаговое рассуждение с возвратом к предыдущим шагам Для сложных аналитических задач Локально, Node.js
Notion, Atlassian, Slack Работа с базой знаний, задачами, чатами Командам и менеджерам Удалённо, официальные серверы
Sentry Ошибки и производительность приложения Разработчикам Удалённо
Figma Макеты, компоненты, дизайн-токены Дизайнерам и фронтендерам Зависит от варианта

Мой совет: не подключайте всё подряд. Начните с одного-двух серверов под конкретную задачу. Почему это важно, расскажу в разделе об ограничениях.

Где искать готовые серверы и как выбрать надёжный

Если задача типовая, сервер под неё почти наверняка уже написан. Искать вручную по GitHub не обязательно, есть каталоги:

  • Official MCP Registry — официальный реестр, который поддерживают участники экосистемы MCP. Хорошая отправная точка.
  • Glama — большой каталог с фильтрами по категории, языку и способу запуска, со списком инструментов каждого сервера.
  • PulseMCP — удобно смотреть новинки и то, что набирает популярность.
  • Docker MCP Catalog — серверы в контейнерах. Их меньше, но они изолированы от системы, что плюс для безопасности.
  • Каталоги внутри приложений — коннекторы в Claude и ChatGPT, каталог Cursor, галерея в VS Code. Там часто можно подключить сервер в один клик.

Чек-лист перед установкой

MCP-сервер получает реальный доступ к вашим файлам, аккаунтам или данным. Поэтому перед установкой незнакомого сервера я всегда проверяю пять вещей:

  1. Кто автор. Официальный сервер от самого сервиса — лучший вариант. Если автор неизвестен, смотрите на его профиль и другие проекты.
  2. Открыт ли код. Если исходников нет, сервер лучше не ставить.
  3. Когда было последнее обновление. Заброшенный год назад сервер может не работать с новой ревизией протокола.
  4. Какие права он просит. Серверу для чтения документации не нужен доступ к терминалу.
  5. Точное название пакета. Злоумышленники публикуют пакеты с похожими именами, отличающиеся одной буквой.

Какие приложения поддерживают MCP

Приложение Где подключаются серверы Особенности
Claude Desktop Файл конфигурации и раздел коннекторов Локальные серверы через конфиг, удалённые — через коннекторы
Claude Code Команда claude mcp add в терминале Разные области видимости: проект, пользователь
Claude в браузере Раздел коннекторов Только удалённые серверы
ChatGPT Коннекторы, режим разработчика Удалённые серверы
Cursor Настройки, файл mcp.json Глобально или для одного проекта
VS Code + GitHub Copilot Файл .vscode/mcp.json, команда MCP: Add Server Работает в агентном режиме чата
Windsurf, Zed, JetBrains, Gemini CLI, Codex Настройки или конфиг приложения Принцип тот же, отличается формат файла

Интерфейсы этих приложений меняются часто, поэтому названия пунктов меню у вас могут немного отличаться. Логика при этом остаётся прежней.

Что нужно подготовить перед подключением

Для удалённого сервера ничего ставить не нужно: вы просто указываете его адрес. Для локального нужна среда, в которой запускается его код. Без неё сервер не стартует, и это самая частая причина ошибок у новичков.

  • Node.js — для серверов на JavaScript и TypeScript. Таких большинство, обычно они запускаются командой npx. Скачать можно на nodejs.org.
  • Python — для серверов на Python. Их часто запускают через uvx из менеджера пакетов uv. Скачать — на python.org.
  • Docker — если сервер распространяется как контейнер.

Проверить, что всё установлено, можно в терминале:

node --version
python --version

Если в ответ появились номера версий, всё готово. Если терминал пишет, что команда не найдена, сначала установите нужную среду и перезапустите терминал.

Как устроена конфигурация

Конфигурация — это небольшой JSON-блок, который сообщает ИИ-приложению, какой сервер подключить и как его запустить. Не путайте её с самим протоколом: протокол одинаков для всех и работает в фоне, а конфигурация — просто инструкция по запуску конкретной программы.

Вот типичный пример для локального сервера:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/kirill/Documents/notes"],
      "env": {}
    }
  }
}
  • mcpServers — раздел, в котором перечислены все серверы.
  • filesystem — имя сервера. Его придумываете вы, оно отображается в интерфейсе.
  • command — чем запускать сервер: npx, uvx, python, docker.
  • args — аргументы запуска. Здесь флаг -y разрешает npx скачать пакет без вопросов, дальше идёт имя пакета и путь к папке, к которой сервер получит доступ.
  • env — переменные окружения. Сюда кладут API-ключи и токены, если сервер их требует.

Для удалённого сервера вместо команды указывают адрес:

{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

Писать конфигурацию с нуля почти никогда не приходится. Авторы серверов публикуют готовые блоки под разные приложения в README репозитория или на странице в каталоге. Ваша задача — скопировать, подставить свои пути и ключи и вставить в нужный файл. Один нюанс: VS Code использует ключ servers вместо mcpServers, об этом ниже.

Как подключить MCP-сервер: пошаговые инструкции

Во всех примерах ниже я подключаю один и тот же сервер Filesystem, чтобы было удобно сравнивать. Он даёт ИИ доступ к одной выбранной папке. Это хороший первый сервер: полезный, безопасный при правильной настройке и не требует ключей.

Cursor

В Cursor сервер можно подключить для всех проектов сразу или только для одного.

Для всех проектов:

  1. Откройте настройки Cursor и перейдите в раздел Tools & MCP.
  2. Нажмите Add Custom MCP (в некоторых версиях — New MCP Server). Откроется файл ~/.cursor/mcp.json.
  3. Вставьте конфигурацию внутрь раздела mcpServers и укажите путь к своей папке:
{
  "mcpServers": {
    "notes": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/kirill/Documents/notes"]
    }
  }
}
  1. Сохраните файл и вернитесь в настройки. Рядом с сервером должен появиться зелёный индикатор и число доступных инструментов. Если его нет, перезапустите Cursor.

Для одного проекта: в корне проекта создайте папку .cursor, а в ней файл mcp.json с той же структурой. Такой сервер будет виден только в этом проекте, а файл можно закоммитить, чтобы у всей команды была одинаковая настройка. Только не кладите туда ключи.

Чтобы добавить второй сервер, поставьте запятую после закрывающей скобки первого и допишите следующий блок внутри того же mcpServers.

Claude Desktop: локальный сервер

  1. Откройте Settings → Developer и нажмите Edit Config. Если раздела Developer не видно, включите режим разработчика через меню Help → Troubleshooting → Enable Developer Mode.
  2. Откроется файл claude_desktop_config.json. Он лежит в ~/Library/Application Support/Claude/ на macOS и в %APPDATA%\Claude\ на Windows.
  3. В файле уже могут быть другие настройки. Не удаляйте их: добавьте раздел mcpServers на верхнем уровне через запятую.
  4. Сохраните файл и полностью перезапустите Claude Desktop — не просто закройте окно, а выйдите из приложения. После этого инструменты сервера появятся в меню инструментов в окне чата.

Claude Desktop и Claude в браузере: удалённый сервер

Удалённые серверы подключаются без файлов, через раздел коннекторов. Покажу на примере Context7 — это сервис с актуальной документацией для разработчиков.

  1. Откройте раздел Connectors в настройках (в новых версиях он находится в меню Customize).
  2. Нажмите Add custom connector.
  3. Введите название, например Context7, и адрес сервера https://mcp.context7.com/mcp.
  4. Нажмите Add. Если сервер требует вход, откроется окно авторизации.

Коннекторы, добавленные в аккаунт, доступны и в Claude Desktop, и в веб-версии.

Claude Code

В Claude Code серверы добавляются командой в терминале:

# локальный сервер, доступный во всех ваших проектах
claude mcp add --scope user notes -- npx -y @modelcontextprotocol/server-filesystem ~/Documents/notes

# удалённый сервер по HTTP
claude mcp add --transport http context7 https://mcp.context7.com/mcp

Разберу первую команду. claude mcp add добавляет сервер, notes — его имя. Двойной дефис -- отделяет параметры Claude Code от команды запуска самого сервера: всё, что после него, относится к серверу.

Параметр --scope задаёт, где сервер будет виден:

  • local — значение по умолчанию, только текущий проект и только у вас;
  • project — сервер записывается в файл .mcp.json в корне проекта, и его получают все, кто работает с репозиторием;
  • user — все ваши проекты на этом компьютере.

Полезные команды: claude mcp list показывает все подключённые серверы и их статус, claude mcp remove notes удаляет сервер, а команда /mcp внутри сессии Claude Code показывает состояние серверов и помогает пройти авторизацию.

VS Code с GitHub Copilot

  1. В корне проекта создайте файл .vscode/mcp.json. Альтернатива — выполнить команду MCP: Add Server из палитры команд, и VS Code проведёт вас по шагам.
  2. Обратите внимание: здесь раздел называется servers, а не mcpServers, и у каждого сервера указывается тип:
{
  "servers": {
    "notes": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}/docs"]
    },
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
  1. Откройте чат Copilot и переключитесь в режим Agent. Инструменты MCP-серверов появятся в списке инструментов, где их можно включать и выключать.

ChatGPT

ChatGPT работает с удалёнными MCP-серверами. Готовые подключения доступны в разделе приложений и коннекторов в настройках. Чтобы добавить свой сервер по адресу, нужно включить режим разработчика в расширенных настройках этого раздела, а затем создать коннектор с URL сервера. Доступность режима зависит от тарифа, а расположение пунктов меню периодически меняется, поэтому сверяйтесь с актуальной справкой OpenAI.

Особенности Windows

На Windows подключение чаще всего ломается на трёх вещах:

  • Запуск npx. Некоторые приложения не могут запустить npx напрямую. Помогает запуск через командную строку: "command": "cmd" и "args": ["/c", "npx", "-y", ...].
  • Пути в JSON. Обратный слеш нужно удваивать: "C:\\Users\\Kirill\\Notes". Либо используйте прямые слеши: "C:/Users/Kirill/Notes".
  • Команда claude. Если в PowerShell команда claude выдаёт ошибку о политике выполнения скриптов, попробуйте написать claude.cmd вместо claude.

Удалённые серверы и авторизация

Удалённые серверы удобнее локальных: ничего не нужно устанавливать, они работают и в веб-версиях приложений, и на телефоне, а обновляет их владелец сервиса. Поэтому крупные компании — GitHub, Notion, Atlassian, Sentry и многие другие — всё чаще выпускают именно удалённые серверы.

Но удалённому серверу нужно знать, кто вы и к чему вам можно давать доступ. Для этого в MCP используется OAuth — тот же механизм, что и в кнопках «Войти через Google». Процесс выглядит так:

  1. Вы добавляете сервер по адресу.
  2. Приложение открывает страницу входа сервиса.
  3. Вы входите в свой аккаунт и подтверждаете, какие права выдаёте.
  4. Приложение получает токен и дальше обращается к серверу от вашего имени. Пароль при этом никуда не передаётся.

Некоторые серверы вместо OAuth используют API-ключ. Его обычно передают в заголовке запроса или, для локальных серверов, в разделе env конфигурации.

Несколько правил, которых я придерживаюсь при работе с удалёнными серверами:

  • выдавайте минимальные права, которые предлагает сервис: если нужен только просмотр, не давайте права на запись;
  • периодически проверяйте список приложений, которым выдан доступ, в настройках самого сервиса, и отзывайте ненужное;
  • не публикуйте ключи в файлах проекта, которые попадают в Git;
  • для рабочих аккаунтов согласуйте подключение с администратором: в компаниях доступ к коннекторам часто управляется централизованно.

Как создать свой MCP-сервер

Свой сервер имеет смысл писать, когда готового нет: нужно подключить внутреннюю систему компании, нестандартный API или собственную бизнес-логику. Для типовых задач проще взять готовое решение. Хорошая новость: знать машинное обучение не нужно, хватит базового программирования.

Выбор языка

Официальные SDK есть для Python, TypeScript, Java, Kotlin, C#, Go, PHP, Ruby, Rust и Swift. Для первого сервера я рекомендую Python: в его SDK есть модуль FastMCP, с которым сервер умещается в несколько десятков строк. TypeScript — хороший выбор, если ваша команда пишет на JavaScript, а большинство готовых серверов как раз на нём.

Пример: сервер для заметок на Python

Сделаем сервер, который сохраняет заметки в папку на компьютере и ищет по ним. На нём видны все три примитива: инструменты, ресурс и промпт.

Шаг 1. Установите SDK:

pip install "mcp[cli]"

Шаг 2. Создайте файл notes_server.py:

from datetime import date
from pathlib import Path

from mcp.server.fastmcp import FastMCP

NOTES_DIR = Path.home() / "mcp-notes"
NOTES_DIR.mkdir(exist_ok=True)

mcp = FastMCP("Notes")


def safe_path(title: str) -> Path:
    """Не даёт выйти за пределы папки с заметками."""
    path = (NOTES_DIR / f"{title}.md").resolve()
    if NOTES_DIR.resolve() not in path.parents:
        raise ValueError("Недопустимое название заметки")
    return path


@mcp.tool()
def add_note(title: str, text: str) -> str:
    """Сохраняет заметку в Markdown. Используй, когда пользователь просит
    записать, запомнить или сохранить мысль, идею или задачу."""
    safe_path(title).write_text(
        f"# {title}\n\n{date.today()}\n\n{text}\n", encoding="utf-8"
    )
    return f"Заметка «{title}» сохранена"


@mcp.tool()
def search_notes(query: str) -> list[str]:
    """Ищет заметки по слову или фразе без учёта регистра.
    Возвращает названия найденных заметок."""
    q = query.lower()
    return [
        p.stem
        for p in NOTES_DIR.glob("*.md")
        if q in p.read_text(encoding="utf-8").lower()
    ]


@mcp.resource("notes://{title}")
def read_note(title: str) -> str:
    """Полный текст заметки по её названию."""
    return safe_path(title).read_text(encoding="utf-8")


@mcp.prompt()
def weekly_review() -> str:
    """Шаблон еженедельного разбора заметок."""
    return (
        "Найди мои заметки за последнюю неделю, сгруппируй их по темам, "
        "выдели нерешённые задачи и предложи три приоритета на следующую неделю."
    )


if __name__ == "__main__":
    mcp.run()

Что здесь происходит:

  • декоратор @mcp.tool() превращает функцию в инструмент, который может вызвать модель. Описание инструмента SDK берёт из docstring, а схему параметров — из аннотаций типов;
  • @mcp.resource() объявляет ресурс с шаблоном адреса: notes://Идеи вернёт текст заметки «Идеи»;
  • @mcp.prompt() добавляет готовый шаблон запроса, который пользователь может выбрать сам;
  • функция safe_path — простая, но важная защита: она не позволит модели записать или прочитать файл за пределами папки с заметками.

Шаг 3. Проверьте сервер в MCP Inspector — это официальный инструмент для отладки. Команда ниже откроет в браузере интерфейс, где можно вызвать каждый инструмент вручную и посмотреть ответ:

mcp dev notes_server.py

Шаг 4. Подключите сервер к своему приложению. Для Cursor и Claude Desktop конфигурация выглядит так (путь замените на свой):

{
  "mcpServers": {
    "notes": {
      "command": "python",
      "args": ["/Users/kirill/projects/notes_server.py"]
    }
  }
}

Для Claude Code: claude mcp add notes -- python /Users/kirill/projects/notes_server.py.

Теперь можно написать в чате: «Запиши идею: сделать серию статей про ИИ-агентов», а через неделю — «Что у меня в заметках про статьи?».

Как писать описания инструментов

Это самая недооценённая часть разработки. Модель выбирает инструмент только по его названию и описанию, поэтому:

  • пишите в описании, когда использовать инструмент, а не только что он делает;
  • называйте инструменты глаголами и конкретно: search_notes лучше, чем notes;
  • описывайте каждый параметр и допустимые значения;
  • возвращайте понятные ошибки текстом: «Заметка не найдена, проверьте название», а не код 500 — модель сможет исправиться сама;
  • не делайте десятки мелких инструментов там, где хватит трёх продуманных.

Удалённый сервер

Чтобы сервер был доступен по сети, его запускают с транспортом Streamable HTTP. В Python SDK для этого достаточно изменить последнюю строку на mcp.run(transport="streamable-http") и развернуть сервер на хостинге, например в Docker-контейнере. С ревизии 2026-07-28 протокол не хранит сессию, поэтому сервер легко масштабировать: запросы может обрабатывать любой экземпляр. Для доступа извне обязательно добавьте авторизацию через OAuth и HTTPS.

Когда сервер готов, его можно опубликовать в официальном реестре MCP, чтобы другие нашли его через каталоги.

Главные риски и как их снизить

Дать языковой модели право выполнять SQL-запросы или записывать файлы на диск — это серьёзно. Безопасность остаётся самым слабым местом экосистемы MCP, и дело не столько в протоколе, сколько в том, как его используют.

Первое, что важно понимать: локальный сервер работает с правами вашего пользователя. Если вы дали ему доступ ко всему домашнему каталогу, то он, а значит и модель, может прочитать всё, что можете прочитать вы, включая ключи SSH и файлы браузера.

Основные угрозы

Угроза Как работает Как защититься
Prompt injection Вредоносная инструкция спрятана в данных: на веб-странице, в письме, в issue на GitHub. Модель читает её и выполняет Подтверждать действия вручную, не давать агенту одновременно доступ к секретам и к непроверенному контенту
Отравление инструментов (tool poisoning) В описание инструмента встроены скрытые инструкции для модели, которых пользователь не видит Ставить серверы только из проверенных источников и читать их код
Подмена после установки (rug pull) Сервер сначала безобиден, а после обновления начинает вести себя иначе Фиксировать версии пакетов, не обновлять вслепую
Тайпсквоттинг Пакет с почти таким же названием, как у популярного сервера Сверять точное имя пакета с официальным репозиторием
Утечка данных Модель передаёт данные из одного инструмента в другой, например из базы в чат или на внешний сайт Минимальные права, разделение серверов по задачам
Избыточные права Сервер получил больше доступа, чем ему нужно Отдельная папка, read-only доступ, отдельные токены

Особенно опасно сочетание трёх условий в одном агенте: доступ к приватным данным, обработка непроверенного контента из интернета или писем и возможность отправлять данные наружу. Если все три есть одновременно, prompt injection может привести к утечке без вашего ведома. Разрывайте эту цепочку: хотя бы одно из условий должно отсутствовать.

Чек-лист для пользователя

  • Ставлю серверы из официальных репозиториев и каталогов, проверяю автора и дату обновления.
  • Даю файловым серверам доступ только к отдельной рабочей папке, а не ко всему диску.
  • Храню ключи в переменных окружения, а не в общих файлах и не в коде.
  • Не включаю автоматическое подтверждение для действий, которые что-то меняют или удаляют.
  • Отключаю серверы, которыми не пользуюсь.

Чек-лист для разработчика сервера

  • Принцип минимальных прав: для аналитики достаточно read-only пользователя базы данных.
  • Валидация всех входных параметров и защита от выхода за пределы разрешённых путей.
  • Опасные инструменты — удаление, отправка, оплата — помечены и требуют подтверждения.
  • Журналирование всех вызовов: кто, когда и с какими параметрами.
  • Токены пользователя не пробрасываются напрямую в сторонние API.
  • Запуск в изолированной среде, например в контейнере.

Для компаний

Если через MCP проходят персональные данные клиентов, это уже вопрос не только удобства, но и закона: 152-ФЗ в России, закон о защите персональных данных в Беларуси, GDPR для работы с ЕС. Минимальный набор мер:

  • передавать модели только те данные, которые нужны для задачи, а номера карт и паспортов маскировать на стороне сервера;
  • управлять доступом централизованно, через корпоративный шлюз или единую систему управления доступом;
  • вести аудит: кто из сотрудников какими инструментами пользовался;
  • заранее проверить, где обрабатываются данные — в том числе на стороне провайдера ИИ-модели.

Ограничения, стоимость и типичные ошибки

Чем больше серверов, тем хуже

Это самая неочевидная вещь для новичков. Описания всех инструментов всех подключённых серверов отправляются модели с каждым запросом. Подключили десять серверов по 15 инструментов — и модель получает полторы сотни описаний ещё до того, как прочитала ваш вопрос. Последствия:

  • растёт расход токенов, а значит и стоимость;
  • заполняется контекстное окно, и модели остаётся меньше места для самой задачи;
  • модели сложнее выбрать правильный инструмент, она начинает путаться и ошибаться.

Поэтому правило простое: подключайте серверы под задачу и отключайте те, что сейчас не нужны. Многие клиенты позволяют включать и выключать отдельные инструменты, а некоторые уже подгружают описания по требованию.

Другие ограничения

  • MCP не лечит галлюцинации. Модель может неправильно понять данные или вызвать не тот инструмент. Для важных решений нужна проверка человеком.
  • У действий нет кнопки «Отменить». Если агент удалил файл или отправил письмо, протокол это не откатит. Отсюда важность подтверждений и резервных копий.
  • Качество серверов разное. Community-сервер может быть заброшен или работать с ошибками.
  • Стандарт активно развивается. Ревизия 2026-07-28 принесла несовместимые изменения, и старые серверы постепенно придётся обновлять.

Сколько это стоит

Сам протокол бесплатный, и большинство серверов — open source. Деньги уходят на другое:

  • подписку или токены ИИ-модели — основная статья расходов, и она растёт с числом подключённых инструментов и объёмом данных, которые серверы возвращают;
  • платные API, к которым обращается сервер, например поисковые или аналитические сервисы;
  • хостинг, если вы разворачиваете свой удалённый сервер.

Экономить помогают три вещи: подключать только нужные серверы, ограничивать объём данных, который возвращает инструмент, и кэшировать повторяющиеся запросы на стороне сервера.

Если что-то не работает

Симптом Вероятная причина Что сделать
Сервер не появился в списке Ошибка в JSON: лишняя или пропущенная запятая, скобка Проверить файл любым JSON-валидатором
Сервер с красным индикатором или ошибкой запуска Не установлен Node.js или Python Выполнить node --version и python --version, установить недостающее
Ошибка «spawn npx ENOENT» на Windows Приложение не находит npx Запускать через "command": "cmd" и "args": ["/c", "npx", ...]
Сервер запускается, но падает Неверный путь к папке или нет нужного API-ключа Проверить пути и раздел env
Изменения не применились Приложение не перечитало конфиг Полностью перезапустить приложение
Сервер подключён, но модель им не пользуется Слишком общий запрос Сформулировать конкретнее или прямо указать сервер: «найди через сервер notes»
Модель путает инструменты Подключено слишком много серверов Отключить лишние
Удалённый сервер просит войти снова и снова Истёк или отозван токен Переподключить коннектор и пройти авторизацию заново

Если причина неочевидна, смотрите логи. В Claude Desktop они лежат в папке логов приложения рядом с конфигурацией, в Claude Code помогает команда /mcp, в Cursor — вкладка Output с выбранным каналом MCP. А чтобы проверить сам сервер без ИИ-приложения, используйте MCP Inspector.

MCP для бизнеса: когда это окупается

Для компании MCP — способ превратить ИИ из чат-бота, который даёт общие советы, в помощника, который работает с реальными данными: CRM, задачами, документами, финансами. Но внедрять его «потому что модно» не стоит.

Когда MCP действительно нужен

  • Данные разбросаны по нескольким системам. CRM, трекер задач, хранилище документов, таблицы. MCP даёт ИИ единую точку доступа ко всему этому.
  • Есть повторяющаяся аналитика. Еженедельные отчёты, контроль KPI, поиск проблемных проектов, разбор воронки продаж.
  • Сотрудники тратят время на сбор информации. Если менеджер час собирает статус из трёх систем, агент сделает это за минуту.
  • Задачи требуют рассуждения, а не только автоматизации. Найти причину, сравнить варианты, подготовить персональное предложение с учётом истории клиента.

Когда можно обойтись без него

  • Процесс всегда одинаковый и предсказуемый — обычная интеграция или n8n будут надёжнее и дешевле.
  • Нужно подключить одну-две системы, и у них уже есть готовые коннекторы в используемом ИИ-сервисе.
  • В компании нет порядка в данных. ИИ с доступом к хаосу выдаёт хаос быстрее.

Как внедрять

  1. Выберите одну задачу с измеримым результатом, например еженедельный отчёт по проектам, который сейчас занимает у руководителя два часа.
  2. Проверьте готовые серверы. У многих SaaS-сервисов уже есть официальные MCP-серверы, а писать свой стоит, только если их нет.
  3. Начните с режима чтения. Пусть агент сначала только смотрит данные и готовит выводы, а права на изменения добавляйте позже.
  4. Определите права доступа и ответственных. Кто может подключать серверы, к каким данным, кто отвечает за аудит.
  5. Запустите пилот на небольшой группе, соберите обратную связь и посчитайте сэкономленное время.
  6. Масштабируйте на другие отделы и задачи.

Как считать окупаемость

Простая формула: время, которое сотрудники тратили на задачу, умноженное на стоимость их часа, против расходов на ИИ-модель, разработку и поддержку серверов. Окупаемость наступает быстрее, если задача выполняется часто, ей пользуются многие сотрудники и она сложная — автоматизация аналитики даёт больше эффекта, чем автоматизация простых операций.

Для небольших компаний разумная альтернатива собственной разработке — облачные сервисы, в которые ИИ и MCP уже встроены, или готовые коннекторы в Claude и ChatGPT.

Куда движется MCP

За неполные два года MCP прошёл путь от эксперимента одной компании до отраслевого стандарта под управлением Linux Foundation. Вот тенденции, которые я вижу сейчас:

  • Нейтральное управление. Протокол развивают вместе Anthropic, OpenAI, Google, Microsoft и сообщество, поэтому риск, что он «умрёт» или станет закрытым, минимален.
  • Ставка на удалённые серверы. Сервисы выпускают официальные серверы, которые подключаются в один клик, а stateless-ядро новой ревизии упрощает их масштабирование.
  • Интерфейсы внутри чата. MCP Apps позволяют инструментам показывать формы, таблицы и карточки, а не только текст.
  • Корпоративный уровень. Шлюзы, централизованное управление доступом, аудит, более строгая авторизация.
  • Выход за пределы IT. Финансы, медицина, производство, госсектор — везде, где ИИ нужен доступ к внутренним системам.

Вместо заключения

MCP — это не очередной хайп, а стандартный разъём, через который ИИ получает доступ к вашим данным и инструментам. Он не заменяет API и классическую автоматизацию, а даёт модели единый способ с ними работать. Главная ценность — ИИ перестаёт быть отдельным окном с чатом и становится интерфейсом для работы со всей цифровой средой.

Мой совет на старт: выберите одну задачу, которая регулярно отнимает у вас время, найдите под неё один сервер, подключите и поработайте неделю. Дальше вы сами поймёте, что добавить. И помните про безопасность: минимум прав, проверенные источники, подтверждение важных действий.

Короткий словарь терминов

Термин Значение
MCP Model Context Protocol, открытый стандарт подключения ИИ к данным и инструментам
MCP-сервер Программа, которая даёт ИИ доступ к конкретному сервису или источнику данных
Хост Приложение, в котором вы работаете с ИИ: Claude, Cursor, VS Code, ChatGPT
Клиент Компонент внутри хоста, который держит соединение с одним сервером
Инструмент (tool) Функция, которую модель может вызвать сама
Ресурс (resource) Данные, которые приложение подгружает как контекст
Промпт (prompt) Готовый шаблон запроса под типовую задачу
stdio Транспорт для локальных серверов через стандартный ввод-вывод
Streamable HTTP Транспорт для удалённых серверов
JSON-RPC 2.0 Формат сообщений, которыми обмениваются клиент и сервер
OAuth Механизм авторизации без передачи пароля
Коннектор Название подключённого MCP-сервера в интерфейсе Claude и ChatGPT