cursor-rust-tools

Herramientas de cursor de Rust

Un servidor MCP que permite que el LLM en Cursor acceda a Rust Analyzer, Crate Docs y Cargo Commands.

Incluye una interfaz de usuario para la configuración.

Qué hace

Actualmente, varios agentes de IA no permiten a la IA acceder a la información de tipo de Rust desde el LSP. Esto supone un obstáculo, ya que, en lugar de ver el tipo, el LLM debe razonar sobre el tipo potencial.

Además, la única información sobre las dependencias (por ejemplo, tokio ) es la que se utilizó para el entrenamiento, que está desactualizada y posiblemente corresponde a una versión diferente. Esto puede generar diversos problemas.

Cursor Rust Tools los pone a disposición a través del Protocolo de contexto de modelo ( MCP ).

  • Obtenga la documentación de una crate o de un símbolo específico en la crate (por ejemplo, tokio o tokio::spawn )
  • Obtener la información flotante (tipo, descripción) para un símbolo específico en un archivo
  • Obtenga una lista de todas las referencias para un símbolo específico en un archivo
  • Obtener la implementación de un símbolo en un archivo (recupera el archivo completo que contiene la implementación)
  • Busque un tipo solo por su nombre en un archivo del proyecto y devuelva la información al pasar el mouse sobre él.
  • Obtener la salida de cargo test
  • Obtener la salida de cargo check

Cómo funciona

Para la funcionalidad LSP, src/lsp crea un nuevo analizador de Rust que indexa el código base, al igual que el que se ejecuta en el editor. No podemos consultar el que se ejecuta en el editor porque el analizador de Rust está destinado a ser utilizado por un solo consumidor (por ejemplo, la acción open document requiere close document en el orden correcto, etc.).

Para la documentación, ejecutará cargo docs y luego analizará la documentación HTML en Markdown localmente. Esta información se almacena en la raíz del proyecto, en la carpeta .docs-cache .

Instalación

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

Ejecutar con UI

cursor-rust-tools

Esto abrirá una interfaz de usuario en la que podrá agregar proyectos, instalar mcp.json y ver la actividad.

Ejecutar sin interfaz de usuario

Alternativamente, una vez que tenga un ~/.cursor-rust-tools configurado con proyectos, también puede ejecutarlo a través de

cursor-rust-tools --no-ui

Configuración

En lugar de utilizar la interfaz de usuario para crear una configuración, también puede configurar ~/.cursor-rust-tools usted mismo:

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

ignore_crates es una lista de nombres de dependencias de cajas que no se desea indexar para la documentación. Por ejemplo, porque son demasiado grandes.

Configuración del cursor

Una vez que la aplicación esté ejecutándose, puedes configurar Cursor para que la use. Esto requiere varios pasos.

  1. Añade un project-dir/.cursor/mcp.json a tu proyecto. La interfaz de usuario Cursor Rust Tools tiene un botón para hacerlo automáticamente. Ejecutarlo sin la interfaz de usuario también te mostrará el contenido mcp.json en la terminal.
  2. Tan pronto como guarde ese archivo, Cursor detectará que se ha agregado un nuevo servidor MCP y le pedirá que lo habilite (en un cuadro de diálogo en la parte inferior derecha).
  3. Puede verificar la configuración del cursor (en MCP ) para ver dónde funciona correctamente
  4. Para probar, asegúrate de tener seleccionado Agent Mode en el Chat actual. Luego, puedes pedirle que utilice una de las nuevas herramientas, como la herramienta cargo_check .
  5. Quizás quieras añadir reglas de cursor para indicarle al LLM que prefiera usar estas herramientas siempre que sea posible. Todavía estoy experimentando con esto.

El contenido de todos los mcp.json es el mismo. Cursor Rust Tools identifica el proyecto correcto mediante la ruta del archivo.

Abrir Todos

  • [ ] Crea una extensión Zed para permitir el uso de esto
  • [ ] Apagado correcto sin errores
  • [ ] Eliminar un proyecto es un poco frágil en este momento (en la interfaz de usuario)
  • [ ] Exponer más comandos LSP
  • [ ] Permitir que el LLM realice operaciones de Grit
-
security - not tested
-
license - not tested
-
quality - not tested

Un servidor MCP que permite que el LLM en Cursor acceda a Rust Analyzer, Crate Docs y Cargo Commands.

  1. What it does
    1. How it works
      1. Installation
        1. Run With UI
        2. Run Without UI
      2. Configuration
        1. Configuring Cursor
          1. Open Todos
            ID: s4n76vqhgg