MCP Language Server
Мост между языковым сервером LSP и агентом: определения, ссылки, диагностика, подсказки и переименование символов
Установка
go install github.com/isaacphi/mcp-language-server@latestЗатем поставьте языковой сервер, например go install golang.org/x/tools/gopls@latest.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер запускает выбранный языковой сервер, например gopls, rust-analyzer, pyright или clangd, и отдает агенту его возможности через MCP. Агент получает полный код определения символа, все места его использования, ошибки и предупреждения по файлу и подсказки с типами. Переименование работает по всему проекту силами LSP, а не поиском по тексту. Есть инструмент правки файла по номерам строк.
Для кого. Для разработчиков, которым нужно, чтобы агент ориентировался в большом коде по семантике, а не по grep.
Подходит, если
- Нужно найти все вызовы функции в большом проекте
- Нужно безопасно переименовать тип или метод
- Агенту нужны ошибки компилятора по файлу без полной сборки
Не подходит, если
- Агент уже встроен в IDE с доступом к LSP
- Для языка нет языкового сервера со stdio
Пример запроса к агенту
Найди все места, где используется ParseConfig, и переименуй ее в LoadConfigОграничения
Нужны Go для установки и отдельно установленный языковой сервер. Один экземпляр работает с одним workspace и одним LSP. Автор называет проект бета-версией и проверял его только с gopls, rust-analyzer, pyright, typescript-language-server и clangd. В Claude Desktop может понадобиться прописать PATH и переменные Go.
Как отключить. Удалите блок language-server из конфигурации MCP. Бинарник лежит в $GOPATH/bin.
MCP
- Транспорт
- stdio
- Авторизация
- не нужна
| Переменные окружения | |
|---|---|
| LOG_LEVEL | DEBUG включает подробные логи в stderr. |
Проверка безопасности
- Запускает языковой сервер и читает файлы проекта
- Может править файлы и переименовывать символы по всему проекту
Коротко о README
README объясняет установку через go install и дает готовые конфигурации Claude Desktop для gopls, rust-analyzer, pyright, typescript-language-server и clangd. Перечислены шесть инструментов: definition, references, diagnostics, hover, rename_symbol и edit_file. Код LSP-протокола частично взят из gopls, для MCP используется mcp-go. Есть снапшот-тесты на реальных языковых серверах. Лицензия BSD-3-Clause.
Частые вопросы
Какие языки поддерживаются?
Любые, для которых есть языковой сервер со stdio. Проверены Go, Rust, Python, TypeScript и C/C++.
Как передать аргументы языковому серверу?
Все после -- в args уходит языковому серверу, например --stdio для pyright.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything
Актуальная документация и примеры кода нужной версии библиотеки прямо в контексте агента, через MCP или CLI со скиллом