lsp-mcp MCP сервер
MCP сервер, который выступает мостом между LLM и серверами Language Server Protocol (LSP), позволяя LLM запрашивать информацию о hover, автодополнение кода, диагностику и действия с кодом для более точных предложений по коду.
автор: Community
curl -fsSL https://vibebaza.com/i/lsp-mcp | bash
MCP сервер, который выступает мостом между LLM и серверами Language Server Protocol (LSP), позволяя LLM запрашивать информацию о hover, автодополнение кода, диагностику и действия с кодом для более точных предложений по коду.
Установка
NPX
npx tritlo/lsp-mcp <language-id> <path-to-lsp> <lsp-args>
Из исходников
git clone https://github.com/your-username/lsp-mcp.git
cd lsp-mcp
npm install
npm run build
Конфигурация
Конфигурация MCP
{
"mcpServers": {
"lsp-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"tritlo/lsp-mcp",
"<language-id>",
"<path-to-lsp>",
"<lsp-args>"
]
}
}
}
Доступные инструменты
| Инструмент | Описание |
|---|---|
get_info_on_location |
Получить информацию о hover в определенном месте файла |
get_completions |
Получить предложения автодополнения в определенном месте файла |
get_code_actions |
Получить действия с кодом для определенного диапазона в файле |
open_document |
Открыть файл на LSP сервере для анализа |
close_document |
Закрыть файл на LSP сервере |
get_diagnostics |
Получить диагностические сообщения (ошибки, предупреждения) для открытых файлов |
start_lsp |
Запустить LSP сервер с указанной корневой директорией |
restart_lsp_server |
Перезапустить LSP сервер без перезапуска MCP сервера |
set_log_level |
Изменить уровень детализации логирования сервера в рантайме |
Возможности
- Мост между LLM и серверами Language Server Protocol
- Обновления диагностики в реальном времени через подписки
- Информация о hover кода и предложения автодополнения
- Действия с кодом и обработка ошибок
- Комплексная система логирования с 8 уровнями серьезности
- Настраиваемый в рантайме уровень логирования
- Языко-специфичные расширения (включена поддержка Haskell)
- Интеграционные тесты для TypeScript LSP
- MCP ресурсы для диагностики, hover и автодополнений
- Подписки на ресурсы для обновлений в реальном времени
Примеры использования
Получить информацию о hover для функции на линии 3, столбец 5 в Haskell файле
Получить предложения автодополнения кода в определенной позиции файла
Получить диагностические ошибки и предупреждения для всех открытых файлов
Получить действия с кодом для исправления ошибок в определенном диапазоне кода
Запустить LSP сервер для директории проекта перед анализом кода
Ресурсы
Примечания
Требует Node.js v16+ и npm. Необходимо явно запустить LSP сервер с помощью инструмента start_lsp перед использованием другой LSP функциональности. Поддерживает расширения для языко-специфичных возможностей. Файлы должны быть открыты с помощью open_document перед доступом к диагностике или другим операциям, специфичным для файлов.