rust-analyzer MCP — навигация по коду Rust для агента

r3bl-rust-analyzer-mcp-server

MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer

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

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

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

  • Сервер запускает rust-analyzer в вашем проекте, а `format` и code_actions могут менять файлы
  • Инструменты читают исходный код рабочей области, который попадает в контекст агента
Все причины и проверки

r3bl-org/r3bl-open-core

Установка

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

cargo install r3bl-rust-analyzer-mcp-server

Ставит бинарный файл rust-analyzer-mcp-server в ~/.cargo/bin. Нужен rust-analyzer: rustup component add rust-analyzer.

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

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

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

  • Сервер запускает rust-analyzer в вашем проекте, а `format` и code_actions могут менять файлы
  • Инструменты читают исходный код рабочей области, который попадает в контекст агента

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

Что делает

Сервер связывает агента с rust-analyzer по протоколу LSP 3.17 и дает десять инструментов. `rust_analyzer_hover` показывает документацию и сигнатуры типов, `rust_analyzer_definition` и `rust_analyzer_references` ищут определение и все ссылки, `rust_analyzer_symbols` строит иерархию символов файла, `rust_analyzer_completion` предлагает варианты завершения. `rust_analyzer_format` вызывает `rustfmt`, `rust_analyzer_code_actions` дает быстрые исправления и рефакторинги. Диагностику компилятора отдают два инструмента: `rust_analyzer_diagnostics` для файла и `rust_analyzer_workspace_diagnostics` для всей рабочей области. `rust_analyzer_set_workspace` переключает корень проекта на лету. Нумерация строк и символов в аргументах начинается с нуля. Авторы собрали сервер на потоках стандартной библиотеки без Tokio: три потока (основной цикл, чтение `stdout` и фоновая очистка `stderr`) защищают от взаимной блокировки при больших диагностиках. Бинарный файл называется `rust-analyzer-mcp-server`, и ставит его `cargo install`.

Для кого. Для Rust-разработчиков, которые работают с Claude Code, OpenCode или Antigravity и хотят дать агенту то же понимание кода, что у редактора.

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

  • Агент переименовывает или переносит функцию, и ему нужны все ссылки на нее по рабочей области
  • Нужно узнать тип выражения или документацию без чтения исходников зависимости
  • После правки агент должен проверить ошибки компилятора для файла или всего проекта до запуска `cargo build`
  • Требуются быстрые исправления и рефакторинги, которые предлагает rust-analyzer
  • Вы переключаетесь между несколькими корнями проекта и хотите менять их без перезапуска сервера

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

  • Проект написан не на Rust: сервер работает только с rust-analyzer
  • Нужен сервер на другом языке или универсальный мост к LSP: этот сервер не обслуживает их
  • На машине нет rust-analyzer: его нужно поставить командой `rustup component add rust-analyzer`
  • Вам нужна сама библиотека r3bl_tui или приложения `edi` и `giti`: в репозитории они лежат рядом, но это отдельные продукты

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

Найди через rust-analyzer все ссылки на функцию parse_config в рабочей области и покажи ошибки компилятора для src/main.rs

MCP

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

Ограничения

  • Нужен установленный rust-analyzer, доступный в оболочке. Node.js и npx требуются только для интеграционных тестов с MCP `inspector`.
  • Номера строк и символов считаются с нуля по спецификации LSP.
  • Проверенные клиенты в описании: Google Antigravity, OpenCode и Claude Code. Для других клиентов настройка стандартная для stdio.
  • Сервер входит в большой репозиторий проекта r3bl-open-core: его собственный README лежит в папке сервера.
  • Лицензия Apache-2.0.

Как отключить. Выполните claude mcp `remove` rust-analyzer и удалите бинарный файл командой cargo `uninstall` r3bl-rust-analyzer-mcp-server.

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

Как подключить rust-analyzer MCP к Claude Code?

Выполните cargo `install` r3bl-rust-analyzer-mcp-server, затем claude mcp `add` rust-analyzer -- rust-analyzer-mcp-server. Для OpenCode и Antigravity в mcp_config.json добавляют сервер с командой rust-analyzer-mcp-server.

Какие параметры запуска есть у сервера?

`--workspace` задает корень рабочей области, `--log-level` выбирает уровень журнала от `off` до `trace`, `--log-file` отправляет журнал в файл вместо `stderr`. Журнал по умолчанию выключен.

Зачем сервер собран без асинхронного рантайма?

По словам авторов, у других серверов были зависания процессора на выходе, взаимные блокировки при больших диагностиках и борьба за блокировки. Они выбрали потоки стандартной библиотеки и каналы `sync_channel(1)`.

Что еще лежит в репозитории r3bl-open-core?

Библиотека r3bl_tui для текстовых интерфейсов, приложения r3bl-cmdr (`edi`, `giti`, rc, env-source), сборочные утилиты и папка `.agents/skills` с процессами для разработчиков самого проекта. Для пользователей агента нужен только сервер.

Как проверить, что сервер отвечает?

Выполните npx @modelcontextprotocol/inspector --cli rust-analyzer-mcp-server --method tools/list: команда выведет перечень из десяти инструментов.

Обсуждение

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

MCP-серверы
Нужен VPN

MCP-сервер, который отвечает агенту на вопросы по документации одного крейта Rust точной версии

MCP-серверРасширенный доступ299Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

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

Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла

MCP-серверМинимальный доступ357Звезды репозитория

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

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

CodeGraph на Rust

codegraph-rust

Граф кода для агента на Rust: четыре MCP-инструмента показывают, что заденет правка, как устроена архитектура и где хрупкие места проекта

MCP-серверРасширенный доступ908Звезды репозитория
Официальный

Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки

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

Коротко о README

Главный README репозитория посвящен библиотеке r3bl_tui и приложениям для терминала, а MCP-сервер описан в таблице крейтов и в разделе про работу с агентами. Отдельный README сервера объясняет мотивацию (стабильность без Tokio), установку через cargo, примеры конфигурации для Antigravity, OpenCode и Claude Code, параметры командной строки и перечень из десяти инструментов с аргументами. В конце указаны запуск тестов и ссылка на статью об архитектуре.

Бейдж для README

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

Foxx AIrust-analyzer MCP — навигация по коду Rust для агента
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.