Skip to main content
Glama

cursor-rust-tools

by terhechte

Cursor Rust Tools

Ein MCP -Server, der dem LLM im Cursor den Zugriff auf Rust Analyzer, Crate Docs und Cargo Commands ermöglicht.

Enthält eine Benutzeroberfläche zur Konfiguration.

Medien/Beispiel.png

Was es bewirkt

Derzeit bieten verschiedene KI-Agenten der KI nicht die Möglichkeit, auf Rust-Typinformationen vom LSP zuzugreifen. Dies stellt ein Hindernis dar, da das LLM nicht den Typ sehen, sondern über den potenziellen Typ nachdenken muss.

Darüber hinaus sind die einzigen Informationen zu den Abhängigkeiten (z. B. tokio ) die, mit denen sie trainiert wurden. Diese sind veraltet und beziehen sich möglicherweise auf eine andere Version. Dies kann zu allen möglichen Problemen führen.

Cursor Rust Tools stellt diese über das Model Context Protocol ( MCP ) zur Verfügung.

  • Holen Sie sich die Dokumentation für eine crate oder für ein bestimmtes Symbol in der crate (z. B. tokio oder tokio::spawn ).
  • Holen Sie sich die Hover-Informationen (Typ, Beschreibung) für ein bestimmtes Symbol in einer Datei
  • Holen Sie sich eine Liste aller Referenzen für ein bestimmtes Symbol in einer Datei
  • Holen Sie sich die Implementierung eines Symbols in einer Datei (ruft die gesamte Datei ab, die die Implementierung enthält)
  • Suchen Sie einen Typ nur anhand des Namens in einer Datei des Projekts und geben Sie die Hover-Informationen zurück
  • Holen Sie sich die Ausgabe des cargo test
  • Holen Sie sich die Ausgabe der cargo check

media/screenshot.png

So funktioniert es

Für die LSP-Funktionalität src/lsp wird ein neuer Rust Analyzer gestartet, der Ihre Codebasis genau wie der im Editor ausgeführte indiziert. Wir können den im Editor ausgeführten Analyzer nicht abfragen, da dieser nur von einem einzigen Benutzer verwendet werden muss (z. B. erfordert die Aktion open document ein close document in der richtigen Reihenfolge usw.).

Zur Dokumentation wird cargo docs ausgeführt und die HTML-Dokumentation anschließend lokal in Markdown umgewandelt. Diese Informationen werden im Projektstammverzeichnis im Ordner .docs-cache gespeichert.

Installation

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

Mit Benutzeroberfläche ausführen

cursor-rust-tools

Dadurch wird eine Benutzeroberfläche geöffnet, in der Sie Projekte hinzufügen, mcp.json installieren und die Aktivität anzeigen können.

Ohne Benutzeroberfläche ausführen

Alternativ können Sie, sobald Sie ein ~/.cursor-rust-tools mit Projekten eingerichtet haben, es auch einfach über

cursor-rust-tools --no-ui

Konfiguration

Anstatt die Benutzeroberfläche zum Erstellen einer Konfiguration zu verwenden, können Sie ~/.cursor-rust-tools auch selbst einrichten:

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

ignore_crates ist eine Liste von Kistenabhängigkeitsnamen, die nicht für die Dokumentation indiziert werden sollen. Zum Beispiel, weil sie zu groß sind.

Cursor konfigurieren

Sobald die App läuft, können Sie Cursor für die Verwendung konfigurieren. Dies erfordert mehrere Schritte.

  1. Fügen Sie Ihrem Projekt eine project-dir/.cursor/mcp.json hinzu. Die Cursor Rust Tools Benutzeroberfläche verfügt über eine entsprechende Schaltfläche. Wenn Sie das Tool ohne Benutzeroberfläche ausführen, wird der Inhalt mcp.json auch im Terminal angezeigt.
  2. Sobald Sie diese Datei speichern, erkennt Cursor, dass ein neuer MCP-Server hinzugefügt wurde, und fordert Sie auf, ihn zu aktivieren (in einem Dialogfeld unten rechts).
  3. Sie können die Cursoreinstellungen (unter MCP ) überprüfen, um zu sehen, wo es richtig funktioniert
  4. Stellen Sie zum Testen sicher, dass im aktuellen Chat der Agent Mode ausgewählt ist. Anschließend können Sie ihn bitten, eines der neuen Tools zu verwenden, beispielsweise das Tool cargo_check .
  5. Möglicherweise möchten Sie Cursorregeln hinzufügen, um dem LLM mitzuteilen, dass diese Werkzeuge nach Möglichkeit bevorzugt verwendet werden sollen. Ich experimentiere noch damit.

Medien/Cursor.png

Der Inhalt aller mcp.json ist identisch. Cursor Rust Tools ermittelt das richtige Projekt über den Dateipfad

Todos öffnen

  • [ ] Erstellen Sie eine Zed- Erweiterung, um die Verwendung davon zu ermöglichen
  • [ ] Ordnungsgemäßes Herunterfahren ohne Fehler
  • [ ] Das Entfernen eines Projekts ist derzeit etwas umständlich (in der Benutzeroberfläche).
  • [ ] Weitere LSP-Befehle verfügbar machen
  • [ ] Erlaubt dem LLM, Grit-Operationen durchzuführen
-
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.

Ein MCP-Server, der dem LLM im Cursor den Zugriff auf Rust Analyzer, Crate Docs und Cargo Commands ermöglicht.

  1. Was es bewirkt
    1. So funktioniert es
      1. Installation
        1. Mit Benutzeroberfläche ausführen
        2. Ohne Benutzeroberfläche ausführen
      2. Konfiguration
        1. Cursor konfigurieren
          1. Todos öffnen

            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