Cursor Rust Tools について
Cursor Rust Tools は、Cursor 内の LLM が Rust Analyzer、クレートのドキュメント、Cargo コマンドにアクセスできるようにする MCP サーバーです。Cursor で Rust を開発する利用者を対象としており、型を推測させる代わりに実際の型情報を LLM に提供します。設定用の UI も含まれています。
主な機能
- 01Rust Analyzer による型と説明のホバー情報の取得
- 02クレートや特定シンボルのドキュメント検索
- 03ファイル内のシンボル参照の一覧表示
- 04プロジェクト全体での名前による型の検索
- 05cargo test と cargo check の出力の取得
活用シーン
- 01実際の型情報を基に LLM に Rust コードを編集させる
- 02tokio などの依存クレートの API ドキュメントを参照する
- 03エージェントモードで cargo check や cargo test を実行し変更を検証する
MCP 対応
本プロジェクトは、LSP クエリ、クレートのドキュメント検索、Cargo コマンドをツールとして Cursor などの MCP クライアントに提供する MCP サーバーです。プロジェクトディレクトリ内の mcp.json を通じてクライアントに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cursor Rust Tools
Cursor の LLM が Rust Analyzer、Crate Docs、Cargo コマンドにアクセスできるようにする MCP サーバーです。
設定用の UI が含まれています。

概要
現在、さまざまな AI エージェントでは、LSP から Rust の型情報にアクセスできません。 そのため、型を確認できず、LLM が型を推測しなければならないという問題があります。
さらに、依存関係(たとえば tokio)についての情報は、学習データに含まれているものしかなく、古い情報であったり、異なるバージョンに関する情報であったりする可能性があります。そのため、さまざまな問題が発生することがあります。
Cursor Rust Tools は、これらの情報を Model Context Protocol(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 フォルダーに保存されます。
インストール
cargo install --git https://github.com/terhechte/cursor-rust-tools
UI を使って実行
cursor-rust-tools
これにより UI が起動し、プロジェクトの追加、mcp.json のインストール、アクティビティの確認ができます。
UI を使わずに実行
プロジェクトを設定した ~/.cursor-rust-tools があれば、次のように実行することもできます。
cursor-rust-tools --no-ui
設定
UI を使って設定を作成する代わりに、~/.cursor-rust-tools を自分で設定することもできます。
[[projects]]
root = "/Users/terhechte/Developer/Rust/example1"
ignore_crates = []
[[projects]]
root = "/Users/terhechte/Developer/Rust/example2"
ignore_crates = []
ignore_crates は、ドキュメントのインデックス化対象から除外する crate 依存関係名のリストです。たとえば、サイズが大きすぎる場合などに指定します。
Cursor の設定
アプリを起動したら、Cursor で利用できるように設定します。いくつかの手順が必要です。
- プロジェクトに
project-dir/.cursor/mcp.jsonを追加します。Cursor Rust Toolsの UI には、これを行うボタンがあります。UI を使わずに実行した場合も、ターミナルにmcp.jsonの内容が表示されます。 - このファイルを保存すると、Cursor が新しい MCP サーバーの追加を検知し、有効にするかどうかを尋ねます(右下にダイアログが表示されます)。
- Cursor の設定(
MCPの項目)で、正しく動作していることを確認できます。 - テストするには、現在の
ChatでAgent Modeが選択されていることを確認してください。そのうえで、新しいツールのいずれか(たとえばcargo_checkツール)を利用するように依頼できます。 - 必要に応じて、これらのツールをできる限り優先して使うよう、LLM に指示する Cursor ルールを追加してください。現在、試しているところです。

すべての mcp.json の内容は同じです。Cursor Rust Tools はファイルパスから適切なプロジェクトを特定します。
未完了の項目
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。