mcpls

Мост MCP и LSP: агент получает типы, ссылки, диагностику и рефакторинг от языковых серверов, например Pyright.

  • 81 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Языковые серверы выполняют код рабочего пространства и не изолированы.
  • Результаты переименования и code action возвращаются клиенту, который применяет их к файлам.
Все причины и проверки

bug-ops/mcpls

Установка

Ручная установка

curl -fsSL https://raw.githubusercontent.com/bug-ops/mcpls/main/scripts/install.sh | sh

Для Linux и macOS. Для Windows есть `install.ps1`, а также `cargo install mcpls`. Прочитайте скрипт до запуска.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Языковые серверы выполняют код рабочего пространства и не изолированы.
  • Результаты переименования и code action возвращаются клиенту, который применяет их к файлам.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

mcpls запускает языковые серверы вашего проекта и превращает их возможности в 31 инструмент MCP. Агент спрашивает тип значения в точке, находит все ссылки и реализации по рабочему пространству, получает диагностику компилятора и результаты переименования и исправлений кода, которые клиент затем применяет сам. Есть иерархии вызовов и типов, форматирование, подсказки типов, диапазоны выделения. Код адресуется и по позиции, и по имени символа. В многоязычном проекте поиск символов идет сразу по всем серверам с пометкой источника. Серверы стартуют параллельно, а если один падает, остальные продолжают работать.

Для кого. Разработчикам на Rust, Python, Go, TypeScript и других языках, которые хотят, чтобы агент опирался на типы и диагностику компилятора вместо поиска по тексту.

Подходит, если

  • Агент должен найти все места, где обрабатывается `ApiError::Timeout`, а `grep` путает похожие имена.
  • Перед переименованием функции нужны точные ссылки по всему рабочему пространству.
  • Вы хотите видеть настоящую диагностику компилятора до запуска сборки.
  • Проект на нескольких языках, и символы нужно искать сразу везде.

Не подходит, если

  • Язык не имеет языкового сервера и вы не готовы его ставить.
  • Репозиторий недоверенный, а вы не включили режим для недоверенных рабочих пространств.
  • Вам нужно только чтение текста файлов, и достаточно встроенного поиска агента.

Пример запроса к агенту

Через mcpls найди все ссылки на ApiError::Timeout, покажи тип process_request и выведи диагностику компилятора по этому файлу.

MCP

Транспорт
stdio, http
Авторизация
не нужна

Ограничения

Языковой сервер нужно поставить отдельно, например `rustup component add rust-analyzer`. Для Rust настройка не нужна, для других языков пишется конфигурация. Серверы выполняют код рабочего пространства, и mcpls их не изолирует: прочитайте SECURITY.md и главу о доверии до запуска на чужом коде. Для анализа недоверенного кода есть отдельный режим. По умолчанию работает stdio, HTTP-транспорт включается вместе с белыми списками Host и Origin. Сборка из исходников требует Rust 1.99 или новее.

Как отключить. Выполните `claude mcp remove mcpls` и удалите бинарный файл либо пакет `cargo uninstall mcpls`. Языковые серверы удаляются отдельно, их установка с mcpls не связана.

Частые вопросы

Как подключить mcpls к Claude Code?

Выполните `claude mcp add --scope user mcpls -- mcpls`. Проекты на Rust работают без настройки, для остальных языков нужна конфигурация серверов из книги проекта.

Какие языковые серверы подойдут?

Любые, которые говорят по LSP: `rust-analyzer`, `pyright`, `gopls`, `clangd`, `ty`, `tsgo` и другие. В тестах проекта есть сценарии для Go, Rust, C++, Python, TypeScript и Zig.

Безопасно ли запускать mcpls на чужом коде?

Языковые серверы выполняют код рабочего пространства без песочницы. Для чужих репозиториев включайте режим недоверенных рабочих пространств, описанный в главе о безопасности.

Есть ли скилл для установки?

Да, в `skills/mcpls` лежит упакованный Agent Skill: он учит агента ставить, настраивать и запускать mcpls.

Какой транспорт использует mcpls?

По умолчанию stdio. HTTP включается отдельно, вместе с белыми списками Host и Origin и подписками на ресурсы.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

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

MCP-серверРасширенный доступ1,6 тыс.Звезды репозитория

cclsp подключает языковые серверы LSP к Claude Code через MCP: переход к определению, поиск ссылок, переименование символов и диагностика без редактора

MCP-серверРасширенный доступ675Звезды репозитория

MCP-сервер agent-lsp собирает языковые серверы в связки для агента: вызовы, безопасная правка, переименование, диагностика.

MCP-серверШирокий доступ178Звезды репозитория
Российский стек

MCP-мост к BSL Language Server: навигация, диагностика и рефакторинг кода 1С и OneScript для агентов

MCP-серверРасширенный доступ71Звезды репозитория

MCP-мост к VS Code отдает агенту диагностику языкового сервера и ссылки на символы вместо долгих tsc и eslint.

MCP-серверШирокий доступ105Звезды репозитория

Roslyn CodeLens MCP дает агенту карту решения .NET: вызовы, типы, DI, диагностики и безопасное переименование

MCP-серверРасширенный доступ74Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
mcpls (эта карточка)нетне нужна81
cclspнетне нужна675подключает LSP к Claude Code: определения, ссылки, переименование, диагностика; mcpls добавляет иерархии вызовов и поиск символов по всем серверам
agent-lspнетне нужна178собирает языковые серверы в связки для агента; mcpls отдает 31 инструмент одним бинарным файлом на Rust, с HTTP и режимом недоверенных рабочих пространств

Коротко о README

Единый бинарный файл на Rust без зависимостей среды выполнения, с подтверждением происхождения сборки. Подробности и все инструменты описаны в книге проекта.

Бейдж для README

Сообщить о проблеме