📄️ Основы
Хендшейк initialize/initialized заменён одним запросом server/discover; capabilities — в DiscoverResult. См. Превью RC.
📄️ Инструменты
Tool.inputschema / outputschema — полноценные JSON Schema 2020-12 (InputSchema поверх serde_json::Value); макрос #tool] генерирует их автоматически. См. [Превью RC.
📄️ Ресурсы
Model Context Protocol (MCP) предоставляет стандартизированный способ для серверов предоставлять клиентам ресурсы. Ресурсы позволяют серверам передавать данные, обеспечивающие контекст для языковых моделей: файлы, схемы баз данных или специфичная для приложения информация. Каждый ресурс уникально идентифицируется по URI.
📄️ Промпты
Model Context Protocol (MCP) предоставляет стандартизированный способ для серверов предоставлять клиентам шаблоны промптов. Промпты позволяют серверам передавать структурированные сообщения и инструкции для взаимодействия с языковыми моделями. Клиенты могут получать список доступных промптов, извлекать их содержимое и передавать аргументы для их настройки.
📄️ Сэмплирование
sampling/createMessage удалён в MCP 2026-07-28. Server-side sampling больше нет; реализуй через host-provided tool. См. Превью RC.
📄️ Получение данных
Context::elicit принимает стабильный replay-ключ и работает в MRTR re-run модели — хендлер до elicit-точки должен быть без побочек; эффекты — через ctx.once / ctx.memo / ctx.on_commit. См. Превью RC.
📄️ HTTP-транспорт
HTTP-транспорт — только request/response: ни SSE GET, ни DELETE, ни Mcp-Session-Id. Multi-instance деплой требует withrequeststatesecret и общий withrequeststatestore. См. Превью RC.
📄️ Свой HTTP-стек
Потоковый HTTP-транспорт в Neva — подключаемый. По умолчанию сервер построен на Volga и включается через server-full / http-server-volga, но начиная с v0.3.3 MCP-эндпоинт можно разместить на любом HTTP-стеке — axum, hyper, actix-web или собственном адаптере, — реализовав один трейт.
📄️ Логирование
logging/setLevel и notifications/message удалены в MCP 2026-07-28. Используй телеметрию host'а. См. Превью RC.
📄️ Промежуточные обработчики
Neva поддерживает конвейер промежуточных обработчиков, позволяющий перехватывать, изучать или изменять запросы до и после их обработки. Промежуточные обработчики — это асинхронные функции, принимающие MwContext и обратный вызов Next.
📄️ Прогресс
Для долгосрочных инструментов Neva может отправлять уведомления о прогрессе (notifications/progress), информируя клиентов о ходе выполнения задачи.
📄️ Задачи
Tasks анонсируется как extension (capabilities.extensions"io.modelcontextprotocol/tasks"]); with_tasks — обёртка над регистрацией. Elicit в task-tool'е — ctx.task().elicit(params). См. [Превью RC.
📄️ Внедрение зависимостей
Neva включает встроенный контейнер внедрения зависимостей (DI), позволяющий регистрировать общие сервисы — подключения к базам данных, HTTP-клиенты, объекты конфигурации, кэши — и автоматически предоставлять их обработчикам инструментов, ресурсов и промптов.
📄️ Автодополнение аргументов
MCP позволяет серверам предлагать варианты автодополнения для аргументов запросов и инструментов — аналогично автодополнению по Tab в терминале. Когда клиент вводит частичное значение, он может запросить список подходящих вариантов, и сервер отвечает предложениями.
📄️ Типы содержимого
Обработчики инструментов и ресурсов MCP могут возвращать различные виды содержимого — не только обычный текст. На этой странице описаны все доступные типы содержимого и случаи их применения.
📄️ Обработка ошибок
Поведение ошибок в Neva зависит от того, какой тип обработчика их возвращает.