— это протокол, который позволяет редакторам кода, IDE, а теперь и AI-агентам, общаться с языковыми серверами.
Языковой сервер (LSP-сервер) — это отдельная программа, которая "понимает" конкретный язык программирования и предоставляет умные функции:
- Автодополнение кода.
- Переход к определению (Go to Definition).
- Поиск ссылок (Find References).
- Анализ ошибок в реальном времени (Diagnostics).
Взаимодействие между клиентом и LSP-сервером происходит в фоновом режиме по формату (stdio).
Вы открываете файл, или AI-агент вносит изменения в код.
Клиент отправляет JSON-сообщение серверу.
Сервер строит абстрактное синтаксическое дерево (AST), проверяет типы и ищет нужную информацию в своей памяти.
Сервер возвращает клиенту ответ в формате JSON (например, точные координаты функции в соседнем файле или список синтаксических ошибок).
Традиционно AI-агенты читали код как обычный текст, используя простой grep или чтение файлов целиком.
Подключение LSP дает им "семантическое зрение" — они могут перемещаться по кодовой базе так же точно, как живой разработчик в IDE. Это кардинально снижает галлюцинации LLM.
- Агент спроектирован так, чтобы автоматически находить и запускать подходящий LSP-сервер для текущего проекта, если он установлен в вашей операционной системе.
- Для работы встроенного инструмента часто требуется явно включить поддержку. Добавьте
"env": { "ENABLE_LSP_TOOL": "1" } в конфигурационный файл ~/.claude/settings.json . - В корне вашего проекта создается файл
.lsp.json, который описывает команду запуска установленного сервера. - В качестве более удобной альтернативы можно использовать маркетплейсы плагинов, добавив пакет
claude-code-lsps, где уже настроены пресеты для десятков языков.