# Покрытие протокола
Source: https://picomcp.github.io/picomcp/ru/docs/protocol

> Какие именно части спецификации MCP реализует picomcp, а какие пока нет.

picomcp ориентирован на MCP `2025-11-25` и при согласовании поддерживает `2025-06-18`, `2025-03-26` и `2024-11-05`. Каждая поддерживаемая возможность покрыта тестами, включая сквозные тесты с клиентом официального TypeScript SDK.

## Поддерживается

| Область | Возможность |
| --- | --- |
| Жизненный цикл | `initialize` с согласованием версии, `notifications/initialized`, `ping` |
| Инструменты | `tools/list`, `tools/call`, проверка входных данных, `outputSchema` и `structuredContent`, аннотации, заголовки |
| Содержимое | текст, изображения, аудио, ссылки на ресурсы, встроенные ресурсы |
| Ресурсы | `resources/list`, `resources/templates/list`, `resources/read`, текстовое и двоичное содержимое |
| Промпты | `prompts/list`, `prompts/get`, аргументы из схем |
| Утилиты | `notifications/cancelled` с `AbortSignal` |
| JSON-RPC | Пакеты, коды ошибок, ответы клиента игнорируются |
| stdio | JSON, разделённый переводами строк, stdout защищён от случайных логов |
| Streamable HTTP | JSON-ответы без состояния, `202` для уведомлений, `405` для `GET`, CORS, проверка `Origin` и `MCP-Protocol-Version` |

## Пока не поддерживается

| Возможность | Почему |
| --- | --- |
| Sampling, elicitation, roots | Для них сервер должен отправлять запросы клиенту. Архитектура picomcp без состояния пока не держит для этого открытый канал. |
| Уведомления о логах, прогрессе и `list_changed` | По той же причине: это сообщения от сервера к клиенту. |
| Подписки на ресурсы | По той же причине. |
| Автодополнение | Запланировано. |
| Курсоры пагинации | Списки возвращаются целиком. Этого достаточно для серверов с сотнями записей. |
| Сессии (`Mcp-Session-Id`) и потоки SSE | Не нужны в режиме без состояния. |
| Tasks | В спецификации пока экспериментальные. |

Нужна одна из этих возможностей? [Создайте issue](https://github.com/picomcp/picomcp/issues) и опишите свой сценарий. Новые возможности появляются, когда их можно добавить, не раздувая picomcp.
