Skip to main content
Glama

cursor-rust-tools

by terhechte

Курсор Rust Tools

Сервер MCP , позволяющий LLM в Cursor получать доступ к Rust Analyzer, Crate Docs и Cargo Commands.

Включает пользовательский интерфейс для настройки.

медиа/пример.png

Что он делает

В настоящее время различные агенты ИИ не предоставляют ИИ возможность доступа к информации о типе Rust из LSP. Это препятствие, поскольку вместо того, чтобы видеть тип, LLM должен рассуждать о потенциальном типе.

Кроме того, единственная информация о зависимостях (например, tokio ) — это то, на чем они были обучены, что устарело и потенциально подходит для другой версии. Это может привести к разного рода проблемам.

Cursor Rust Tools делает их доступными через протокол контекста модели ( MCP ).

  • Получите документацию для crate или для определенного символа в crate (например, tokio или tokio::spawn )
  • Получить информацию о наведении (тип, описание) для определенного символа в файле
  • Получить список всех ссылок на определенный символ в файле
  • Получить реализацию символа в файле (извлекает весь файл, содержащий реализацию)
  • Найти тип просто по имени в файле проекта и вернуть информацию о наведении
  • Получите результат cargo test
  • Получить результат cargo check

медиа/скриншот.png

Как это работает

Для функциональности LSP src/lsp он запускает новый Rust Analyzer, который индексирует вашу кодовую базу, как и запущенный в вашем редакторе. Мы не можем запросить тот, который запущен в редакторе, потому что Rust Analyzer должен использоваться одним потребителем (например, действие open document требует close document в правильном порядке и т. д.)

Для документации он запустит cargo docs , а затем локально распарсит html-документацию в markdown. Эта информация хранится в корне проекта в папке .docs-cache .

Установка

cargo install --git https://github.com/terhechte/cursor-rust-tools

Запуск с пользовательским интерфейсом

cursor-rust-tools

Откроется пользовательский интерфейс, в котором вы сможете добавлять проекты, устанавливать mcp.json и просматривать активность.

Запуск без пользовательского интерфейса

В качестве альтернативы, как только у вас будет настроен ~/.cursor-rust-tools с проектами, вы также можете просто запустить его через

cursor-rust-tools --no-ui

Конфигурация

Вместо использования пользовательского интерфейса для создания конфигурации вы также можете настроить ~/.cursor-rust-tools самостоятельно:

[[projects]] root = "/Users/terhechte/Developer/Rust/example1" ignore_crates = [] [[projects]] root = "/Users/terhechte/Developer/Rust/example2" ignore_crates = []

ignore_crates — это список имен зависимостей ящиков, которые вы не хотите индексировать для документации. Например, потому что они слишком большие.

Настройка курсора

После запуска приложения вы можете настроить Cursor для его использования. Это требует нескольких шагов.

  1. Добавьте project-dir/.cursor/mcp.json в свой проект. Cursor Rust Tools UI имеет кнопку, которая делает это за вас. Запуск без UI также покажет вам содержимое mcp.json в терминале.
  2. Как только вы сохраните этот файл, Cursor обнаружит, что был добавлен новый сервер MCP, и попросит вас включить его (в диалоговом окне в правом нижнем углу).
  3. Вы можете проверить настройки курсора (в разделе MCP ), чтобы увидеть, где он работает правильно.
  4. Для проверки убедитесь, что в текущем Chat выбран Agent Mode . Затем вы можете попросить его использовать один из новых инструментов, например, инструмент cargo_check .
  5. Вы можете захотеть добавить правила курсора, чтобы сообщить LLM предпочесть использование этих инструментов, когда это возможно. Я все еще экспериментирую с этим.

медиа/курсор.png

Содержимое всех mcp.json одинаковое. Курсор Rust Tools вычисляет правильный проект через путь к файлу

Открыть Todos

  • [ ] Создайте расширение Zed , чтобы разрешить использование этого
  • [ ] Правильное завершение работы без ошибок
  • [ ] Удаление проекта сейчас немного неудобная функция (в пользовательском интерфейсе)
  • [ ] Раскрыть больше команд LSP
  • [ ] Разрешить LLM выполнять операции Grit
-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Что он делает
    1. Как это работает
      1. Установка
        1. Запуск с пользовательским интерфейсом
        2. Запуск без пользовательского интерфейса
      2. Конфигурация
        1. Настройка курсора
          1. Открыть Todos

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              MCP server for toolhouse.ai. This does not rely on an external llm unlike the official server.
              Last updated -
              1
              Python
              MIT License
            • A
              security
              A
              license
              A
              quality
              An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.
              Last updated -
              10
              58
              Python
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              An 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 -
              2
              TypeScript
            • -
              security
              F
              license
              -
              quality
              An 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 -
              3
              TypeScript

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/terhechte/cursor-rust-tools'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server