📄️ Основы
Давайте создадим простой MCP-сервер с Neva и добавим обработчики инструментов, промптов и ресурсов.
📄️ Инструменты
Model Context Protocol (MCP) позволяет серверам предоставлять инструменты, которые могут вызываться языковыми моделями. Инструменты позволяют моделям взаимодействовать с внешними системами: делать запросы к базам данных, вызывать API, выполнять вычисления. Каждый инструмент уникально идентифицируется по имени и содержит метаданные с описанием его схемы.
📄️ Ресурсы
Model Context Protocol (MCP) предоставляет стандартизированный способ для серверов предоставлять клиентам ресурсы. Ресурсы позволяют серверам передавать данные, обеспечивающие контекст для языковых моделей: файлы, схемы баз данных или специфичная для приложения информация. Каждый ресурс уникально идентифицируется по URI.
📄️ Промпты
Model Context Protocol (MCP) предоставляет стандартизированный способ для серверов предоставлять клиентам шаблоны промптов. Промпты позволяют серверам передавать структурированные сообщения и инструкции для взаимодействия с языковыми моделями. Клиенты могут получать список доступных промптов, извлекать их содержимое и передавать аргументы для их настройки.
📄️ Сэмплирование
MCP 2026-07-28 убрал sampling/createMessage как серверный запрос к клиенту,
📄️ Получение данных
В этом руководстве описывается, как использовать получение данных (elicitation) на стороне сервера для запроса дополнительного ввода от пользователя или выполнения внешних действий в процессе работы инструмента.
📄️ HTTP-транспорт
Помимо stdio, Neva поддерживает потоковый HTTP-транспорт для удалённых подключений к MCP-серверу.
📄️ Свой HTTP-стек
Потоковый HTTP-транспорт в Neva — подключаемый. По умолчанию сервер построен на Volga и включается через server-full / http-server-volga, но начиная с v0.3.3 MCP-эндпоинт можно разместить на любом HTTP-стеке — axum, hyper, actix-web или собственном адаптере, — реализовав один трейт.
📄️ Логирование
Neva интегрируется с экосистемой tracing для Rust, обеспечивая структурированные журнальные сообщения. Когда клиент их запрашивает, эти сообщения пересылаются ему в виде MCP-уведомлений журнала (notifications/message).
📄️ Промежуточные обработчики
Neva поддерживает конвейер промежуточных обработчиков, позволяющий перехватывать, изучать или изменять запросы до и после их обработки. Промежуточные обработчики — это асинхронные функции, принимающие MwContext и обратный вызов Next.
📄️ Прогресс
Для долгосрочных инструментов Neva может отправлять уведомления о прогрессе (notifications/progress), информируя клиентов о ходе выполнения задачи.
📄️ Задачи
Neva поддерживает долгосрочные задачи — способ асинхронного вызова инструментов с управлением их жизненным циклом. Задачи позволяют клиентам выполнять инструменты, которые могут занимать много времени или требуют дополнительных взаимодействий, с опциональной отменой по истечении TTL.
📄️ Внедрение зависимостей
Neva включает встроенный контейнер внедрения зависимостей (DI), позволяющий регистрировать общие сервисы — подключения к базам данных, HTTP-клиенты, объекты конфигурации, кэши — и автоматически предоставлять их обработчикам инструментов, ресурсов и промптов.
📄️ Автодополнение аргументов
MCP позволяет серверам предлагать варианты автодополнения для аргументов запросов и инструментов — аналогично автодополнению по Tab в терминале. Когда клиент вводит частичное значение, он может запросить список подходящих вариантов, и сервер отвечает предложениями.
📄️ Типы содержимого
Обработчики инструментов и ресурсов MCP могут возвращать различные виды содержимого — не только обычный текст. На этой странице описаны все доступные типы содержимого и случаи их применения.
📄️ Обработка ошибок
Поведение ошибок в Neva зависит от того, какой тип обработчика их возвращает.
📄️ Подписки
В MCP 2026-07-28 клиент подписывается на серверные