# MCP

Источник: https://modelium.tech/spravochnik/mcp/

MCP (Model Context Protocol) — открытый протокол, по которому AI-приложение подключается к внешним данным и инструментам — файлам, базам, рабочим программам. MCP-сервер — это программа-посредник, которая отдаёт приложению данные и действия одной конкретной системы в стандартном виде. Протокол представила компания Anthropic 25 ноября 2024 года; сейчас проект оформлен как отдельная серия компании LF Projects, LLC, а действующая версия спецификации — 2026-07-28.

> [!note] Определения взяты из текста спецификации и официальной документации MCP — по файлам репозитория проекта на 17 сентября 2026 года. Сайт modelcontextprotocol.io в момент сбора не открылся, поэтому ссылки ведут на те же тексты в репозитории.

## Простыми словами

Языковая модель сама по себе не видит ваших файлов, базы клиентов или календаря. Чтобы она с ними работала, приложение должно уметь туда сходить. Раньше для каждой пары «приложение — система» писали отдельную интеграцию. MCP предлагает один общий способ.

Определение из спецификации: «Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools» [1](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/index.mdx). Сами авторы объясняют это сравнением: MCP — как порт USB-C для AI-приложений, один стандартный разъём вместо множества разных [15](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/getting-started/intro.mdx).

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

MCP-сервер — программа, которая знает одну конкретную систему и умеет показать её AI-приложению в стандартном виде: вот какие данные можно прочитать, вот какие действия выполнить. По словам документации, серверы — это программы, которые предоставляют возможности через стандартизированный протокол [9](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/develop/connect-local-servers.mdx).

Запросы вроде «MCP-сервер для 1С» означают именно это — программу-посредника между AI-приложением и учётной системой. Существующие реализации для конкретных систем мы не изучали.

## Как это устроено — хост, клиент, сервер

В архитектуре три роли [2](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/architecture/index.mdx).

- **Хост** — само AI-приложение: чат, редактор кода. Он создаёт подключения, управляет разрешениями и отвечает за согласие пользователя.
- **Клиент** — соединение внутри хоста. Каждый клиент связан ровно с одним сервером.
- **Сервер** — предоставляет данные и возможности; по спецификации может быть локальным процессом или удалённым сервисом.

## Что даёт сервер

У сервера три вида возможностей, и у каждого свой «хозяин» [3](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/server/index.mdx).

| Возможность | Что это | Кто управляет |
|---|---|---|
| Ресурсы (resources) | данные для контекста — файлы, схемы баз, сведения из программы | приложение |
| Инструменты (tools) | функции, которые модель может вызвать, — запрос к базе, обращение к API, расчёт | модель |
| Промпты (prompts) | готовые шаблоны сообщений и инструкций | пользователь |

Про инструменты спецификация говорит прямо: они позволяют модели взаимодействовать с внешними системами — например, делать запросы к базам данных и вызывать API [4](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/server/tools.mdx).

## Локальный и удалённый сервер

Транспортов в действующей версии два [6](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/transports/index.mdx).

- **stdio** — приложение запускает сервер как дочерний процесс на той же машине и обменивается с ним сообщениями через стандартные потоки. Это и есть «локальный MCP-сервер»: программа работает на вашем компьютере [9](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/develop/connect-local-servers.mdx).
- **Streamable HTTP** — сервер живёт отдельно и принимает сообщения по HTTP. Так устроены удалённые серверы: по словам документации, они дают доступ к инструментам и данным, размещённым в интернете [16](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/develop/connect-remote-servers.mdx).

Сообщения в обоих случаях — JSON-RPC 2.0 в кодировке UTF-8 [5](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/index.mdx) [6](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/transports/index.mdx).

Для компании это различие про данные. Локальный сервер работает внутри вашей машины или контура. Удалённый — это чужой сервис, которому ваше приложение передаёт запросы.

## Версии протокола

Версии называются датами. Действующая — 2026-07-28; перед ней были 2025-11-25 и более ранние [8](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/versioning.mdx). Версии начиная с 2026-07-28 спецификация называет современными, версии до 2025-11-25 включительно — прежними: у прежних соединение начиналось с отдельного шага согласования, у современных версия и возможности передаются с каждым запросом [8](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/versioning.mdx).

В версии 2026-07-28 три возможности помечены устаревшими: Roots, Sampling и Logging [7](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/deprecated.mdx). Если вы читаете старую статью, где они описаны как основа протокола, — она отстала от спецификации.

## Что спецификация требует по безопасности

Спецификация исходит из того, что MCP даёт доступ к произвольным данным и выполнению кода, и формулирует принципы [1](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/index.mdx).

1. **Согласие и контроль пользователя.** Пользователь должен явно согласиться на доступ к данным и на операции и понимать, что происходит.
2. **Приватность данных.** Хост обязан получить явное согласие, прежде чем отдать данные пользователя серверу, и не должен передавать их куда-либо ещё без согласия.
3. **Безопасность инструментов.** Инструменты — это выполнение произвольного кода; перед вызовом любого инструмента хост обязан получить явное согласие пользователя.

Это требования к приложениям, а не гарантия: как именно конкретное приложение их выполняет, нужно проверять отдельно.

## SDK и реестр серверов

Официальные SDK есть для десяти языков. К первому уровню поддержки отнесены TypeScript, Python, C#, Go и Rust, ко второму — Java и Ruby, к третьему — Swift, PHP и Kotlin [10](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/sdk.mdx).

У проекта есть официальный реестр серверов — «the official centralized metadata repository for publicly accessible MCP servers». Он хранит не сами серверы, а сведения о них и ссылки на пакеты, и пока работает в режиме предварительной версии [11](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/registry/about.mdx).

## Кто управляет и какая лицензия

Протокол создали в Anthropic; анонс вышел 25 ноября 2024 года [12](https://www.anthropic.com/news/model-context-protocol). Сейчас проект оформлен как «Model Context Protocol a Series of LF Projects, LLC» [13](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/GOVERNANCE.md). LF Projects — компания, проекты которой учреждаются как её отдельные «серии»; у неё общие для всех проектов правила — кодекс поведения, политика товарных знаков, антимонопольная политика [17](https://lfprojects.org/).

С лицензией переходный период: проект переходит с MIT на Apache 2.0. Новый код и тексты спецификации принимаются под Apache 2.0, а вклады, авторы которых ещё не дали согласия на смену лицензии, остаются под MIT [14](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/LICENSE).

## Источники

1. [Спецификация MCP 2026-07-28 — обзор](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/index.mdx) — получено 2026-09-17
2. [Спецификация MCP 2026-07-28 — архитектура](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/architecture/index.mdx) — получено 2026-09-17
3. [Спецификация MCP 2026-07-28 — возможности сервера](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/server/index.mdx) — получено 2026-09-17
4. [Спецификация MCP 2026-07-28 — инструменты (tools)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/server/tools.mdx) — получено 2026-09-17
5. [Спецификация MCP 2026-07-28 — базовый протокол](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/index.mdx) — получено 2026-09-17
6. [Спецификация MCP 2026-07-28 — транспорты](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/transports/index.mdx) — получено 2026-09-17
7. [Спецификация MCP 2026-07-28 — реестр устаревших возможностей](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/deprecated.mdx) — получено 2026-09-17
8. [Спецификация MCP 2026-07-28 — версии протокола](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/specification/2026-07-28/basic/versioning.mdx) — получено 2026-09-17
9. [Документация MCP — подключение локальных серверов](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/develop/connect-local-servers.mdx) — получено 2026-09-17
10. [Документация MCP — официальные SDK](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/sdk.mdx) — получено 2026-09-17
11. [Документация MCP — о реестре серверов](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/registry/about.mdx) — получено 2026-09-17
12. [Anthropic — Introducing the Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) — получено 2026-09-17
13. [Репозиторий MCP — GOVERNANCE.md](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/GOVERNANCE.md) — получено 2026-09-17
14. [Репозиторий MCP — LICENSE](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/LICENSE) — получено 2026-09-17
15. [Документация MCP — что такое MCP](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/getting-started/intro.mdx) — получено 2026-09-17
16. [Документация MCP — подключение удалённых серверов](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/f56f204f6290f6531b14d5734eb3e0a10f0eb201/docs/docs/2026-07-28/develop/connect-remote-servers.mdx) — получено 2026-09-17
17. [LF Projects, LLC — политики](https://lfprojects.org/) — получено 2026-09-17
