MCP-сервер: что это, как устроен и как подключить | Виталий Воробьев
VorobeoffAIВиталий Воробьев

MCP-сервер: что это, как устроен и как подключить

Справочник по Model Context Protocol: почему ИИ-агентам нужен единый протокол подключения к внешним инструментам, из чего состоит MCP-сервер и как настроить его в Claude Desktop, Cursor и других клиентах.

MCP-сервер — посредник между ИИ и внешним миром. Он переводит запросы модели на язык конкретного сервиса и возвращает результат в чат. Один раз написал — и можно подключать к Claude, Cursor, VS Code и другим клиентам.

Что такое MCP-сервер

Когда в поиске набираешь «mcp сервер что это», обычно хочешь понять, зачем ИИ-агентам понадобился ещё один протокол. Ответ простой: Model Context Protocol, или сокращённо MCP, — это открытый стандарт, который выпустила Anthropic в 2024 году. Он задаёт общий язык, на котором нейросети общаются с внешними программами, базами данных, файлами и API.

До MCP у каждого ИИ-приложения был свой способ вызвать внешний инструмент. Разработчикам приходилось писать отдельную интеграцию под Claude, отдельную под Cursor, отдельную под VS Code. MCP заменяет это на единый разъём: напиши сервер один раз, и любой MCP-клиент его поймёт.

Представьте USB-C. Он не диктует, как работает телефон или ноутбук, но стандартизирует способ подключения. Точно так же Model Context Protocol не меняет саму модель, но даёт всем агентам один протокол для работы с внешними системами. Сообщения передаются поверх JSON-RPC — структурированные запросы и ответы, в которых модель видит список доступных инструментов, их описания и схемы входных данных.

Если вы разработчик 1С и слышали, что ИИ умеет помогать с кодом, но не хотите писать интеграцию с нуля, вам нужен именно MCP-сервер. Существуют решения для репозиториев 1С:Enterprise Development Tools (EDT) и готовые серверы для вайб-кодинга в 1С. Они не требуют внедрения в платформу напрямую; достаточно развернуть сервер и дать к нему доступ из клиента. Подходит для тех задач, где нужно быстро получить подсказки по коду, а не глубокое согласование данных.

Зачем нужен MCP-сервер

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

  • Один сервер — много клиентов. MCP-сервер для Claude, Cursor или VS Code пишется один раз. Подключить его к другому клиенту — значит добавить ту же конфигурацию в другом редакторе.
  • Агент получает контекст, а не голые инструкции. Вместо того чтобы копировать текст из десятка файлов в промпт, модель сама запрашивает нужные фрагменты через ресурсы сервера.
  • Действия становятся проверяемыми. Каждый вызов инструмента — это явная операция с понятной схемой входных данных. Пользователь или код клиента решает, разрешать ли её выполнение.
  • Экосистема растёт без централизации. Любой разработчик может опубликовать MCP-сервер для своего сервиса, а пользователи подключают его через конфигурацию, а не через специальную интеграцию.

Ключевое правило: MCP — это не ещё одна языковая модель и не замена API. Это протокол обмена контекстом между моделью и внешним миром.

Как устроен MCP-сервер

Архитектура MCP состоит из трёх ролей.

РольЧто делаетПримеры
Host
Приложение с нейросетью, с которым работает пользователь
Claude Desktop, Claude Code, Cursor, VS Code
Client
Компонент внутри host, который держит одно соединение с одним сервером
создаётся автоматически при подключении сервера
Server
Отдельная программа, которая предоставляет контекст и инструменты
доступ к файлам, базе данных, GitHub, Notion

Host может держать сразу несколько клиентов. Например, Claude Desktop одновременно подключён к локальному файловому серверу, к серверу базы знаний Notion и к поисковому серверу Brave. Каждый из них — это отдельный MCP client, но для пользователя это выглядит как один интерфейс.

Официальная спецификация Model Context Protocol с ролями host, client и server
Официальная спецификация Model Context Protocol с ролями host, client и server

MCP-сервер предоставляет три типа возможностей.

ВозможностьЧто этоКто управляетПример
Tools
Функции, которые модель может вызвать для выполнения действий
модель решает, когда вызывать
поиск рейсов, отправка сообщения, запись события в календарь
Resources
Источники данных только для чтения, которые дают контекст
приложение определяет доступ
содержимое файлов, схема базы данных, документация API
Prompts
Готовые шаблоны запросов, которые помогают пользователю решить задачу
пользователь выбирает
спланировать поездку, подвести итоги встреч, написать письмо

Важное различие: tools — это активные действия, resources — пассивный контекст, prompts — шаблоны для пользователя. Модель не может сама прочитать ресурс, если клиент не дал ей доступ, и не может выполнить инструмент без разрешения пользователя или host-приложения.

Когда использовать MCP

СитуацияПодходит MCPПочему
Нужно подключить агента к внутренней базе знаний, CRM или таск-трекеру
да
один сервер закрывает доступ для любого MCP-клиента
Модель должна работать с локальными файлами и терминалом
да
локальный сервер через stdio даёт безопасный контролируемый доступ
Требуется единый интерфейс к нескольким облачным API
да
несколько удалённых серверов подключается к одному host
Задача решается простым промптом без внешних данных
нет
лишний слой усложняет архитектуру
Нужна жёсткая производительная оптимизация с миллисекундной задержкой
осторожно
накладные расходы протокола могут быть избыточны

MCP — это уровень интеграции, а не уровень бизнес-логики. Если у вас нет внешних систем, к которым агенту нужно обращаться, протокол не нужен. Если такие системы есть — MCP позволяет не плодить собственные коннекторы под каждого клиента.

Как подключить MCP-сервер: пример для Claude Desktop

Самый быстрый способ понять, как подключить MCP-сервер, — запустить готовый файловый сервер от Anthropic. Он позволяет Claude читать и изменять файлы в заданной папке с явным подтверждением каждой операции. Это и есть локальный MCP-сервер: он запускается прямо на вашем компьютере и не отправляет данные в облако.

Для начала нужны две вещи: установленный Claude Desktop и Node.js. Проверьте версию Node.js в терминале:

node --version
Официальный пример конфигурации MCP-серверов для Claude с filesystem-сервером
Официальный пример конфигурации MCP-серверов для Claude с filesystem-сервером

Если команда возвращает номер версии, всё готово. Откройте настройки Claude Desktop, перейдите в раздел разработчика и добавьте новый MCP-сервер. Для файлового сервера конфигурация выглядит так:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Documents"
      ]
    }
  }
}

После сохранения Claude Desktop автоматически запустит сервер при старте. В чате появится доступ к инструментам файловой системы: чтение директорий, поиск, создание и переименование файлов. Каждое изменение требует вашего подтверждения.

Аналогичная конфигурация подходит и для других клиентов. В Cursor MCP-серверы добавляются в настройки редактора через тот же JSON-блок в разделе MCP. В VS Code плагин GitHub Copilot и ряд других расширений читают ту же структуру mcpServers. Суть не меняется: команда запуска, аргументы и переменные окружения. Если вы уже пробовали подключить MCP-сервер для Claude Code, здесь ничего нового нет, только другой host.

Совет: указывайте в args именно ту папку, с которой разрешено работать. Не давайте серверу доступ ко всей файловой системе без необходимости: MCP — это мощный мост, но мост должен вести только туда, куда вы хотите.

Ограничения

Что учитывать

ПунктПояснение

MCP не управляет самой моделью.

Протокол передаёт контекст и инструменты, но не решает, как модель их использует. Всё равно нужен хороший промпт и проверка результатов.

Безопасность лежит на стороне сервера и клиента.

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

Не все клиенты поддерживают все возможности.

Один клиент может поддерживать tools, но не prompts. Другой — resources, но не sampling. Перед написанием сервера проверьте, что умеет ваш host.

Удалённые серверы требуют авторизации.

Локальные серверы через стандартный ввод-вывод просты в настройке, а внешние удалённые серверы работают через HTTP и требуют OAuth или другого механизма доступа.

Антипаттерны

Чего не делать

ПунктПояснение

Давать серверу больше прав, чем нужно.

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

Смешивать бизнес-логику и протокол.

MCP-сервер должен быть тонким адаптером между моделью и внешней системой. Тяжёлые вычисления и сложные правила лучше оставить за пределами сервера.

Считать, что пользователь всё контролирует автоматически.

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

Игнорировать логирование и аудит.

В сервере, который работает через стандартный ввод-вывод, нельзя писать в stdout — это сломает JSON-RPC. Используйте стандартный модуль логирования, который пишет в stderr, и ведите журнал вызовов инструментов.

Чеклист

Проверка перед запуском

ПунктПояснение

Цель интеграции сформулирована одним предложением.

Например: «Claude должен читать актуальные статьи из базы знаний перед ответом» — или, если вы разработчик 1С, «модель должна видеть структуру репозитория 1C:Enterprise Development Tools и подсказывать по коду».

Выбран тип сервера: локальный или удалённый.

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

Права доступа минимальны.

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

Проверена поддержка клиента.

Host умеет нужные вам tools, resources и prompts.

Продумана безопасность авторизации.

Для удалённых серверов настроен OAuth, проверены права и механизм отзыва токенов.

Ссылки

Продолжить тему

Материалы, которые связаны с этим разбором

Подборка учитывает тему, редкие теги и смысл заголовка с описанием материала.

Открыть материалы по теме ↗

Обсудить задачу

Есть задача, которую хотите усилить с помощью ИИ?

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

Для первого сообщения достаточно пары абзацев — готовое техническое задание не требуется.