MCP Language Server

Мост между языковым сервером LSP и агентом: определения, ссылки, диагностика, подсказки и переименование символов

MCP-серверСредний риск

isaacphi/mcp-language-server

Установка

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, субагенты и ревью кода

ПлагинСредний риск286,6 тыс.
Выбор редакции

Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура

СкиллНизкий риск262 тыс.

Референсные MCP-серверы

Model Context Protocol servers

Выбор редакции

Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything

MCP-серверСредний риск90,3 тыс.
Выбор редакции

Актуальная документация и примеры кода нужной версии библиотеки прямо в контексте агента, через MCP или CLI со скиллом

MCP-серверСредний риск62 тыс.