mcpls
Мост MCP и LSP: агент получает типы, ссылки, диагностику и рефакторинг от языковых серверов, например Pyright.
- 81 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Языковые серверы выполняют код рабочего пространства и не изолированы.
- Результаты переименования и code action возвращаются клиенту, который применяет их к файлам.
Установка
- Работает в
Ручная установка
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 и агентом: определения, ссылки, диагностика, подсказки и переименование символов
cclsp подключает языковые серверы LSP к Claude Code через MCP: переход к определению, поиск ссылок, переименование символов и диагностика без редактора
MCP-сервер agent-lsp собирает языковые серверы в связки для агента: вызовы, безопасная правка, переименование, диагностика.
MCP-мост к BSL Language Server: навигация, диагностика и рефакторинг кода 1С и OneScript для агентов
MCP-мост к VS Code отдает агенту диагностику языкового сервера и ссылки на символы вместо долгих tsc и eslint.
Roslyn CodeLens MCP дает агенту карту решения .NET: вызовы, типы, DI, диагностики и безопасное переименование
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| mcpls (эта карточка) | нет | не нужна | 81 | |
| cclsp | нет | не нужна | 675 | подключает LSP к Claude Code: определения, ссылки, переименование, диагностика; mcpls добавляет иерархии вызовов и поиск символов по всем серверам |
| agent-lsp | нет | не нужна | 178 | собирает языковые серверы в связки для агента; mcpls отдает 31 инструмент одним бинарным файлом на Rust, с HTTP и режимом недоверенных рабочих пространств |
Коротко о README
Единый бинарный файл на Rust без зависимостей среды выполнения, с подтверждением происхождения сборки. Подробности и все инструменты описаны в книге проекта.