Rust Docs MCP Server
MCP-сервер, который отвечает агенту на вопросы по документации одного крейта Rust точной версии
- 299 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Сервер запускает `cargo doc` для выбранного крейта, а это сборка чужого кода на вашей машине
- Фрагменты документации и вопросы агента уходят в OpenAI вместе с вашим ключом
Установка
- Работает в
Ручная установка
{
"mcpServers": {
"rust-docs-reqwest": {
"command": "/path/to/your/rustdocs_mcp_server",
"args": ["reqwest@0.12"],
"env": {"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE"}
}
}
}Пример для `mcp_settings.json`; сначала запустите сервер для крейта вручную, чтобы построить кэш.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер запускает `cargo doc` для выбранного крейта, а это сборка чужого кода на вашей машине
- Фрагменты документации и вопросы агента уходят в OpenAI вместе с вашим ключом
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Rust Docs MCP Server запускается для одного крейта и дает агенту инструмент query_rust_docs. Агент задает вопрос вроде «как сделать простой GET в reqwest», а сервер находит нужные разделы документации и отвечает по ним без опоры на память модели. Крейт задается спецификацией Cargo, например `serde@^1.0` или `reqwest@0.12.0`, а флаг `-F` включает нужные признаки крейта. При первом запуске сервер собирает документацию командой `cargo doc`, разбирает HTML и строит эмбеддинги через OpenAI на модели text-embedding-3-small. Ответ по найденному контексту пишет gpt-4o-mini. Документация и эмбеддинги кэшируются в каталоге данных XDG отдельно для каждого крейта, версии и набора признаков, поэтому повторный старт быстрый. Ресурс crate://<имя> сообщает, для какого крейта настроен сервер.
Для кого. Для разработчиков на Rust, которые работают с Cursor, Cline или Roo Code и хотят, чтобы агент сверялся с документацией точной версии крейта.
Подходит, если
- Крейт часто обновляется, и агент предлагает вызовы из старых версий, которых уже нет в API
- Нужен ответ по той версии крейта, что зафиксирована в Cargo.toml
- Крейту нужны признаки, без которых `cargo doc` не собирается, например `async-stripe` с `runtime-tokio-hyper-rustls`
- В одной сессии нужна документация нескольких крейтов: для каждого запускается отдельный экземпляр
- Хочется один раз заплатить за эмбеддинги и дальше работать из локального кэша
Не подходит, если
- Нет ключа OpenAI или доступа к его API: без них сервер не построит эмбеддинги и не ответит
- Нужна документация на язык, отличный от Rust, или не на крейт из реестра
- Нужен ответ без участия языковой модели: сервер пересказывает найденное моделью, а дословных выдержек не отдает
- Агент должен читать исходный код зависимости: сервер работает только с собранной документацией
Пример запроса к агенту
Сначала спроси документацию reqwest: как отправить POST с JSON и заголовком авторизации. Потом напиши функцию по версии 0.12.MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
Переменные окружения
OPENAI_API_KEYобязательная, секрет- Ключ OpenAI для эмбеддингов и ответов по документации.
Ограничения
Нужны ключ OpenAI в переменной `OPENAI_API_KEY` и доступ к сети, API OpenAI из России недоступен. Модели для эмбеддингов и ответов заданы заранее, настройки для выбора другой модели в документации нет. Первую сборку для нового крейта, версии или набора признаков автор советует запускать вручную до подключения к агенту. На эмбеддинги уходят деньги, но немного: для async-stripe с более чем 5000 страниц они обошлись в 0,18 доллара. Репозиторий последний раз обновлялся в ноябре 2025 года.
Как отключить. Удалите запись сервера из конфигурации клиента, например из mcp_settings.json в Roo Code. Кэш документации лежит в ~/.local/share/rustdocs-mcp-server/, его можно удалить вручную.
Частые вопросы
Как подключить Rust Docs MCP Server к Roo Code или Cursor?
Скачайте бинарник из релизов, один раз запустите его для нужного крейта и добавьте в mcpServers запись с командой rustdocs_mcp_server, аргументом `reqwest@0.12` и ключом OpenAI в переменных окружения.
Сколько стоит построение эмбеддингов?
Для большинства крейтов это доли цента, а крупный async-stripe с более чем 5000 страниц документации обошелся в 0,18 доллара. Результат кэшируется, поэтому платить приходится один раз.
Как указать версию и признаки крейта?
Версия идет в аргументе: `serde@^1.0`, `reqwest@0.12.0` или просто `tokio` для последней. Признаки перечисляются в `-F`, например `rustdocs_mcp_server "async-stripe@0.40" -F runtime-tokio-hyper-rustls`.
Можно ли держать документацию нескольких крейтов сразу?
Да, по экземпляру на крейт. В конфигурации клиента заводят отдельные записи, например rust-docs-reqwest и rust-docs-async-stripe.
Какие возможности сервер отдает по MCP?
Инструмент query_rust_docs с одним параметром question, ресурс crate://<имя> с именем крейта и логи через уведомления logging/message. Ответ начинается с префикса «From <крейт> docs:».
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыrust-analyzer MCP — навигация по коду Rust для агента
r3bl-rust-analyzer-mcp-server
MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer
Docs MCP Server
Grounded Docs MCP Server
Локальный MCP-сервер: индексирует документацию из сайтов, GitHub, npm, PyPI и файлов и дает агенту поиск по нужной версии
MCP-сервер Ref: поиск по документации API и библиотек, который отдает агенту только нужные куски страниц
Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки
Быстрый сервер MCP на Rust, расширяемый плагинами WebAssembly: плагины подтягиваются из OCI, файлов, http(s) и s3, подпись OCI можно проверять
MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Rust Docs MCP Server (эта запись) | нет | API-ключ | 299 | |
| mcpdoc | нет | не нужна | 1 030 | отдает документацию из файлов llms.txt, которые вы выбрали, без эмбеддингов |
| Context Hub | нет | 13 986 | CLI с отобранной документацией API по версиям и языкам и локальными заметками |
Коротко о README
Автор описывает мотивацию: ассистенты хорошо знают синтаксис, но отстают от быстро меняющихся крейтов из-за даты обучения. Сервер закрывает этот разрыв точечным источником и работает как обычный stdio-сервер MCP. Скомпилированные архивы лежат на странице релизов для Windows, Linux и macOS, сборка из исходников нужна по желанию.