Скидки до 55% и курс по ИИ в подарок 2 дня 09 :56 :09 Выбрать курс
Код
#статьи

MCP: что это такое и как подключить ИИ-приложения

Разбираем тонкости настройки через Claude Desktop и Claude Code.

Кадр: мультсериал «Футурама» / FOX

ИИ-ассистенты умеют писать код, работать с файлами и выполнять команды, но сами по себе не могут свободно взаимодействовать со всеми программами и сервисами. Чтобы подключить к ним, например, базу данных, GitHub или корпоративный инструмент, обычно нужна отдельная интеграция.

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

В статье разберёмся, как устроен MCP, из каких компонентов он состоит, как подключать MCP-серверы к Claude Desktop, Claude Code и Figma и что важно учитывать при работе с ними.

Содержание


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

MCP (Model Context Protocol, «протокол контекста модели») — открытый стандарт, который описывает, как ИИ-приложения подключаются к внешним данным и инструментам. С его помощью ИИ может получать информацию из подключённых систем и выполнять доступные в них действия.

Например, через этот протокол ИИ-агент может читать файлы в разрешённой папке, обращаться к репозиториям GitHub, находить документы в Google Drive или работать с задачами в Jira и Linear.

Упрощённо MCP можно представить как единый стандарт подключения ИИ к внешним системам. Для такого взаимодействия используется специальный сервер.

MCP-сервер — программа-посредник, которая предоставляет ИИ доступ к файлам, базам данных, API, приложениям и другим ресурсам. Его возможности зависят от системы, для которой он создан. Например, MCP-сервер GitHub позволяет работать с репозиториями и кодом, Filesystem — с файлами в разрешённых папках, а Blender MCP — взаимодействовать с программой для 3D-моделирования Blender.

Несмотря на название, MCP-сервер не обязательно работает через интернет. Он может запускаться локально на компьютере пользователя или быть доступен удалённо через HTTP. Поэтому «сервер» здесь — прежде всего компонент, который связывает ИИ с внешней системой.

Как работает MCP

Архитектура протокола построена на трёх компонентах, которые взаимодействуют между собой:

  • MCP-хост (MCP Host) — приложение, в котором пользователь работает с ИИ-моделью и управляет подключениями к MCP-серверам. Это может быть Claude Code, Codex, Cursor, Visual Studio Code или другие среды с поддержкой MCP.
  • MCP-клиент (MCP Client) — компонент, который находится внутри приложения. Он устанавливает соединение с конкретным сервером и передаёт запросы в обе стороны.
  • MCP-сервер (MCP Server) — программа, которая предоставляет доступные инструменты и данные MCP-клиенту.

Один хост может одновременно работать с несколькими серверами. Как правило, для каждого подключения создаётся отдельный MCP-клиент.

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

Затем разработчик подключает ещё один сервер — например, Filesystem для работы с файлами проекта. Для него VS Code создаёт отдельный клиент. Получается, что один хост может одновременно работать с несколькими серверами, а каждый клиент отвечает за своё соединение. При этом серверы могут быть как локальными, например Filesystem или база данных, так и удалёнными, как Sentry.

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

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

Схема работы MCP
Изображение: Model Context Protocol / Skillbox Media

Чем MCP отличается от API, плагинов и ручного копирования в чат

Передавать ИИ данные и давать ему доступ к сторонним IT-сервисам можно разными способами: MCP, API, специальными плагинами или с помощью ручного копирования. Кратко сравним основные подходы.

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

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

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

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

MCP не заменяет API. На практике MCP-сервер часто использует API сервиса внутри себя. Например, MCP-сервер GitHub может обращаться к API GitHub, а ИИ-приложению предоставлять уже стандартизированный набор инструментов для работы с репозиториями, задачами или пул-реквестами.

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

Примеры использования MCP

Протокол полезен в задачах, где ИИ-агенту недостаточно локальных файлов и информации из чата. Вот несколько распространённых сценариев.

Разработка интерфейсов по макету. MCP позволяет ИИ-агенту получать данные напрямую из дизайн-систем и редакторов интерфейсов. Это полезно, когда для генерации кода нужны не скриншоты, а точные сведения о структуре макета, размерах, стилях и компонентах. Например, через сервер Figma агент может получить данные о выбранном фрейме и на их основе создать React-компонент.

Работа с кодом и ошибками. Протокол помогает объединить данные из репозитория и систем мониторинга в одном рабочем процессе. Агент может получать информацию о коде, ошибках, логах и связанных событиях без ручного переноса между сервисами. Например, через сервер Sentry ИИ-агент может найти события, связанные с конкретным сбоем, и помочь определить условия его возникновения.

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

Поиск и обработка документов. Протокол даёт ИИ доступ к корпоративным хранилищам, поэтому агент может искать нужные файлы и работать с их содержимым напрямую. Это особенно удобно, когда информация распределена между несколькими документами. Например, при подключении к Google Drive агент может найти несколько отчётов, извлечь из них данные и подготовить сводку.

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

Во всех этих случаях протокол не выполняет задачу самостоятельно. Он предоставляет ИИ-агенту доступ к нужным данным и действиям, а агент уже использует их для выполнения запроса пользователя.

Как настроить локальный MCP в Claude Desktop

В Claude Desktop локальный сервер можно подключить двумя способами.

Через расширения (Extensions). Нажмите на имя пользователя в левом нижнем углу, откройте SettingsExtensions и выберите Browse extensions. Затем найдите нужный сервер в каталоге и установите его. После установки его инструменты станут доступны в Claude.

Такой способ проще, но выбор ограничен расширениями, опубликованными в каталоге Anthropic.

Через конфигурационный JSON-файл. Этот способ подходит, если нужно подключить собственный или сторонний MCP-сервер. Для настройки нужно знать команду его запуска и необходимые аргументы.

Откройте SettingsDeveloper, нажмите Edit Config и откройте файл claude_desktop_config.json. В нём указывается название сервера, команда запуска и параметры.

Например, для Filesystem лучше заранее создать отдельную папку без конфиденциальных данных — допустим, C:\MCP-Test. Конфигурация может выглядеть так:

{												
  "mcpServers": {									
    "filesystem": {									
      "command": "npx",								
      "args": [										
        "-y",										
        "@modelcontextprotocol/server-filesystem",			
        "C:/MCP-Test"									
      ]										
    }												
  }												
}

После сохранения файла Claude Desktop нужно перезапустить.

Для ручного запуска сервера также может потребоваться дополнительная среда. Например, команда npx работает через Node.js, а некоторые серверы на Python требуют установленный интерпретатор или менеджер пакетов uv. В готовых расширениях необходимые компоненты могут уже входить в комплект, поэтому дополнительная установка не всегда нужна.

Закрепим теорию на практике — подключим локальный MCP-сервер для Blender. В этом случае мы будем использовать не официальный MCP-сервер Blender Foundation, а сторонний проект Blender MCP. Он позволяет создавать, редактировать и рендерить сцены в Blender с помощью ИИ.

Перед изменением JSON-файла нужно установить необходимые компоненты: менеджер пакетов uv и аддон Blender из файла addon.py. После этого добавьте в claude_desktop_config.json конфигурацию из инструкции проекта:

{
  "mcpServers": {
    "blender": {
      "command": "uvx",
      "args": [
        "blender-mcp"
      ]
    }
  }
}

Если объект mcpServers уже есть в файле, добавьте новый сервер внутрь него и отделите запись запятой. Не создавайте второй объект mcpServers и не размещайте настройки после закрывающей скобки корневого объекта: в таком случае JSON станет некорректным.

Сохраните файл и полностью перезапустите Claude Desktop. Затем откройте сцену в Blender и установите соединение с Claude через аддон. Проверить, что сервер подключился, можно во вкладке Developer в настройках Claude Desktop.

После этого обращаться к Blender MCP можно из обычного чата Claude Desktop и из локальных сессий во вкладке Code. Если вы используете Claude Code через командную строку, MCP-сервер для него нужно настроить отдельно.

Попробуем сгенерировать пять объектов в Blender через чат в Claude Code.

Всё получилось. Пять сфер с разными цветами созданы в Blender.

Как подключить локальный MCP-сервер в Claude Code

При работе в интерфейсе командной строки локальные серверы подключают через режим stdio. В нём Claude Code запускает программу прямо на ПК и взаимодействует с ней как с обычным процессом, передавая данные через ввод и вывод.

Параметр --transport stdio задаёт тип подключения. После разделителя — указывают команду запуска локального сервера claude mcp add. После этого указывают сервер, который будет запущен локально.

В общем виде структура команды выглядит так:

claude mcp add --transport stdio my-local-server -- python server.py

Как и в случае с настройкой через десктопный клиент, некоторым серверам может потребоваться установка дополнительных компонентов через CLI. Обычно разработчики указывают эти команды в документации к конкретному IT-сервису.

Подключение удалённого MCP-сервера в Claude Code на примере Figma

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

Для Figma существует два варианта установки удалённого сервера. Предпочтительный вариант — установка через плагин. Для этого нужно ввести в терминале команду:

claude plugin install figma@claude-plugins-official

После установки перезапускаем Claude Code, вводим /plugin и находим Figma среди установленных расширений. Далее потребуется авторизация через браузер. Также нужно выдать разрешение Claude Code получать данные из аккаунта Figma через MCP-сервер.

Ещё один вариант — ручная установка. В командной строке набрать команду claude mcp add с подключением по протоколу HTTP, названием сервера и адресом по следующему образцу:

claude mcp add --transport http figma https://mcp.figma.com/mcp

По умолчанию Claude Code сохраняет MCP-сервер в локальной конфигурации текущего проекта. Чтобы использовать его во всех проектах, добавляем параметр --scope user:

claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp 

Для проверки работы MCP-сервера запустите Claude Code командой claude и далее — /mcp, после чего отобразится список доступных серверов. Выбираем сервер и жмём Enter. Подтвердите авторизацию, после чего можно вернуться в CLI и начать работу с инструментом.

Попробуем передать макет из веб-версии Figma в Claude Code и собрать HTML-страницу.

В проекте целиком выделите Frame. Далее нажмите по выделенной области ПКМ — Copy/Paste as — Copy link to selection. После этого в буфер обмена скопируется ссылка, которая содержит уникальный ID определённого фрейма или слоя. Именно с ней будет работать ИИ-агент.

На скриншоте показан путь к опции Copy link to selection
Скриншот: Figma / Figma, Inc. / Skillbox Media

В Claude Code вставьте следующий промпт:

Используй Figma MCP и проанализируй этот фрейм: https://ссылка_на_фрейм

Создай в папке H:\MCP-Test простую веб-страницу без фреймворков. Сохрани разметку в index.html, а стили — в styles.css.

Точно воспроизведи:

форму и размеры всех элементов;

цвета, градиенты и фоны;

шрифты, размеры текста, начертание и межстрочный интервал;

отступы и расположение элементов;

все слои в правильном порядке.

Не используй заглушки и не выдумывай — бери только то, что есть во Figma.

В процессе работы ИИ-агент может спрашивать разрешения на установку дополнительных инструментов Figma. Можно проверять каждое разрешение или сразу автоматически одобрять определённые типы команд.

После генерации в указанной папке появится страница index.html, созданная на основе макета из Figma.

При необходимости полученный результат можно доработать в той же сессии. Например, можно попробовать корректирующий промпт:

Сравни страницу с исходным фреймом в Figma.

Исправь размеры объекта, форму углов и положение надписи.

Не добавляй JavaScript и не меняй остальные файлы.

Чтобы удалить MCP-сервер, введите:

claude mcp remove figma

Если сервер Figma сохранён и в локальной, и в пользовательской конфигурации, Claude уточнит, какую из них нужно удалить, и предоставит две команды на выбор с опциями -s local и -s user.

Процесс удаления MCP-сервера
Скриншот: Windows PowerShell / Skillbox Media

И хотя с помощью MCP-сервера Figma можно сгенерировать код на основе структуры макета, нет гарантии, что результат сразу подойдёт для проекта. Пользователю в любом случае придётся проверить HTML-разметку, стили, соответствие полученного результата исходному макету и протестировать страницу в разных браузерах.

Figma поддерживает и локальный сервер, который запускается через десктопную версию. Обычно его используют для отдельных задач, включая работу с выбранным объектом в приложении. Локальные сервера доступны только в платных тарифах с типами мест Dev и Full.

Как защитить данные при работе с MCP

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

Дополнительный риск — prompt injection. Например, веб-страница или документ могут содержать скрытые инструкции, которые попытаются заставить ИИ раскрыть данные или выполнить нежелательное действие через подключённый сервер. Опасность могут представлять и сами сторонние серверы, если они запрашивают лишние разрешения, собирают данные или запускают команды на компьютере.

Чтобы снизить риски, соблюдайте несколько правил.

  • Подключайте только проверенные MCP-серверы. Каталоги наподобие MCP Servers не гарантируют безопасности опубликованных проектов. По возможности используйте серверы от разработчиков самого сервиса и сверяйте название проекта, репозиторий и команду запуска с официальной документацией.
  • Проверяйте возможности сервера до подключения. Посмотрите, какие инструменты он предоставляет, какие разрешения запрашивает, как проходит авторизация и насколько активно поддерживается проект.
  • Не запускайте команды установки из случайных инструкций. Команды npx и uvx могут загружать и сразу запускать сторонний код, поэтому заранее проверяйте пакет, его разработчика и репозиторий.
  • Ограничивайте доступ к локальным файлам. Для Filesystem и похожих серверов лучше выделить отдельную папку проекта без паролей, ключей, личных документов и других конфиденциальных данных.
  • Выдавайте минимум необходимых разрешений. Если серверу достаточно доступа только для чтения, не разрешайте изменение или удаление данных.
  • Проверяйте опасные действия перед подтверждением. Перед записью, удалением, публикацией или отправкой данных посмотрите, с каким объектом будет работать агент и что именно он собирается сделать.
  • Отключайте неиспользуемые серверы. Это уменьшает количество доступных агенту инструментов и подключений с доступом к вашим данным.
  • Согласовывайте подключение к корпоративным системам. Перед использованием протокола с рабочими базами, облачными хранилищами и внутренними сервисами стоит обратиться к IT-отделу или специалистам по информационной безопасности. Они смогут проверить, какие данные получает сервер, куда они передаются и соответствует ли подключение правилам компании.

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

Итог: когда стоит использовать MCP

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

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

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

В остальных случаях проще обойтись загрузкой файла, готовым плагином или прямой интеграцией через API.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Станьте фулстек-разработчиком
На курсе Skillbox вы получите востребованную ИТ-профессию и сможете отточить навыки в интерактивных тренажёрах.
Подробнее
Курс «Фулстек-разработчик на JavaScript»
Спикеры — разработчики из крупных российских компаний: «Газпромбанк.Тех», «Самолёт», VK.
Узнать о курсе

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Курс с трудоустройством: «Фулстек-разработчик на JavaScript»» Узнать о курсе
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована