Corrode MCP Server について
Corrode MCP Serverは、Rust開発者向けのRust製実装で、MCP対応AIアプリからコードベースやcrateを扱えます。crate・ドキュメント検索に加え、コード解析、ファイル操作、コード検索、シェルコマンドを備えています。
主な機能
- 01crates.ioの検索とメタデータ確認
- 02docs.rsドキュメントの参照
- 03cargo checkとコード構造の確認
- 04ファイルの読み書きとパッチ適用
- 05パターン・ファイル種別によるコード検索
- 06シェル・cargoコマンドの実行
活用シーン
- 01crateのバージョンと依存関係の比較
- 02Rust APIと使用例の検索
- 03プロジェクトのコンパイルエラー確認
- 04Rustプロジェクト内のコードパターン検索
MCP 対応
Claude DesktopなどのMCPクライアントに、Rust crate、ドキュメント、コードベース、ファイル、シェル操作の機能を公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Corrode MCP サーバー
Corrode Code Model Context Protocol(MCP)Rust サーバーです。
Model Context Protocol(MCP)は、LLM アプリケーションと外部データソースやツールとのシームレスな連携を可能にするオープンプロトコルです。AI 搭載 IDE の構築、チャットインターフェースの強化、カスタム AI ワークフローの作成など、MCP を使えば、LLM と必要なコンテキストを標準化された方法で接続できます。
このプロジェクトでは、コード関連のタスク向けに Rust で実装した MCP サーバーを提供します。
主な機能
Corrode MCP サーバーは、Rust 開発者向けの強力な機能を備えています。
Rust 固有のツール
-
Crates.io との連携:AI インターフェースから直接、Rust クレートをシームレスに検索、調査、管理できます。
- 詳細なメタデータを含む利用可能なクレートの検索
- 特定のクレートに関する包括的な情報の取得
- 互換性を確認するためのクレートの全バージョンの表示
- プロジェクトの要件をより深く理解するためのクレート依存関係の確認
-
Rust ドキュメントへのアクセス:Rust のドキュメントに直接アクセスできます。
- docs.rs から API ドキュメントを検索
- クレートの使用方法や例に関する詳細情報を取得
- AI ワークフローを離れることなく、ライブラリーのインターフェースをより深く理解
- Rust のドキュメントを参照して、適切な関数や型を検索
-
コード解析:インテリジェントなツールを使って Rust コードを解析できます。
- 統合された
cargo checkで Rust コードのコンパイルエラーを確認 - プロジェクト全体から関数シグネチャを特定
- Rust コードの構造と依存関係を調査
- 統合された
一般的な開発ツール
-
ファイル操作:コードベースを効率的に操作できます。
- 適切なエンコーディングでファイルを読み書き
- 統一差分を使った変更の適用
- 直感的なコマンドによるファイルシステムの操作
-
コード検索:関連するコードパターンを簡単に見つけられます。
- キーワードやパターンを使ったコードベースの検索
- ファイルの種類や言語による絞り込みで検索結果を整理
-
シェルコマンドの実行:コンテキストを適切に処理しながらシェルコマンドを実行できます。
- 適切な環境設定で
cargoコマンドを実行 - コンテキストを自動追跡しながらディレクトリを移動
- AI インターフェースから直接、複雑なシェル操作を実行
- 適切な環境設定で
インストール
Corrode MCP サーバーのインストール方法は次のとおりです。
- Rust と Cargo がインストールされていることを確認します。
- Cargo を使ってサーバーをインストールします。
crates.io からクレートがダウンロードされ、ビルドされた後、cargo install corrode-mcpcorrode-mcpバイナリが Cargo の bin ディレクトリ(通常は~/.cargo/bin/)にインストールされます。このディレクトリがシステムの PATH に含まれていることを確認してください。
代わりに、ソースからビルドすることもできます。
- リポジトリをクローンします。
git clone https://github.com/fourlexboehm/corrode-mcp cd corrode-mcp - Cargo を使ってビルドし、インストールします。
cargo install --path .
Claude Desktop で MCP CLI サーバーを使用する方法
corrode-mcpがインストールされ(「インストール」セクションを参照)、システムの PATH から利用できることを確認します。claude_desktop_config.jsonを編集します:Claude Desktop ->Settings->Developer->Edit ConfigmcpServersキーの下に次の設定を追加します(mcpServersがすでに存在する場合は、既存の設定に統合します)。
バイナリの絶対パスを指定する場合(推奨):
{
"mcpServers": {
"corrode-mcp": {
"command": "/full/path/to/corrode-mcp",
"args": ["--mcp"]
}
}
}
/full/path/to/corrode-mcp をインストール済みバイナリの実際のパスに置き換えてください。次のコマンドを実行すると確認できます。
which corrode-mcp
MCP のログを確認する場合は、tail -n 20 -f ~/Library/Logs/Claude/mcp*.log を使用してください。
使用例
Rust プロジェクトで Corrode MCP を活用する実用的な方法を紹介します。
クレートの調査
# Search for async runtime crates
> Search for crates related to async runtime
# Get detailed information about a specific version
> What are the features available in tokio 1.44.1?
# Check dependencies
> Show me the dependencies for serde_json 1.0
コード解析
# Check for errors in your project
> Are there any compilation errors in my current project?
# Code structure understanding
> List all function signatures in the src directory
# Cargo operations
> Update my dependencies to the latest versions
コード検索
# Find code patterns
> Search for all functions using tokio::spawn in this project
Rust プロジェクトの管理
# Create new components
> Create a new module for handling HTTP requests
# Explore project structure
> Draw an architecture diagram of this Rust project
# Quality improvements
> Analyze this code for potential performance improvements
参考資料
- MCP 仕様:https://spec.modelcontextprotocol.io/
- Model Context Protocol(MCP):https://modelcontextprotocol.io/introduction
- rpc-router:json-rpc ルーティングライブラリー - https://github.com/jeremychone/rust-rpc-router/
- Zed context_server:https://github.com/zed-industries/zed/tree/main/crates/context_server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。