Курсор Rust Tools
Сервер MCP , позволяющий LLM в Cursor получать доступ к Rust Analyzer, Crate Docs и Cargo Commands.
Включает пользовательский интерфейс для настройки.
Что он делает
В настоящее время различные агенты ИИ не предоставляют ИИ возможность доступа к информации о типе Rust из LSP. Это препятствие, поскольку вместо того, чтобы видеть тип, LLM должен рассуждать о потенциальном типе.
Кроме того, единственная информация о зависимостях (например, tokio
) — это то, на чем они были обучены, что устарело и потенциально подходит для другой версии. Это может привести к разного рода проблемам.
Cursor Rust Tools
делает их доступными через протокол контекста модели ( MCP
).
- Получите документацию для
crate
или для определенного символа вcrate
(например,tokio
илиtokio::spawn
) - Получить информацию о наведении (тип, описание) для определенного символа в файле
- Получить список всех ссылок на определенный символ в файле
- Получить реализацию символа в файле (извлекает весь файл, содержащий реализацию)
- Найти тип просто по имени в файле проекта и вернуть информацию о наведении
- Получите результат
cargo test
- Получить результат
cargo check
Как это работает
Для функциональности LSP src/lsp
он запускает новый Rust Analyzer, который индексирует вашу кодовую базу, как и запущенный в вашем редакторе. Мы не можем запросить тот, который запущен в редакторе, потому что Rust Analyzer должен использоваться одним потребителем (например, действие open document
требует close document
в правильном порядке и т. д.)
Для документации он запустит cargo docs
, а затем локально распарсит html-документацию в markdown. Эта информация хранится в корне проекта в папке .docs-cache
.
Установка
Запуск с пользовательским интерфейсом
Откроется пользовательский интерфейс, в котором вы сможете добавлять проекты, устанавливать mcp.json
и просматривать активность.
Запуск без пользовательского интерфейса
В качестве альтернативы, как только у вас будет настроен ~/.cursor-rust-tools
с проектами, вы также можете просто запустить его через
Конфигурация
Вместо использования пользовательского интерфейса для создания конфигурации вы также можете настроить ~/.cursor-rust-tools
самостоятельно:
ignore_crates
— это список имен зависимостей ящиков, которые вы не хотите индексировать для документации. Например, потому что они слишком большие.
Настройка курсора
После запуска приложения вы можете настроить Cursor для его использования. Это требует нескольких шагов.
- Добавьте
project-dir/.cursor/mcp.json
в свой проект.Cursor Rust Tools
UI имеет кнопку, которая делает это за вас. Запуск без UI также покажет вам содержимоеmcp.json
в терминале. - Как только вы сохраните этот файл, Cursor обнаружит, что был добавлен новый сервер MCP, и попросит вас включить его (в диалоговом окне в правом нижнем углу).
- Вы можете проверить настройки курсора (в разделе
MCP
), чтобы увидеть, где он работает правильно. - Для проверки убедитесь, что в текущем
Chat
выбранAgent Mode
. Затем вы можете попросить его использовать один из новых инструментов, например, инструментcargo_check
. - Вы можете захотеть добавить правила курсора, чтобы сообщить LLM предпочесть использование этих инструментов, когда это возможно. Я все еще экспериментирую с этим.
Содержимое всех mcp.json
одинаковое. Курсор Rust Tools вычисляет правильный проект через путь к файлу
Открыть Todos
- [ ] Создайте расширение Zed , чтобы разрешить использование этого
- [ ] Правильное завершение работы без ошибок
- [ ] Удаление проекта сейчас немного неудобная функция (в пользовательском интерфейсе)
- [ ] Раскрыть больше команд LSP
- [ ] Разрешить LLM выполнять операции Grit
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Сервер MCP, позволяющий LLM в Cursor получать доступ к Rust Analyzer, Crate Docs и Cargo Commands.
Related MCP Servers
- -securityAlicense-qualityMCP server for toolhouse.ai. This does not rely on an external llm unlike the official server.Last updated -1PythonMIT License
- AsecurityAlicenseAqualityAn MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.Last updated -1058PythonMIT License
- -securityFlicense-qualityAn MCP server that allows Claude and other LLMs to manage persistent memories across conversations through text file storage, enabling commands to add, search, delete and list memory entries.Last updated -2TypeScript
- -securityFlicense-qualityAn MCP server that provides AI tools with access to Rust documentation from docs.rs, enabling search for crates, documentation, type information, feature flags, version information, and source code.Last updated -3TypeScript