Package com.github._1c_syntax.bsl.languageserver.mcp


@NullMarked package com.github._1c_syntax.bsl.languageserver.mcp
Реализация сервера Model Context Protocol (MCP) для движка анализа BSL.

MCP-сервер поднимает автоконфигурация Spring AI; инструменты объявлены аннотацией @McpTool и переиспользуют движок анализа и провайдеры языкового сервера. Поверх единого ядра, отвязанного от транспорта LSP, поддерживаются транспорты stdio, SSE (Server-Sent Events) и Streamable HTTP; HTTP-транспорты работают на встроенном servlet-контейнере.

  • Classes
    Class
    Description
    Доступ MCP-инструментов к документам через общий ServerContextProvider — тот же, что наполняет LSP-сессия (и analyze/format).
    Проактивно запрашивает MCP-roots у клиента после первого tool-вызова.
    Приводит набор рабочих папок к корням (roots), объявленным клиентом — прямому аналогу workspace folders в LSP (workspace/didChangeWorkspaceFolders).
    Заполняет имя и версию MCP-сервера из бина ServerInfo — единого источника идентичности сервера, вместо хардкода в properties.
    Сигнал завершения работы MCP-сервера.
    Конфигурация stdio-транспорта MCP-сервера для профиля mcp.
    Оборачивает каждый McpServerFeatures.SyncToolSpecification, собранный Spring AI MCP по @McpTool-методам, в обёртку, которая перед делегированием в исходный handler вызывает McpRootsBootstrapper.
    Регистрация и удаление рабочих папок MCP в общем ServerContextProvider.
    Адресация рабочих папок в MCP: приведение значения, присланного клиентом, к URI зарегистрированной рабочей папки и общий текст подсказки о том, как папку зарегистрировать.
    Выбор рабочей папки для MCP-инструментов, у которых нет явной привязки к конкретному файлу (например, type_info, global_member_info).