picomcpv0.1.2
Меню · Покрытие протокола
Справочник

Покрытие протокола

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

Открыть .md Редактировать на GitHub

Это перевод. Эталоном считается английская версия.

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Пакеты, коды ошибок, ответы клиента игнорируются
stdioJSON, разделённый переводами строк, stdout защищён от случайных логов
Streamable HTTPJSON-ответы без состояния, 202 для уведомлений, 405 для GET, CORS, проверка Origin и MCP-Protocol-Version

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

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

Нужна одна из этих возможностей? Создайте issue и опишите свой сценарий. Новые возможности появляются, когда их можно добавить, не раздувая picomcp.