# Расширения протокола

> Расширения MCP в редакции 2026-07-28 - что это, как называются, как клиент и сервер о них договариваются и какие официальные расширения существуют

Страница: https://mcpdoc.ru/protocol/extensions/
Указатель сайта: https://mcpdoc.ru/llms.txt

Расширение - необязательное дополнение к протоколу со своим именем. Оно включается только тогда, когда его поддерживают и клиент, и сервер. Поддержка объявляется в поле `extensions` среди возможностей. Реализовывать расширения для соответствия протоколу не нужно.

описана редакция 2026-07-28, сверено с документацией 4 октября 2026

Источники - [обзор расширений](https://modelcontextprotocol.io/extensions/overview) в официальной документации и раздел Extension Negotiation на странице [Versioning and Compatibility](https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning).

## Имя расширения

Имя состоит из приставки владельца и названия: `приставка/название`.

| Чьё расширение | Приставка | Пример |
|---|---|---|
| официальное | `io.modelcontextprotocol` | `io.modelcontextprotocol/tasks` |
| стороннее | перевёрнутое доменное имя владельца | `com.example/my-extension` |

Правила те же, что у ключей `_meta`, но приставка обязательна.

## Как стороны договариваются

Клиент перечисляет расширения в возможностях, которые прикладывает к каждому запросу. Сервер перечисляет свои в ответе на [`server/discover`](https://mcpdoc.ru/protocol/discovery/).

```json title="Возможности с расширением"
{
  "capabilities": {
    "tools": {},
    "extensions": {
      "io.modelcontextprotocol/tasks": {}
    }
  }
}
```

Значение - объект настроек, формат которого задаёт само расширение. Пустой объект означает поддержку без настроек.

Если расширение поддерживает только одна сторона, она обязана либо работать по основному протоколу, либо отклонить запрос с понятной ошибкой. Расширению следует описать, как оно ведёт себя в таком случае.

## Официальные расширения

Официальные расширения ведутся в организации Model Context Protocol на GitHub, в репозиториях с приставкой `ext-`.

| Расширение | Что добавляет |
|---|---|
| Tasks (`io.modelcontextprotocol/tasks`) | долгие операции: опрос состояния, ввод по ходу выполнения, устойчивые идентификаторы задач |
| MCP Apps (`io.modelcontextprotocol/ui`) | интерактивные элементы прямо в разговоре: графики, формы, проигрыватели |
| OAuth Client Credentials | доступ без пользователя: получение токена по учётным данным клиента |
| Enterprise-Managed Authorization | централизованное управление доступом в компании |
| Skills over MCP | поиск и чтение инструкций для агентов через ресурсы MCP |

Tasks до редакции `2026-07-28` были экспериментальной частью основного протокола. В `2026-07-28` они вынесены в расширение и переработаны: это записано в [списке изменений](https://modelcontextprotocol.io/specification/2026-07-28/changelog) со ссылкой на SEP-2663.

Какие клиенты поддерживают какие расширения, официальная документация ведёт в отдельной таблице. Здесь эти сведения не повторяются: они меняются с каждым выпуском клиента.

## Экспериментальные расширения

Рабочие группы могут опробовать идею до подачи формального предложения. Такие репозитории получают приставку `experimental-ext-` и обязаны явно называть себя экспериментальными. Чтобы стать официальным, расширение проходит обычный порядок рассмотрения предложений (SEP).

## Что важно разработчику

- Расширения по умолчанию выключены. Их включает разработчик.
- SDK не обязан поддерживать расширения. Что именно поддержано, нужно смотреть в документации SDK.
- Расширения развиваются отдельно от основного протокола. При несовместимом изменении расширение получает новое имя.
- Свои ключи в `_meta` официальные расширения заводят под приставкой `io.modelcontextprotocol/`, сторонние - под своей.

## Что читать дальше

- [Редакции и версии](https://mcpdoc.ru/protocol/versions/) - как стороны договариваются о версии протокола.
- [Что устарело](https://mcpdoc.ru/protocol/deprecations/) - какие функции основного протокола уходят.
