カーソルRustツール
Cursor の LLM が Rust Analyzer、Crate Docs、Cargo Commands にアクセスできるようにするMCPサーバー。
構成用の UI が含まれています。
何をするのか
現在、様々なAIエージェントは、AIがLSPからRustの型情報にアクセスする機能を提供していません。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
フォルダに保存されます。
インストール
UIで実行
これにより、プロジェクトを追加したり、 mcp.json
をインストールしたり、アクティビティを確認したりできる UI が表示されます。
UIなしで実行
あるいは、プロジェクトで~/.cursor-rust-tools
設定したら、次のように実行することもできます。
構成
UI を使用して設定を作成する代わりに、 ~/.cursor-rust-tools
自分で設定することもできます。
ignore_crates
、ドキュメント用にインデックス化したくないクレート依存関係名のリストです。例えば、サイズが大きすぎる場合などです。
カーソルの設定
アプリが起動したら、Cursor を設定してアプリを利用できるようになります。これには複数の手順が必要です。
- プロジェクトに
project-dir/.cursor/mcp.json
を追加してください。CursorCursor Rust Tools
UI には、この操作を行うためのボタンがあります。UI なしで実行すると、ターミナルにmcp.json
内容が表示されます。 - ファイルを保存するとすぐに、Cursor は新しい MCP サーバーが追加されたことを検出し、それを有効にするように要求します (右下のダイアログで)。
- カーソル設定(
MCP
の下)をチェックして、どこで正しく動作しているかを確認できます。 - テストするには、現在の
Chat
でAgent Mode
が選択されていることを確認してください。その後、cargo_check
ツールなどの新しいツールのいずれかを使用するように指示してください。 - LLMにこれらのツールを可能な限り優先的に使用するよう指示するカーソルルールを追加すると良いかもしれません。まだ実験中です。
すべてのmcp.json
の内容は同じです。Cursor Rust Toolsはファイルパスから正しいプロジェクトを判断します。
オープンToDo
This server cannot be installed
Cursor の LLM が Rust Analyzer、Crate Docs、Cargo Commands にアクセスできるようにする MCP サーバー。