Cargo Metadata MCP Server について
Cargo Metadata MCP Server は Cargo プロジェクトのメタデータを提供します。Rust プロジェクトのパッケージ、依存関係、ビルド設定を調べる開発者向けです。manifest_path を指定でき、省略時はカレントディレクトリの Cargo.toml を使います。
主な機能
- 01プロジェクトメタデータの取得
- 02パッケージ情報と依存関係の確認
- 03ビルドターゲットとワークスペースの確認
- 04Cargo features 情報の取得
- 05manifest_path の指定
活用シーン
- 01Rust プロジェクトの依存関係を確認
- 02ワークスペースとビルドターゲットを確認
- 03Cargo の feature 設定を調べる
MCP 対応
Cargo プロジェクトのメタデータ、パッケージ情報、依存関係、ビルドターゲット、ワークスペース、features を取得する 6 つのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README よりCargo Metadata MCP Server
このプロジェクトは、Model Context Protocol (MCP)を使用して、Cargo プロジェクトのメタデータ情報を提供するサーバーを実装しています。
機能
この MCP サーバーは以下の機能を提供します:
- プロジェクトのメタデータ情報の取得
- パッケージ情報の取得
- 依存関係リストの取得
- ビルドターゲットの取得
- ワークスペース情報の取得
- フィーチャー情報の取得
使い方
ビルド
cargo build --release
実行
cargo run
または、ビルド済みのバイナリを直接実行することもできます:
./target/release/mcp-attr-example-cargo-metadata
MCP クライアントとの連携
このサーバーを MCP クライアント(例:Claude Desktop)と連携するには、クライアントの設定ファイルに以下のように追加します:
{
"mcpServers": {
"cargo-metadata": {
"command": "path/to/mcp-attr-example-cargo-metadata"
}
}
}
提供されるツール
このサーバーは以下のツールを提供します:
get_metadata- プロジェクトのメタデータを取得しますget_package_info- プロジェクトのパッケージ情報を取得しますget_dependencies- プロジェクトの依存関係リストを取得しますget_targets- プロジェクトのビルドターゲットを取得しますget_workspace_info- プロジェクトのワークスペース情報を取得しますget_features- プロジェクトのフィーチャー情報を取得します
各ツールは、オプションで manifest_path パラメータを受け取ります。指定しない場合は、カレントディレクトリの Cargo.toml ファイルが使用されます。
技術的な詳細
このプロジェクトは以下の技術を使用しています:
- mcp-attr - MCP サーバーを宣言的に記述するための Rust クレート
- cargo_metadata - Cargo プロジェクトのメタデータを取得するための Rust クレート
- tokio - 非同期ランタイム
- serde - シリアライズ/デシリアライズフレームワーク
ライセンス
MIT または Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。