Ребята из Posit исправили ошибки, и расширили функционал, судя по номеру версии пакет приобрёл окончательный стабильный интерфейс, и в ближайшем будущем глобально изменяться не будет.
mcp_server() — новое:• Поддержка запуска как Posit Connect R API engine: достаточно
_server.yml с engine: mcptools, файл с .R-инструментами (объекты ellmer::tool()) и деплой через rsconnect::deployAPI().• Инструменты теперь могут возвращать inline-изображения (через
ellmer::ContentImageInline), в том числе смешанный текст+картинки.• Для протокола MCP 2025-06-18+ сервер возвращает
structuredContent вместе с обычным JSON для результатов-объектов.• В ответах
tools/list теперь передаются аннотации ellmer (title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint) — это MCP-хинты безопасности инструментов.mcp_server() — фиксы:• HTTP-сервер теперь учитывает заголовок
MCP-Protocol-Version, отдаёт 400 на неподдерживаемые версии и больше не «путает» согласование протокола между разными клиентами.•
NULL в R теперь корректно сериализуется в JSON null (чинит JSON-RPC с нулевыми ID запросов).• Исправлена ситуация, когда сервер продолжал работу после ошибки
Invalid Request для stdio-клиентов.• Вызовы через
mcp_session() теперь не висят вечно, если R-сессия не отвечает 2 минуты — таймаут настраивается опцией mcptools.session_response_timeout_seconds или переменной окружения MCPTOOLS_SESSION_RESPONSE_TIMEOUT_SECONDS.mcp_tools() (клиент) — новое:• Прямое подключение к удалённым Streamable HTTP MCP-серверам (параметр
url вместо command), поддержка статических headers для токен-авторизации и полноценный OAuth 2.1 (discovery, Dynamic Client Registration, PKCE, автообновление токена через httr2, кэширование токенов между сессиями).• Результаты MCP-инструментов теперь конвертируются в нативный для ellmer текст/картинки — чаты ellmer могут получать изображения от MCP-инструментов.
mcp_tools() — фикс безопасности:• Дочерние процессы MCP-серверов теперь запускаются с allowlist-окружением + заданными
env-переменными, а не с полным окружением R-процесса — снижает риск случайной утечки credentials, заодно чинит запуск на Windows при заданном env.Если вдруг пропустили подробно про
mcptools я рассказывал в этом видео.#новости_и_релизы_по_R