Проблема
При использовании MCP-режима BSL Language Server из Codex Desktop сервер не получает зарегистрированный workspace и отклоняет запросы с ошибкой:
No registered workspace matches root file:///Z:/EDT/isssues/_ASPU_Master/git/Configuration
Из-за этого не работают, например, global_member_search и analyze_file, хотя путь существует и содержит корректную конфигурацию 1С.
Окружение
- BSL Language Server:
1.0.7
- Запуск:
java -jar bsl-language-server-1.0.7-exec.jar -c ../.bsl-language-server.json mcp
- Транспорт: stdio
- Согласованная версия протокола MCP:
2025-11-25
- Корень конфигурации:
file:///Z:/EDT/isssues/_ASPU_Master/git/Configuration
- В
.bsl-language-server.json задан configurationRoot: "Configuration".
Воспроизведение
- Подключить BSL Language Server в режиме
mcp из Codex Desktop.
- Вызвать
global_member_search и передать в обязательном параметре root URI каталога конфигурации:
file:///Z:/EDT/isssues/_ASPU_Master/git/Configuration.
- Получить ошибку
No registered workspace matches root.
Смена рабочего каталога процесса на корень репозитория, Configuration или Configuration/src, а также абсолютные и относительные пути файлов результата не меняет.
Важное наблюдение
Тот же экземпляр BSL Language Server был проверен отдельным минимальным MCP-клиентом. Клиент обработал запрос сервера roots/list и вернул тот же URI корня. После этого global_member_search успешно выполнился и нашёл глобальный метод Сообщить.
То есть сам сервер и путь конфигурации работоспособны; проблема проявляется в интеграции с клиентом, который не отвечает на legacy-обмен roots/list.
Контекст протокола
В актуальной спецификации MCP Roots помечен deprecated начиная с версии 2026-07-28, а в документации BSL MCP-режим пока указан как экспериментальный и основанный на milestone-версии Spring AI.
Возможно, серверу требуется совместимость с современным механизмом Roots либо более явный способ регистрации workspace без обязательного callback roots/list.
Ожидаемое поведение
Сервер должен зарегистрировать workspace, переданный в параметре root, либо корректно запросить и обработать roots у совместимого MCP-клиента. После этого инструменты анализа и поиска должны работать с указанным корнем.
Вопросы
- Какие версии MCP-клиентов и Roots API сейчас поддерживаются BSL Language Server?
- Поддерживается ли сценарий, где корень передаётся только через параметр инструмента
root?
- Планируется ли обновление MCP-реализации / Spring AI для совместимости с актуальной спецификацией?
Проблема
При использовании MCP-режима BSL Language Server из Codex Desktop сервер не получает зарегистрированный workspace и отклоняет запросы с ошибкой:
Из-за этого не работают, например,
global_member_searchиanalyze_file, хотя путь существует и содержит корректную конфигурацию 1С.Окружение
1.0.7java -jar bsl-language-server-1.0.7-exec.jar -c ../.bsl-language-server.json mcp2025-11-25file:///Z:/EDT/isssues/_ASPU_Master/git/Configuration.bsl-language-server.jsonзаданconfigurationRoot: "Configuration".Воспроизведение
mcpиз Codex Desktop.global_member_searchи передать в обязательном параметреrootURI каталога конфигурации:file:///Z:/EDT/isssues/_ASPU_Master/git/Configuration.No registered workspace matches root.Смена рабочего каталога процесса на корень репозитория,
ConfigurationилиConfiguration/src, а также абсолютные и относительные пути файлов результата не меняет.Важное наблюдение
Тот же экземпляр BSL Language Server был проверен отдельным минимальным MCP-клиентом. Клиент обработал запрос сервера
roots/listи вернул тот же URI корня. После этогоglobal_member_searchуспешно выполнился и нашёл глобальный методСообщить.То есть сам сервер и путь конфигурации работоспособны; проблема проявляется в интеграции с клиентом, который не отвечает на legacy-обмен
roots/list.Контекст протокола
В актуальной спецификации MCP Roots помечен deprecated начиная с версии 2026-07-28, а в документации BSL MCP-режим пока указан как экспериментальный и основанный на milestone-версии Spring AI.
Возможно, серверу требуется совместимость с современным механизмом Roots либо более явный способ регистрации workspace без обязательного callback
roots/list.Ожидаемое поведение
Сервер должен зарегистрировать workspace, переданный в параметре
root, либо корректно запросить и обработать roots у совместимого MCP-клиента. После этого инструменты анализа и поиска должны работать с указанным корнем.Вопросы
root?