惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
有赞技术团队
有赞技术团队
罗磊的独立博客
博客园 - 叶小钗
Jina AI
Jina AI
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
量子位
MyScale Blog
MyScale Blog
V
Visual Studio Blog
博客园 - 聂微东
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
小众软件
小众软件
宝玉的分享
宝玉的分享

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Что такое MCP. Как работает киллер-фича современности под...
Magnificus ( · 2026-05-15 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение6 мин

Охват и читатели6

Обзор

Помните время, когда искусственный интеллект был простой говорящей головой? 

Мы все через это проходили: открываешь чат, просишь ИИ написать кусок кода, копируешь его, вставляешь в IDE, ловишь ошибку компиляции, копируешь текст ошибки, вставляешь обратно в чат. Рутина. Сплошная, выматывающая рутина. 

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

И так продолжалось бы еще долго, если бы не одно событие.

Но 25 ноября 2024 года компания Anthropic представила Model Context Protocol (MCP). И, честно говоря, это событие полностью изменило правила игры.


ИИ получает USB-порт

MCP часто называют «USB-стандартом» для систем искусственного интеллекта. Аналогия весьма точная. Раньше взаимодействие пользователя с LLM происходило лишь через чат. То есть все, что ИИ мог сделать — это отправить текст. Взаимодействие с системой, сервисами и приложениями оставалось за пользователем.

MCP это открытый протокол, который позволяет любым ИИ-моделям подключаться к внешним инструментам и данным. С помощью этого ИИ может взаимодействовать с вашим Google календарем, базой знаний в Obsidian или Notion, создать дизайн в Figma или даже создать 3D модель в Blender.

Протокол работает по принципу «plug and play». Это значит, что любой MCP-совместимый клиент без проблем общается с любым MCP-совместимым сервером. И теперь, спустя полтора года после релиза, запуск MCP-сервера стал такой же обыденностью, как запуск обычного веб-сервера.

Чтобы понять, как именно ИИ обрел способность взаимодействовать с реальным миром, давайте разберем архитектуру MCP. Она на самом деле довольно проста и следует классической клиент-серверной модели. Есть несколько ключевых компонентов:

Компоненты MCP

Компоненты MCP

Хост (MCP Host): Это приложение, в котором вы общаетесь с ИИ. Это могут быть, например, Claude Desktop, Cursor или Visual Studio Code с GitHub Copilot.

Его задача — координировать работу и управлять одним или несколькими MCP-клиентами.

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

Клиент (MCP Client): Этот компонент располагается внутри хоста.

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

Сервер (MCP Server): Это отдельная, легковесная программа, которая предоставляет доступ к конкретному инструменту или сервису. Она может быть локальная или удаленная. Один сервер, к примеру, может давать доступ к файлам на вашем компьютере (локальный источник данных), а другой — к внешнему API вроде GitHub (удаленные сервисы).

Взгляните на наглядную схему:

  1. Хост MCP (MCP Host) — программы, использующие LLM в своей основе, которым нужен доступ к данным через MCP.

  2. Клиент MCP (MCP Client) — клиенты, поддерживающие соединение 1:1 с серверами.

  3. Сервер MCP (MCP Server) — легковесные программы, каждая из которых предоставляет доступ к инструментам.

  4. Локальные источники данных (Local Data Sources) — файлы на вашем компьютере, базы данных и сервисы, к которым серверы MCP могут безопасно получать доступ.

  5. Удаленные источники данных (Remote Data Sources) — внешние системы, доступные через интернет, к которым могут подключаться серверы MCP.

Вся эта система работает на базе двух слоев:

Уровень данных(Data layer): определяет протокол взаимодействия между клиентом и сервером на базе JSON-RPC 2.0, включая управление жизненным циклом и такие основные примитивы, как Инструменты (tools), Ресурсы (resources) и Промпты (prompts).

Транспортный уровень(Transport layer): определяет механизмы и каналы связи, обеспечивающие обмен данными между клиентами и серверами. Устанавливает соединения, фрейминг сообщений и авторизацию.

Он поддерживает два механизма: stdio (стандартный ввод/вывод для локальных процессов без сетевых задержек) и Streamable HTTP (использует HTTP POST и Server-Sent Events для удаленного взаимодействия). 
По сути, уровень данных — внутренний, а транспортный — внешний.

Инструменты, Ресурсы и Промпты - три кита данных MCP

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

Инструменты (Tools): Это исполняемые функции, которые ИИ может вызывать для выполнения действий. Инструменты спроектированы так, чтобы ими управляла сама модель.

Например, когда вы просите ИИ «создай репозиторий на GitHub», модель получает от сервера список доступных инструментов (с их описаниями и inputSchema в формате JSON Schema), сама выбирает нужный инструмент и передает ему правильные аргументы.

Ресурсы (Resources): Это любые данные(содержимое файлов, схемы баз данных) которые обеспечивают необходимый контекст для ИИ-приложения

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

Промпты (Prompts): Готовые шаблоны взаимодействия, которые оптимизированы для конкретных задач. Спроектированы так, чтобы контролироваться пользователем.

Примитивы и кто ими управляет

Примитивы и кто ими управляет

Как это выглядит на практике?

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

Схема работы агента обычно выглядит так и состоит из следующих блоков:

Схема работы ИИ-агента

Схема работы ИИ-агента

  • Планирование (Planning) — способность планировать последовательность действий, которые приложение должно выполнить для реализации заданного намерения. Для этого существует множество стратегий.

  • Память (Memory) — краткосрочная и долгосрочная память, содержащая любую информацию, которая может понадобиться агенту для обдумывания своих дальнейших действий. Эта информация обычно передается в LLM через системный промпт как часть ядра.

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

    • Простые функции, определенные в коде.

    • Векторные базы данных (VectorDB) и другие хранилища данных, содержащие контекст.

    • API обычных моделей машинного обучения.

    • Другие Агенты!

Топология того, как происходят взаимодействия, определяется в коде, а не планируется самой LLM.

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

Архитектура ИИ-агента, если мы внедряем MCP:

Схема работы ИИ-агента с MCP

Схема работы ИИ-агента с MCP

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

Мы отделяем логику извлечения данных от топологии агентной системы.

Благодаря этому мы можем развивать компонент извлечения отдельно:

  • Внедрять дополнительные инструменты.

  • Внедрять дополнительные источники данных.

  • Версионировать, развивать и откатывать существующие инструменты и источники данных.

  • Управлять безопасностью и доступом к данным через сервер MCP.

  • Независимо работать над данными.

Про безопасность

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

Уже в апреле 2025 года аналитики по кибербезопасности из компании Invariant опубликовали отчеты. Выяснилось, что архитектура MCP подвержена нескольким серьезным угрозам:

Во-первых, классический prompt injection (внедрение промпта) никуда не делся. Через вредоносный ответ сервера можно заставить модель выполнить нежелательные действия.

Во-вторых, исследователи обнаружили проблему «отравления инструментов» (Tool Poisoning) и использование похожих названий. Злоумышленник может подсунуть ИИ фальшивый инструмент, который тихо подменяет доверенный. Вредоносные инструкции прекрасно считываются и исполняются языковыми моделями. В результате ИИ-агент может начать выполнять несанкционированные действия, о которых владелец даже не будет подозревать.

Повсеместные разрешения для агента позволяют комбинировать эти методы для скрытой эксфильтрации данных.

Поэтому базовые правила того, как не сесть лужу с MCP звучат так:

  1. Ограничивайте доступ к файловой системе только теми директориями, которые не страшно показать ИИ (помните, сервер работает с правами вашего локального пользователя!).

  2. Никогда не хардкодьте пароли в конфигурационном JSON, используйте переменные окружения.

  3. Используйте серверы только из проверенных источников (например, из официального репозитория Anthropic) и всегда проверяйте исходный код кастомных решений.