Package com.github._1c_syntax.bsl.languageserver.mcp
@NullMarked
package com.github._1c_syntax.bsl.languageserver.mcp
Прототип режима Model Context Protocol (MCP).
MCP-сервер поверх stdio поднимает автоконфигурация Spring AI (профиль mcp);
инструменты объявлены аннотацией @McpTool и переиспользуют движок анализа и
провайдеры языкового сервера. Демонстрирует, что MCP — это ещё один транспорт над уже
отвязанным от LSP ядром (наряду с режимами lsp, websocket, analyze).
-
ClassesClassDescriptionДоступ MCP-инструментов к документам через общий
ServerContextProvider— тот же, что наполняет LSP-сессия (иanalyze/format).Проактивно запрашивает MCP-roots у клиента после первого tool-вызова.Синхронизирует рабочие пространства MCP с корнями (roots), объявленными клиентом — прямой аналог workspace folders в LSP (workspace/didChangeWorkspaceFolders).Заполняет имя и версию MCP-сервера изAutoServerInfo— единого источника истины (имя изspring.application.name, версия из манифеста JAR), вместо хардкода в properties.Сигнал завершения работы MCP-сервера.Конфигурация stdio-транспорта MCP-сервера для профиляmcp.Оборачивает каждыйMcpServerFeatures.SyncToolSpecification, собранный Spring AI MCP по@McpTool-методам, в обёртку, которая перед делегированием в исходный handler вызываетMcpRootsBootstrapper.Регистрация и удаление рабочих пространств MCP в общемServerContextProvider.Выбор workspace для MCP-инструментов, у которых нет явной привязки к конкретному файлу (например,type_info,global_member_info).