MCP (Model Context Protocol) — открытая спецификация, по которой ИИ-приложения (Claude Code, ChatGPT, VS Code и другие) единым способом пользуются внешними инструментами и данными (GitHub, базами данных, внутренними системами и т. д.). Инструмент, один раз сделанный в виде «MCP-сервера», доступен из любого приложения с поддержкой MCP. Поскольку это похоже на кабель, который подходит к любому устройству, MCP называют «USB-C для ИИ».

Anthropic опубликовала MCP 25 ноября 2024 года, а в декабре 2025 года передала его в Agentic AI Foundation (AAIF) под эгидой Linux Foundation. Действующая версия спецификации — 2026-07-28: с ней MCP стал протоколом без состояния (stateless), «сессии» на соединение больше нет. В статье — как устроен MCP, что изменилось в действующей спецификации, как подключить серверы в основных приложениях, практика на 10 минут и официальные правила безопасности по спецификации MCP и официальной документации разработчиков (проверено 12 ноября 2026 года).

Хост (ИИ-приложение)

Claude Code, ChatGPT, VS Code…

Его клиенты подключаются каждый к своему серверу и получают список инструментов

⇄JSON-RPC

MCP-сервер

GitHub, Notion, собственный

Предоставляет три вида возможностей: Tools, Resources, Prompts

⇄

Инструменты и данные

API, базы данных, файлы

То, что сервер на самом деле читает и записывает

Внутри своего компьютера транспорт — stdio, по сети — Streamable HTTP. ИИ решает, какой инструмент и когда использовать, а хост перед вызовом получает согласие пользователя.

1. Что такое MCP: общее соглашение между ИИ и инструментами

До MCP каждое ИИ-приложение подключалось к инструментам по-своему. Чтобы инструмент «опубликовать в Slack» работал в трёх приложениях, его приходилось делать трижды. MCP превратил этот слой подключения в одну спецификацию. При M приложениях и N инструментах вместо M×N интеграций нужно M+N реализаций. В самой спецификации сказано, что она опирается на опыт Language Server Protocol (LSP), который унифицировал поддержку языков в редакторах.

Три вида возможностей, которые даёт сервер

ВозможностьЧто этоПримеры
Tools (инструменты)Функции, которые вызывает ИИСоздать issue, вернуть остаток на складе, сделать запрос к базе данных
Resources (ресурсы)Документы и данные, которые читают пользователь или ИИСодержимое файлов, схемы таблиц, внутренние документы
Prompts (промпты)Шаблоны инструкций, которые пользователь выбирает и запускаетПорядок действий «проверить этот PR»

В обратном направлении клиент (сторона приложения) может предоставить серверам Elicitation — механизм, позволяющий серверу запросить у пользователя дополнительные сведения. Roots (сообщить серверу, в каких папках ему можно работать) и Sampling (сервер просит модель приложения сгенерировать текст), которые были в прежних версиях, в действующей версии объявлены устаревшими (раздел 4).

2. Что произошло за два года с момента публикации

Версии спецификации MCP называются по «последней дате, когда вносились несовместимые с прежними версиями изменения». Вот главные события рядом с этими версиями.

  • 25 ноября 2024 годаAnthropic опубликовала спецификацию и SDK. Первая версия — 2024-11-05.
  • 26 марта 2025 годаВерсия 2025-03-26 добавила Streamable HTTP для удалённых серверов и авторизацию на основе OAuth, а прежний транспорт HTTP+SSE объявила устаревшим. В тот же день (по времени США) Сэм Альтман из OpenAI заявил, что OpenAI поддержит MCP в своих продуктах (по данным TechCrunch).
  • 18 июня 2025 годаВерсия 2025-06-18 добавила структурированные (типизированные) результаты инструментов и Elicitation.
  • 25 ноября 2025 годаВерсия 2025-11-25 добавила Tasks для долгих операций (экспериментально) и Client ID Metadata Documents, позволяющие клиенту представляться через URL.
  • 9 декабря 2025 годаAnthropic передала MCP в AAIF, которую совместно основали Anthropic, Block и OpenAI при поддержке Google, Microsoft, AWS, Cloudflare и Bloomberg. В объявлении того дня говорилось о более чем 10 000 активных публичных MCP-серверов и более чем 97 млн загрузок SDK для Python и TypeScript в месяц, а среди принявших MCP назывались ChatGPT, Cursor, Gemini, Microsoft Copilot и VS Code.
  • 28 июля 2026 годаДействующая версия 2026-07-28 убрала рукопожатие (initialize) и сессии и сделала MCP протоколом без состояния (раздел 4).

MCP распространился, потому что спецификация — тонкий слой поверх JSON-RPC 2.0 и JSON Schema, который легко реализовать; потому что она рано вышла как открытая; и потому что после передачи в фонд она перестала принадлежать одной компании. Раз конкурирующие компании работают по одной спецификации, разработчику инструмента достаточно сделать его один раз.

3. Как это устроено: хост, клиент, сервер и два транспорта

В спецификации три роли. Хост — ИИ-приложение, с которым работает пользователь; клиент — коннектор, который хост запускает для каждого сервера (по одному на сервер); сервер — сторона, предоставляющая инструменты и данные. Сообщения идут в формате JSON-RPC 2.0: клиент получает список инструментов (tools/list), вызывает выбранный ИИ инструмент с аргументами (tools/call) и получает результат.

ТранспортГде работаетДля чего подходитАутентификация
stdioВаш собственный компьютер (приложение запускает сервер как процесс и общается через стандартный ввод и вывод)Файлы, локальный Git, локальная база данныхМеханизм авторизации спецификации не используется; учётные данные передаются через переменные окружения и т. п.
Streamable HTTPНа стороне сервиса (подключение по URL)Сервисы вроде GitHub и Notion, общие серверы внутри компанииАвторизация (Authorization) спецификации на основе OAuth 2.1
HTTP+SSEПрежний транспорт для удалённых серверовНе использовать в новых проектахУстарел (переходить на Streamable HTTP)

4. Что изменилось в действующей спецификации 2026-07-28

Согласно странице о версиях спецификации, действующая версия (Current) — 2026-07-28. По сравнению с предыдущей, 2025-11-25, сильно изменился сам способ подключения. Основные отличия по списку изменений:

ПунктДо 2025-11-252026-07-28
Начало соединенияРукопожатие initialize определяет версию и возможностиРукопожатия нет; каждый запрос несёт версию и возможности в _meta, а сервер сообщает поддерживаемые версии через server/discover
СессииStreamable HTTP использует Mcp-Session-IdСессий на уровне протокола нет; состояние между вызовами передаётся как выданный сервером ID в аргументах инструмента
Уведомления об измененияхПоток HTTP GET, resources/subscribeСобраны в один поток subscriptions/listen
Запросы от сервераСервер сам отправляет запросы (sampling/createMessage, elicitation/create и др.)Сервер возвращает результат «нужны данные» (input_required), и клиент повторяет тот же запрос с ответами (Multi Round-Trip Requests)
Обрыв потокаПовторная доставка по ID событий SSEВозобновления нет; клиент отправляет запрос заново с новым ID
Долгие операции (Tasks)Экспериментальная функция ядраВынесены в официальное расширение (io.modelcontextprotocol/tasks)
УстаревшееHTTP+SSERoots, Sampling, Logging, HTTP+SSE и динамическая регистрация клиентов OAuth (на смену — Client ID Metadata Documents)

По правилам жизненного цикла функций спецификации устаревшие функции остаются как минимум двенадцать месяцев, прежде чем их можно удалить (или не менее 90 дней при активной угрозе безопасности — например, опубликованной уязвимости или реальной эксплуатации, которую нельзя устранить в самом протоколе). В спецификации также описано, как с обратной совместимостью работать с теми, кто ещё использует рукопожатие версии 2025-11-25 и более ранних.

Что это значит для пользователей и разработчиков

  • Пользователям

    Если приложение поддерживает новую версию, делать ничего не нужно

    Claude Code поддерживает 2026-07-28 через «v2 runtime» на базе MCP TypeScript SDK 2.0. Он спрашивает каждый сервер, поддерживает ли тот новую версию, и если да — использует её, а если нет — подключается по прежнему рукопожатию. v2 runtime включён по умолчанию с v2.1.232 в сессиях, которые получают feature flags, и с v2.1.274 — в тех, что не получают. Чтобы остаться на старом протоколе, задайте переменную окружения MCP_PROTOCOL_NEGOTIATION=legacy (документация Claude Code по MCP).

  • Разработчикам

    Перейти на SDK 2.x и не использовать устаревшее в новом коде

    Python SDK — серия 2.x (mcp 2.3.0 на PyPI, выпуск 2 октября 2026 года), серия 2.x TypeScript SDK поддерживает 2026-07-28. В 2.x пакеты TypeScript разделены на @modelcontextprotocol/server и @modelcontextprotocol/client (2.4.0 в npm), а прежний @modelcontextprotocol/sdk остаётся на 1.x (1.32.2). В новых серверах передавайте папки через аргументы инструмента или настройки вместо Roots, а журналы пишите в стандартный поток ошибок или OpenTelemetry вместо Logging. Для состояния на несколько вызовов выдавайте неугадываемые ID и привязывайте их к пользователю (раздел 9).

  • Расширения

    За пределами ядра появились необязательные «расширения»

    Обзорная страница спецификации выделяет Tasks для долгих операций, MCP Apps для интерфейсов вроде графиков и форм прямо в разговоре и Skills over MCP для распространения инструкций для агентов через MCP (обсуждается в рабочей группе). Расширение используется, только если его поддерживают и клиент, и сервер.

5. Как подключить сервер в основных приложениях и где лежат настройки

Один и тот же MCP-сервер в каждом приложении подключается по-своему и хранится в своём файле. Вот что сказано в официальной документации разработчиков (проверено 12 ноября 2026 года).

ПриложениеКак подключитьГде хранятся настройкиНа что обратить внимание
Claude Codeclaude mcp add~/.claude.json для себя, .mcp.json в корне проекта для командыСостояние соединения смотрят в /mcp
Claude DesktopПравка файла настроекclaude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\, Linux: ~/.config/Claude/)После правки перезапустить приложение (официальное руководство)
Codex (CLI)codex mcp addТаблица [mcp_servers.имя] в ~/.codex/config.toml (доверенные проекты могут использовать и .codex/config.toml)Для серверов с OAuth — codex mcp login имя
Gemini CLIgemini mcp addmcpServers в settings.json (.gemini/ или ~/.gemini/)trust: true отключает все подтверждения вызовов, поэтому только для серверов под вашим контролем (вверху официальной страницы сказано, что для пользователей бесплатного уровня и Google One Gemini CLI 18 июня 2026 года заменён на Antigravity CLI)
VS Code«MCP: Add Server» в палитре командСледовать мастеру и выбрать рабочую область или глобальный уровеньДокументация предупреждает, что локальные серверы выполняют код на вашем компьютере
ChatGPT«Add custom MCP server» в разделе Plugins (режим разработчика заранее включать не нужно)Настраивается в интерфейсе рабочего пространства (публичный HTTPS-адрес или Secure MCP Tunnel)Только Business, Enterprise и Edu в веб-версии (в Business подключают только администраторы и владельцы, в Enterprise и Edu — также участники с выданными правами; публикуют для рабочего пространства только администраторы и владельцы) (справка OpenAI)

Источники: документация по MCP для Claude Code, Codex, Gemini CLI и VS Code. Коннекторы (удалённые MCP-серверы), добавленные в claude.ai, тоже появляются в /mcp Claude Code, но не загружаются, если вы вошли с API-ключом (что делать, если коннекторы отключены).

6. Серверы, которыми можно пользоваться уже сейчас, и где искать другие

СерверЧто умеетТипичное применение
filesystem (эталонный сервер)Читает и пишет файлы только в разрешённых папкахДать ИИ прочитать документы или код
fetch (эталонный сервер)Загружает веб-страницу и переводит её в удобный для ИИ видПередать URL и получить краткое изложение
git (эталонный сервер)Читает историю локального Git-репозитория и работает с нимПопросить объяснить изменения по истории
GitHub (удалённый сервер, который ведёт GitHub)Issues, PR и операции с репозиториямиПроверять PR, оформлять найденные ошибки в issues
Notion (удалённый сервер, который ведёт Notion)Работает с рабочим пространством NotionНаходить и кратко излагать внутренние документы

Искать серверы стоит в MCP Registry — списке публичных серверов — и в Anthropic Directory с проверенными Anthropic коннекторами. В официальном репозитории теперь семь эталонных серверов (Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, Time); README называет их учебными примерами для тех, кто пишет свои серверы, и просит самостоятельно оценивать требования к безопасности. Серверы для GitHub, PostgreSQL, Slack и другие, которые раньше были там, переехали в servers-archived (сервер GitHub теперь ведёт сам GitHub, сервер Slack поддерживает Zencoder). Не следуйте старым инструкциям буквально.

7. Попробовать за 10 минут: пусть Claude Code прочитает папку

С официальным сервером filesystem вы разрешаете Claude Code читать только одну выбранную папку. Предполагается, что установлен Node.js (npx).

  1. Создайте тестовую папку. Создайте пустую папку без важных файлов (например, ~/mcp-test) и положите в неё короткий README.md. Сервер сможет работать только с этой папкой.
  2. Подключите сервер. В macOS и Linux выполните следующую команду. Всё после -- передаётся как есть в качестве команды запуска сервера.
    claude mcp add --transport stdio files -- npx -y @modelcontextprotocol/server-filesystem ~/mcp-test
    В «родной» Windows (не WSL) сервер подключается так же, папка указывается как C:\mcp-test. Если npx не запускается, оберните его в cmd /c, как показано в README эталонного сервера для Windows.
    claude mcp add --transport stdio files -- cmd /c npx -y @modelcontextprotocol/server-filesystem C:\mcp-test
    Путь к папке подставьте свой.
  3. Проверьте соединение. Запустите Claude Code, откройте /mcp и убедитесь, что у files статус connected. Если там failed, смотрите как исправить ошибки подключения MCP-сервера.
  4. Попробуйте. Попросите: «Кратко изложи README из mcp-test». Перед использованием инструмента Claude Code запросит разрешение; посмотрите имя инструмента и аргументы, прежде чем разрешить.
  5. Уберите за собой. Закончив, удалите сервер командой claude mcp remove files.

Удалённые серверы подключают по URL (например, claude mcp add --transport http notion https://mcp.notion.com/mcp), после чего завершают аутентификацию через /mcp. Областей действия три: local по умолчанию — только для вас в этом проекте, --scope project записывает в .mcp.json в корне проекта для общего доступа команды, --scope user делает сервер доступным во всех ваших проектах. Серверы с учётными данными, которые не должны попасть в систему контроля версий, держите в local.

8. Свой MCP-сервер: минимальный пример

Пользоваться готовыми серверами уже полезно, но по-настоящему MCP раскрывается, когда вы открываете ИИ доступ к собственным внутренним инструментам. С Python SDK (2.x) хватает примерно десятка строк. Пример — сервер, который «возвращает текущий остаток на складе».

SDK устанавливается командой uv add "mcp[cli]" (или pip install "mcp[cli]"). Дополнение [cli] добавляет команды mcp dev и mcp run, которые используются ниже.

from mcp.server import MCPServer

mcp = MCPServer("inventory-server")

@mcp.tool()
def get_stock(sku: str) -> int:
    """Возвращает текущий остаток по SKU"""
    # Здесь запрос к внутренней базе складского учёта
    return query_internal_db(sku)

if __name__ == "__main__":
    mcp.run(transport="stdio")
  • Проверить

    Команда uv run mcp dev server.py из README SDK открывает официальный интерфейс для проверки (MCP Inspector), где список инструментов и результаты вызовов можно посмотреть без участия ИИ.

  • Подключить

    В Claude Code: claude mcp add --transport stdio inventory -- python server.py. Docstring функции становится описанием инструмента для ИИ, поэтому конкретно напишите, что она возвращает.

  • Открыть доступ

    Чтобы делиться сервером внутри компании, uv run mcp run server.py --transport streamable-http превращает его в HTTP-сервер. В этом случае соблюдайте правила авторизации и работы с токенами из раздела 9.

Официальные SDK: TypeScript, Python, C#, Go, Rust и Ruby (Tier 1), Java (Tier 2), Swift, PHP и Kotlin (Tier 3). Tier отражает полноту функций и обязательства по поддержке, а новые версии спецификации каждый SDK осваивает в своём темпе.

9. Безопасность: главное из официальных Security Best Practices

Спецификация считает инструменты «выполнением произвольного кода» и требует, чтобы хост получал явное согласие пользователя перед вызовом любого инструмента. Описания и аннотации инструментов считаются недоверенными, если они не получены от доверенного сервера. Кроме того, официальные Security Best Practices перечисляют атаки, характерные для MCP, и меры защиты.

АтакаЧто происходитЧто требует спецификацияКого касается
Компрометация локального MCP-сервераКоманда запуска, подброшенная в настройки, выполняет произвольные команды — например, отправляет наружу ваши SSH-ключиКлиенты с подключением в один клик обязаны показать точную команду без сокращений и получить согласие (MUST), а запускать серверы следует в песочнице с минимальными правами (SHOULD)Пользователи, разработчики приложений
Сквозная передача токеновСервер принимает токен, выданный для другого сервиса, и пересылает его в API дальшеНе принимать токены, выданные не для этого MCP-сервера (MUST NOT)Разработчики серверов
Confused deputyСервер-посредник для стороннего API пропускает экран согласия, и код авторизации крадутПолучать согласие для каждого клиента до сторонней авторизации (MUST) и сверять redirect_uri на точное совпадениеРазработчики серверов-посредников
SSRFВредоносный сервер подставляет в URL OAuth внутренние адреса (например, 169.254.169.254) и заставляет клиента их запрашиватьТребовать HTTPS и блокировать запросы к частным диапазонам IP (SHOULD)Разработчики клиентов
Перехват идентификаторов состоянияКто-то угадывает выданный сервером ID, например корзины, и меняет состояние чужого пользователяНе считать владение ID аутентификацией (MUST NOT), выдавать неугадываемые случайные ID и привязывать их к пользователю (SHOULD)Разработчики серверов
Слишком широкие права (scopes)Один украденный токен открывает доступ к посторонним инструментам и даннымНачинать с минимальных прав, в основном на чтение, и расширять их поэтапно по мере необходимостиРазработчики серверов

Пять проверок перед установкой сервера

Что проверитьГде смотреть / примеры
① Кто его ведётСервер самого сервиса (например, https://api.githubcopilot.com/mcp/ у GitHub или https://mcp.notion.com/mcp у Notion), эталонный сервер или сторонний (ищите в MCP Registry и Anthropic Directory)
② Прочитали ли вы команду запуска целикомnpx -y и uvx скачивают и запускают пакет сразу при подключении, поэтому проверьте, что это не пакет с похожим названием и что после него нет лишних команд
③ Поддерживается ли онСерверы GitHub, PostgreSQL и Slack из официального репозитория переехали в servers-archived
④ Какой доступ вы даётеВыпускайте токены с узкими правами (в документации Claude Code тоже есть пример для GitHub с fine-grained токеном, ограниченным нужными репозиториями)
⑤ Тянет ли он внешний контентСерверы, которые загружают веб-страницы или письма, — вход для промпт-инъекций (документация Claude Code тоже предупреждает: перед подключением убедитесь, что доверяете серверу)

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

10. MCP, API, Skills или A2A: что когда выбирать

Что нужноЧто подходитПочему
Дать ИИ внешние данные или действия и позволить ему самому решать, когда их использоватьMCP-серверИИ получает список инструментов и сам вызывает их, когда нужно
Использовать одно подключение в нескольких приложениях — Claude Code, Codex, VS CodeMCP-серверСделали один раз — и им может пользоваться любое приложение с поддержкой MCP
Вызывать фиксированную обработку из своей программы всегда в одном порядкеОбычный вызов APIЕсли ИИ ничего не выбирает, ставить MCP посередине незачем
Заставить ИИ соблюдать порядок действий или правила оформления (без внешних подключений)SkillsНужна инструкция, а не подключение
Поручить работу ИИ-агенту, которого сделала другая команда или компанияA2AНа другой стороне агент, а не инструмент (если MCP — «вертикальная» связь с инструментами, то A2A — «горизонтальная» между агентами)

Эти четыре подхода не исключают друг друга. Например: получить свежие данные через MCP, оформить их по инструкции из Skill и передать агенту другого отдела через A2A. MCP-серверы можно также включать в плагины Claude Code и раздавать команде вместе со skills и hooks.

11. Не подключайте и не стройте лишнего

  • Контекст

    Результаты инструментов расходуют контекст

    Claude Code по умолчанию использует tool search: в начале сессии загружает только имена инструментов и инструкции серверов, а определения — по мере надобности. Но результаты всё равно занимают контекст: при выводе больше 10 000 токенов появляется предупреждение, а по умолчанию вывод ограничен 25 000 токенами (меняется через MAX_MCP_OUTPUT_TOKENS).

  • Проектирование

    Не превращайте всё в MCP

    Чем больше инструментов вызывает один запрос, тем больше он стоит по времени и деньгам. Если ИИ не нужно выбирать, обычная программа или вызов API быстрее и надёжнее.

  • Спецификация

    Закладывайте, что спецификация будет меняться

    Некоторые версии, как 2026-07-28, меняют сам способ подключения. Устаревшее, как правило, держится не меньше двенадцати месяцев (при активной угрозе безопасности — не менее 90 дней), но свои серверы пересматривайте при обновлениях SDK.

  • Доход

    Можно ли заработать на своём сервере

    В самом MCP нет механизма оплаты. Каналы продаж и комиссии мы сравнили в статье можно ли заработать на MCP-серверах.

Итоги

  • MCP — открытая спецификация, которая связывает ИИ-приложения с внешними инструментами и данными. Anthropic опубликовала её в ноябре 2024 года и в декабре 2025 года передала в AAIF под эгидой Linux Foundation.
  • Роли — хост, клиент и сервер. Серверы предоставляют Tools, Resources и Prompts через stdio или Streamable HTTP.
  • Действующая версия — 2026-07-28. Она убрала рукопожатие и сессии, сделав протокол без состояния, и объявила устаревшими Roots, Sampling и Logging.
  • Claude Code, Codex и Gemini CLI подключают серверы командой mcp add, Claude Desktop — через файл настроек, VS Code — из палитры команд.
  • Начните с эталонного сервера filesystem на пустой папке и проверьте соединение в /mcp.
  • Свой сервер на Python SDK — это около десятка строк. Проверьте его в MCP Inspector до подключения.
  • Официальные Security Best Practices требуют показывать команду запуска целиком и получать согласие, отклонять токены, выданные не для сервера, использовать неугадываемые ID и минимальные права.

Вопросы и ответы

В1. Нужно ли специально учиться, чтобы пользоваться MCP?

Чтобы пользоваться — нет. В Claude Code достаточно одной строки claude mcp add, в Claude Desktop — нескольких строк в файле настроек. Даже при создании своего сервера детали JSON-RPC берёт на себя SDK, так что можно начать с функции и декоратора.

В2. Можно ли пользоваться MCP в ChatGPT?

Можно. По справке OpenAI, проверенной 12 ноября 2026 года, подключение собственных MCP-серверов к ChatGPT (полная поддержка MCP, включая действия записи) доступно в ChatGPT Business, Enterprise и Edu в веб-версии. В разделе Plugins через «Add custom MCP server» добавляется публичный HTTPS-адрес сервера (или Secure MCP Tunnel), после чего нужно подтвердить предупреждение о рисках; заранее включать режим разработчика не нужно. В Business подключать серверы могут только администраторы и владельцы, в Enterprise и Edu администраторы могут выдать это право выбранным участникам через ролевое управление доступом (RBAC). Публиковать для рабочего пространства могут только администраторы и владельцы, а подключение с мобильных устройств не поддерживается. Подробнее — в справке OpenAI.

В3. Перестанут ли работать старые серверы с версией 2026-07-28?

Не сразу. В спецификации есть обратно совместимый порядок работы с теми, кто использует рукопожатие версии 2025-11-25 и более ранних, а Claude Code подключается к серверам без поддержки новой версии по прежнему протоколу. Устаревшие функции к тому же, как правило, остаются в спецификации не меньше двенадцати месяцев (не менее 90 дней — только при активной угрозе безопасности). Свои серверы при переходе на SDK 2.x проверьте: не опираются ли они на Roots, Sampling или Logging.

В4. Безопасно ли открывать ИИ внутреннюю базу данных через MCP?

Зависит от того, как устроены права. Если использовать подключение только для чтения и давать в виде инструментов лишь фиксированные запросы со строгой проверкой аргументов, это намного безопаснее, чем позволять ИИ писать произвольный SQL. Инструмент, который «может выполнить любой SQL», опасен. Если открываете сервер по HTTP, принимайте только токены, выданные для вашего сервера, держите права минимальными и ведите журналы, как описано в разделе 9.

В5. MCP и function calling (вызов инструментов) — это одно и то же?

Это разные уровни. Function calling — формат внутри API модели, которым она сообщает «хочу вызвать эту функцию с такими аргументами», а MCP — соглашение о связи между приложением и внешними серверами. Приложение с поддержкой MCP передаёт модели полученный от серверов список инструментов в её формате вызова инструментов, а выбранный моделью вызов отправляет серверу по MCP.