mcpField
C
Cursor Rust Tools

Cursor Rust Tools

ローカル
github.com/terhechte開発ツール8376 週間前に更新

Cursor Rust Tools について

Cursor Rust Tools は、Cursor 内の LLM が Rust Analyzer、クレートのドキュメント、Cargo コマンドにアクセスできるようにする MCP サーバーです。Cursor で Rust を開発する利用者を対象としており、型を推測させる代わりに実際の型情報を LLM に提供します。設定用の UI も含まれています。

主な機能

  1. 01Rust Analyzer による型と説明のホバー情報の取得
  2. 02クレートや特定シンボルのドキュメント検索
  3. 03ファイル内のシンボル参照の一覧表示
  4. 04プロジェクト全体での名前による型の検索
  5. 05cargo test と cargo check の出力の取得

活用シーン

  1. 01実際の型情報を基に LLM に Rust コードを編集させる
  2. 02tokio などの依存クレートの API ドキュメントを参照する
  3. 03エージェントモードで cargo check や cargo test を実行し変更を検証する

MCP 対応

本プロジェクトは、LSP クエリ、クレートのドキュメント検索、Cargo コマンドをツールとして Cursor などの MCP クライアントに提供する MCP サーバーです。プロジェクトディレクトリ内の mcp.json を通じてクライアントに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

README の画像

Cursor Rust Tools

Cursor の LLM が Rust Analyzer、Crate Docs、Cargo コマンドにアクセスできるようにする MCP サーバーです。

設定用の UI が含まれています。

media/example.png

概要

現在、さまざまな AI エージェントでは、LSP から Rust の型情報にアクセスできません。 そのため、型を確認できず、LLM が型を推測しなければならないという問題があります。

さらに、依存関係(たとえば tokio)についての情報は、学習データに含まれているものしかなく、古い情報であったり、異なるバージョンに関する情報であったりする可能性があります。そのため、さまざまな問題が発生することがあります。

Cursor Rust Tools は、これらの情報を Model Context Protocol(MCP)経由で利用できるようにします。

  • crate または crate 内の特定のシンボル(例:tokio や tokio::spawn)のドキュメントを取得します
  • ファイル内の特定のシンボルのホバー情報(型、説明)を取得します
  • ファイル内の特定のシンボルへの参照一覧を取得します
  • ファイル内のシンボルの実装を取得します(実装を含むファイル全体を取得します)
  • プロジェクト内のファイルから名前だけで型を検索し、ホバー情報を返します
  • cargo test の出力を取得します
  • cargo check の出力を取得します

media/screenshot.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
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 で利用できるように設定します。いくつかの手順が必要です。

  1. プロジェクトに project-dir/.cursor/mcp.json を追加します。Cursor Rust Tools の UI には、これを行うボタンがあります。UI を使わずに実行した場合も、ターミナルに mcp.json の内容が表示されます。
  2. このファイルを保存すると、Cursor が新しい MCP サーバーの追加を検知し、有効にするかどうかを尋ねます(右下にダイアログが表示されます)。
  3. Cursor の設定(MCP の項目)で、正しく動作していることを確認できます。
  4. テストするには、現在の Chat で Agent Mode が選択されていることを確認してください。そのうえで、新しいツールのいずれか(たとえば cargo_check ツール)を利用するように依頼できます。
  5. 必要に応じて、これらのツールをできる限り優先して使うよう、LLM に指示する Cursor ルールを追加してください。現在、試しているところです。

media/cursor.png

すべての mcp.json の内容は同じです。Cursor Rust Tools はファイルパスから適切なプロジェクトを特定します。

未完了の項目

  • これを利用できる Zed 拡張機能を作成する
  • エラーのない適切なシャットダウン
  • 現在、プロジェクトの削除はやや不安定です(UI 内)
  • LSP コマンドをさらに公開する
  • LLM が Grit 操作を実行できるようにする

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。