rust-docs-mcp
MCP-сервер по документации Rust: агент ищет элементы крейтов, читает исходники и разбирает дерево зависимостей.
- 142 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Сервер скачивает чужие крейты и собирает по ним документацию, то есть компилирует скачанный код.
- `GITHUB_TOKEN`, если задан, открывает доступ к приватным репозиториям.
Установка
- Работает в
Ручная установка
curl -sSL https://raw.githubusercontent.com/snowmead/rust-docs-mcp/main/install.sh | bashПервая команда из README. Альтернатива: `cargo install rust-docs-mcp`. Нужен nightly-тулчейн Rust.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер скачивает чужие крейты и собирает по ним документацию, то есть компилирует скачанный код.
- `GITHUB_TOKEN`, если задан, открывает доступ к приватным репозиториям.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
rust-docs-mcp скачивает крейты из crates.io, GitHub или локальной папки, кеширует их и отвечает агенту по документации rustdoc. Агент перечисляет элементы крейта, ищет по шаблону, виду и пути, в том числе нечетким поиском с терпимостью к опечаткам, и открывает сигнатуры, поля, методы и исходный код с нужным числом строк контекста. Кроме того, сервер строит деревья прямых и транзитивных зависимостей и иерархию модулей через встроенный `cargo-modules`. После первого кеширования крейт читается без сети. Для длинных ответов есть предпросмотр `search_items_preview` и усечение, чтобы не упереться в лимит токенов.
Для кого. Rust-разработчикам, чей агент пишет код под свежие крейты и ошибается в API, потому что обучающие данные устарели.
Подходит, если
- Агент подключает крейт, выпущенный после его обучения, и должен увидеть настоящие сигнатуры.
- Трейт или тип надо найти по части имени среди тысяч элементов крейта.
- Перед обновлением версии агент смотрит дерево зависимостей и структуру модулей новой версии.
- Работа идет без сети: кешированные крейты читаются офлайн.
Не подходит, если
- Вопрос не про Rust: сервер знает только документацию rustdoc и исходники крейтов.
- На машине нет nightly-тулчейна Rust: без него документация не генерируется.
- Чужой код нельзя собирать локально: документация строится компиляцией скачанного крейта.
Пример запроса к агенту
Закешируй serde по точной версии, найди типы с Deserializer в имени и покажи исходник одного из них.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
RUST_DOCS_MCP_CACHE_DIR- Папка кеша крейтов вместо `~/.rust-docs-mcp/cache/`.
GITHUB_TOKENсекрет- Токен GitHub для приватных репозиториев.
RUST_DOCS_MCP_TOOLCHAIN- Тулчейн для генерации документации, например `nightly`.
Ограничения
Автор предупреждает: проект целиком написан ИИ без человеческого контроля как эксперимент. Для генерации rustdoc JSON нужен nightly-тулчейн, предпочтительно `nightly-2026-05-22`; запасной вариант, обычный `nightly`, подходит при том же формате JSON. Из crates.io берутся только точные версии вроде `9.3.1`, частичные `9` и `9.3` сервер отклоняет. Приватные репозитории GitHub требуют `GITHUB_TOKEN`. Каждый набор feature-флагов кешируется отдельным вариантом, поэтому кеш растет. `search_items` может упереться в лимит токенов, для начала берите `search_items_preview`.
Как отключить. Удалите блок `rust-docs` из MCP-конфигурации клиента. Кеш лежит в `~/.rust-docs-mcp/cache/`: его очищает `remove_crate` или удаление папки.
Частые вопросы
Как установить rust-docs-mcp?
Скрипт `install.sh` из README ставит бинарный файл; альтернатива — `cargo install rust-docs-mcp`. Затем добавьте сервер в MCP-конфигурацию клиента и поставьте nightly-тулчейн Rust.
Что делать, если сервер не запускается?
Выполните `rust-docs-mcp doctor`. Команда проверяет тулчейны Rust, Git, доступ к crates.io и GitHub, права на папку кеша и генерацию rustdoc JSON; флаг `--json` отдает результат в структурированном виде.
Где лежит кеш и как его перенести?
По умолчанию в `~/.rust-docs-mcp/cache/`. Другое место задают флагом `--cache-dir` или переменной `RUST_DOCS_MCP_CACHE_DIR`.
Почему крейт не скачивается по версии 9?
Из crates.io принимается только точная версия, например `9.3.1`. В ошибке перечислены доступные неотозванные релизы: выберите один и повторите запрос.
Чем различаются инструменты поиска?
`search_items` ищет по шаблону и отдает полную документацию, `search_items_preview` возвращает только идентификаторы, имена и типы, а `search_items_fuzzy` терпит опечатки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер, который отвечает агенту на вопросы по документации одного крейта Rust точной версии
rust-analyzer MCP — навигация по коду Rust для агента
r3bl-rust-analyzer-mcp-server
MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer
Docs MCP Server
Grounded Docs MCP Server
Локальный MCP-сервер: индексирует документацию из сайтов, GitHub, npm, PyPI и файлов и дает агенту поиск по нужной версии
Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла
MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов
MCP-сервер строит граф зависимостей репозитория и документацию, а инструмент codebase-qna отвечает агенту на вопросы о коде
Коротко о README
README объясняет, почему агентам трудно работать с новыми крейтами, и группирует инструменты по задачам: кеш, запросы к документации, зависимости, структура, поиск. Отдельная таблица описывает выбор feature-флагов и их влияние на кеш. В конце есть команды CLI для работы без MCP.