Class McpWorkspaceFolders

java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.McpWorkspaceFolders

public final class McpWorkspaceFolders extends Object
Адресация рабочих папок в MCP: приведение значения, присланного клиентом, к URI зарегистрированной рабочей папки и общий текст подсказки о том, как папку зарегистрировать.

Рабочая папка здесь — то же, что workspace folder в LSP: один корневой каталог проекта. Множество зарегистрированных папок и составляет рабочую область (workspace), которую обслуживает сервер.

Подсказка — единственный текст о незарегистрированной папке во всём MCP-слое: свой вариант писать нельзя, иначе сообщения разойдутся между собой.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Имя MCP-инструмента, который перечисляет зарегистрированные рабочие папки.
    static final String
    Имя MCP-инструмента, который регистрирует и индексирует каталог как рабочую папку.
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    registrationHint(Collection<URI> registeredFolders)
    Текст, объясняющий клиенту, какие рабочие папки доступны и что делать, если нужной нет.
    static URI
    Привести рабочую папку, присланную клиентом, к URI в том же виде, в котором папки регистрируются в ServerContextProvider.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • REGISTER_TOOL

      public static final String REGISTER_TOOL
      Имя MCP-инструмента, который регистрирует и индексирует каталог как рабочую папку.
      See Also:
    • LIST_TOOL

      public static final String LIST_TOOL
      Имя MCP-инструмента, который перечисляет зарегистрированные рабочие папки.
      See Also:
  • Method Details

    • toWorkspaceFolderUri

      public static URI toWorkspaceFolderUri(String rawFolder)
      Привести рабочую папку, присланную клиентом, к URI в том же виде, в котором папки регистрируются в ServerContextProvider.

      Принимается и URI (file:///C:/repo), и обычный путь файловой системы (C:\repo, /home/user/repo, ./repo) — MCP-клиенты присылают и то, и другое.

      Parameters:
      rawFolder - Рабочая папка в виде URI либо пути файловой системы.
      Returns:
      Нормализованный URI рабочей папки.
      Throws:
      IllegalArgumentException - Если значение не удаётся разобрать ни как URI, ни как путь.
    • registrationHint

      public static String registrationHint(Collection<URI> registeredFolders)
      Текст, объясняющий клиенту, какие рабочие папки доступны и что делать, если нужной нет.
      Parameters:
      registeredFolders - URI зарегистрированных рабочих папок.
      Returns:
      Подсказка для добавления к сообщению об ошибке или к ответу инструмента.