Class McpWorkspaceFolders
java.lang.Object
com.github._1c_syntax.bsl.languageserver.mcp.McpWorkspaceFolders
Адресация рабочих папок в MCP: приведение значения, присланного клиентом, к URI
зарегистрированной рабочей папки и общий текст подсказки о том, как папку зарегистрировать.
Рабочая папка здесь — то же, что workspace folder в LSP: один корневой каталог проекта. Множество зарегистрированных папок и составляет рабочую область (workspace), которую обслуживает сервер.
Подсказка — единственный текст о незарегистрированной папке во всём MCP-слое: свой вариант писать нельзя, иначе сообщения разойдутся между собой.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic StringregistrationHint(Collection<URI> registeredFolders) Текст, объясняющий клиенту, какие рабочие папки доступны и что делать, если нужной нет.static URItoWorkspaceFolderUri(String rawFolder) Привести рабочую папку, присланную клиентом, к URI в том же виде, в котором папки регистрируются вServerContextProvider.
-
Field Details
-
REGISTER_TOOL
Имя MCP-инструмента, который регистрирует и индексирует каталог как рабочую папку.- See Also:
-
LIST_TOOL
Имя MCP-инструмента, который перечисляет зарегистрированные рабочие папки.- See Also:
-
-
Method Details
-
toWorkspaceFolderUri
Привести рабочую папку, присланную клиентом, к URI в том же виде, в котором папки регистрируются вServerContextProvider.Принимается и URI (
file:///C:/repo), и обычный путь файловой системы (C:\repo,/home/user/repo,./repo) — MCP-клиенты присылают и то, и другое.- Parameters:
rawFolder- Рабочая папка в виде URI либо пути файловой системы.- Returns:
- Нормализованный URI рабочей папки.
- Throws:
IllegalArgumentException- Если значение не удаётся разобрать ни как URI, ни как путь.
-
registrationHint
Текст, объясняющий клиенту, какие рабочие папки доступны и что делать, если нужной нет.- Parameters:
registeredFolders- URI зарегистрированных рабочих папок.- Returns:
- Подсказка для добавления к сообщению об ошибке или к ответу инструмента.
-