Class GlobalMemberInfoTool

java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.tools.GlobalMemberInfoTool

@Component @Profile("mcp") public class GlobalMemberInfoTool extends Object
MCP-инструмент global_member_info: по имени глобального члена 1С/BSL (например, Сообщить/Message, Метаданные/Metadata) возвращает его описание — функцию, свойство либо системное перечисление.

Резолв проходит в порядке: глобальная функция → глобальное свойство → системное перечисление. Для функций отдаётся полный TypeMemberDto с сигнатурами и платформенной метаинформацией; для свойств/перечислений — упрощённый дескриптор с типом значения и описанием.

Резолв выполняется в workspace'е, указанном клиентом через обязательный параметр root.

  • Constructor Details

  • Method Details

    • globalMemberInfo

      @McpTool(name="global_member_info", description="Look up a 1C/BSL global member by name (function, property or system enum) and return its signatures, return types and platform metadata. Resolves global functions like `\u0421\u043e\u043e\u0431\u0449\u0438\u0442\u044c`/`Message`, global properties like `\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435`/`Metadata`, and system enums.", generateOutputSchema=false) public GlobalMemberInfoTool.Result globalMemberInfo(@McpToolParam(required=true,description="Global function, property or enum name in Russian or English (e.g. `\u0421\u043e\u043e\u0431\u0449\u0438\u0442\u044c` / `Message`, `\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435` / `Metadata`).") String name, @McpToolParam(required=true,description="File language: `BSL` for 1C:Enterprise BSL or `OS` for OneScript.") FileType fileType, @McpToolParam(required=true,description="URI of the workspace root (one of the roots the client declared) to scope the lookup to. Required because the answer can differ between roots \u2014 configuration vs OneScript projects, different configurations, etc. For purely platform names pick any registered root.") String root, @McpToolParam(required=false,description="Language for names and descriptions: `RU` (default) or `EN`.") @Nullable Language language)