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 с сигнатурами и платформенной метаинформацией; для свойств/перечислений — упрощённый дескриптор с типом значения и описанием.

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

  • 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, annotations=) 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 folder to answer for \u2014 one of the `uri` values returned by the `list_workspace_folders` tool. Required because the answer can differ between folders: 1C configuration vs OneScript project, different configurations, different library sets. For purely platform names any registered folder will do. Do not guess this value: call `list_workspace_folders` first and, if the project is not there yet, register it with `register_workspace_folder`.") String workspaceFolder, @McpToolParam(required=false,description="Language for names and descriptions: `RU` (default) or `EN`.") @Nullable Language language)