EMZETT.
Войти

MCP (Model Context Protocol)

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

Подробнее: MCP-сервер предлагает «инструменты» (вызываемые функции) через стандартизированный интерфейс — транспортом могут быть, например, stdio, SSE или Streamable HTTP. Клиент (здесь Claude Code) подключается, получает список доступных инструментов и затем вызывает их, как встроенные.

Наш контекст: Ваше хранилище Obsidian подключено через MCP — плагин «MCP Connector» (istefox) запускает в Obsidian локальный MCP-сервер (http://127.0.0.1:27200/mcp), который мы зарегистрировали в Claude Code командой claude mcp add --transport http и аутентифицировали с помощью bearer-токена.

Подробности

Три основных строительных блока

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

Зачем открытый стандарт

Решающее преимущество MCP как открытого стандарта: без него каждому ИИ-приложению потребовалась бы собственная индивидуальная интеграция для каждого внешнего приложения (одна для Obsidian, одна для Slack, одна для GitHub, …) — с MCP один сервер, предоставленный сообществом соответствующего приложения, может использоваться ЛЮБЫМ клиентом с поддержкой MCP, без необходимости для поставщика клиента самому писать эту интеграцию. Это сравнимо с разницей между фирменными зарядными кабелями и единым стандартом USB — до такого стандарта каждому производителю приходилось поставлять свой кабель для каждого устройства; после него практически для всего хватает одного формата кабеля.

Типы соединения (транспорты)

Транспорт определяет, КАК клиент и сервер фактически обмениваются данными. stdio (стандартный ввод/вывод) подходит для локально запускаемых серверов, которые клиент сам запускает как подпроцесс — просто, но привязано к одной машине. SSE (server-sent events) и Streamable HTTP, напротив, допускают подключение к удалённо работающим серверам по сети, включая аутентификацию (например, с помощью bearer-токена) — удобно, когда MCP-сервер работает не на том же устройстве, что и клиент, а, например, внутри Obsidian как локально запущенная служба, доступная по HTTP.

Аспекты безопасности

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

Происхождение

MCP был опубликован Anthropic как открытый стандарт с явной целью уменьшить фрагментацию интеграций ИИ-инструментов — подобно тому, как Language Server Protocol (LSP) ранее унифицировал подключение поддержки языков программирования в разные редакторы кода, вместо того чтобы каждому редактору требовалась своя реализация для каждого языка.

См. также: Streamable HTTP, Bearer-токен, Хранилище Obsidian, Протокол