AGZ Rust Coder について
AGZ Rust Coderは、Cargoとrustcの出力に基づいて範囲を限定したRustの正当性チェックを行うstdio MCPサーバーです。Rust開発者向けに、検証、ソース分析、Rust Analyzerによるナビゲーション、ワークスペースへ書き込まない編集案を提供します。
主な機能
- 01範囲を限定したCargoチェック、テスト、ドキュメント検証
- 02Rustソースの静的監査
- 03正確なバージョンのクレートドキュメント検索
- 04Rust Analyzerによるナビゲーションとシンボル検索
- 05適用せずに提示する検証済みのリネーム・リファクタリング案
活用シーン
- 01Rustワークスペースで範囲を限定した検証ゲートを実行
- 02参照、定義、呼び出し階層を調査
- 03指定バージョンのクレートドキュメントを確認
- 04レビュー用のリネームやリファクタリング編集案を作成
MCP 対応
MCPツール、プロンプト、リソースとして、Rustの検証、分析、ナビゲーション、ワークスペースへ書き込まない変更ワークフローを公開します。独立したstdio MCPサーバーとして動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AGZ Rust MCP
English | Türkçe
AGZ Yazılım の製品です。 agz-rust-mcp は、Cargo と rustc に基づいた、範囲を限定した Rust の正確性検証を行うスタンドアロンの stdio MCP サーバーです。範囲を限定して Cargo の検証を実行し、ソースを監査し、正確なバージョンのクレートドキュメントを解決し、Rust Analyzer によるナビゲーションを提供するとともに、ファイルを書き換えずに名前変更/リファクタリング用パッケージを返します。
インストール
# installer script (Linux x86_64): download install.sh and SHA256SUMS from the
# latest release, verify the script, then run it
bash install.sh
# crates.io (requires Rust 1.88.0 or newer)
cargo install agz-rust-mcp --locked
agz-rust-mcp --version
.sha256 ファイル付きのビルド済み .tar.gz アーカイブを、Linux x86_64、macOS arm64、Windows x86_64 向けに提供しています。0.2.0 までのリリースでは従来の agz-rust-coder-* アセット名を使用し、0.3.0 以降では agz-rust-mcp-* を使用します。
詳細な手順、OS ごとの注意事項、チェックサムの検証、トラブルシューティングについては、docs/install.md · Türkçe を参照してください。
MCP クライアントのセットアップ
現在のソースには、オフラインで使える 4 つのスキルも含まれています:agz-rust-workflow、agz-rust-repair、agz-rust-refactor、agz-rust-performance。1 つの実行ファイルが、MCP プロンプト/リソースを通じてツールとそのワークフローを提供するため、2 つ目の MCP は不要です。ファイルシステムベースのクライアントでは、agz-rust-mcp skills export を使用できます。同梱スキルを参照してください。同梱スキルは 0.4.0 以降で利用でき、0.3.0 のバイナリには含まれていません。
| クライアント | 設定 | ガイド |
|---|---|---|
| ZCode | ~/.zcode/cli/config.json → mcp.servers.rust | ZCode |
| OpenCode | opencode.jsonc → mcp.rust | OpenCode |
| OpenCode2 | opencode.jsonc → mcp.servers.rust | OpenCode2 |
| Codex | ~/.codex/config.toml → mcp_servers.rust | Codex |
お使いのクライアントに対応する例を使用してください。OpenCode と OpenCode2 では構成が異なります。いずれもインストール済みの agz-rust-mcp バイナリを起動します。接続する前に agz-rust-mcp --version を一度実行し、クライアントの PATH が異なる場合は絶対パスを指定してください。
現在のディレクトリが、既定で許可されるルートになります。クライアントの起動場所が異なる場合は、--allow-root 引数を繰り返し指定してルートを追加してください。クライアントが提供する MCP ルートによって設定済みのアクセス範囲を狭めることはできますが、広げることはできません。クライアントごとのセットアップについては、docs/install.md を参照してください。
ドキュメント
次の順序でドキュメントをお読みください:
- インストールとクライアントのセットアップ - すべてのインストール方法と クライアント設定。
- ツールと設定のリファレンス - ツール、アクション、結果の 意味、すべての設定キー。
- アーキテクチャ - プロセスモデル、プロトコルのライフサイクル、 権限の境界。
- 検証とベンチマークのプロトコル - スモークテスト、ゲート、 エビデンス。
- セキュリティポリシーとコントリビューション。
全体の読み進め方を記載したバイリンガルの目次は docs/README.md / docs/README.tr.md にあります。
識別情報
| 項目 | 値 |
|---|---|
| クレート、バイナリ、サーバー | agz-rust-mcp |
| MCP Registry | io.github.agzyazilim/rust-mcp |
| ソースバージョン | 0.4.0 |
| 初回リリース | 0.1.0 |
| リリースタグ | agz-rust-mcp-v<version> |
| Rust エディション/MSRV | 2024 / 1.88.0 |
| Rust MCP SDK | rmcp 3.1.4 |
| 既定/検出されるプロトコル | 2025-11-25 / 2026-07-28 |
MCP パッケージの所有権マーカー:mcp-name: io.github.agzyazilim/rust-mcp。
ツール
OpenCode2 では、一般的に MCP ツールが rust_* としてグループ化されます。
| MCP ツール | OpenCode2 の直接名 | デフォルト | 目的 |
|---|---|---|---|
check | rust_check | enabled | 範囲を限定して Cargo のチェック、Clippy、テスト、ドキュメント生成、または完全なゲートを実行します。 |
profile | rust_profile | enabled | 観測された Cargo の再ビルド動作を分析し、測定していない速度向上を主張することなく、範囲を限定したビルドの証拠を比較します。 |
audit | rust_audit | enabled | Rust のソースをスキャンして、範囲を限定した静的解析の結果を検出します。 |
crate_lookup | rust_crate_lookup | enabled | crates.io で crate と、指定されている場合は正確なバージョンを確認します。 |
docs | rust_docs | enabled | キャッシュ、ローカルソース、または docs.rs から正確なバージョンのドキュメントを解決します。 |
context | rust_context | enabled | リビジョンに紐づくセマンティックコンテキストカプセルを、項目ごとの理由とともに準備、拡張、または差分化します。 |
api | rust_api | enabled | 範囲を限定したアナライザーの証拠から API シグネチャを解決するか、ワークスペース設定の隔離されたコピーで候補スニペットの型チェックを行います。 |
explain | rust_explain | enabled | マクロ展開の由来、トレイトの要件、または cfg の有効化について説明します。 |
verify | rust_verify | enabled | 範囲を限定した機能、ターゲット、ツールチェーン、ステージのマトリクスを計画または実行します。 |
symbol | rust_symbol | enabled | 1 つのシンボルについて、Rust Analyzer のホバーデータを読み取ります。 |
references | rust_references | enabled | 範囲を限定して参照を検索します。 |
definition | rust_definition | enabled | 選択された定義を検索します。 |
symbols | rust_symbols | enabled | 1 つの Rust ファイル内のシンボルを一覧表示します。 |
implementations | rust_implementations | enabled | 実装を検索します。 |
hierarchy | rust_hierarchy | enabled | 範囲を限定して呼び出し階層を追跡します。 |
rename | rust_rename | enabled | 適用せずに、検証済みの名前変更編集パッケージを生成します。 |
refactor | rust_refactor | enabled | 適用せずに、検証済みのリファクタリング編集パッケージを生成します。 |
change | rust_change | enabled | ワークスペースに書き込むことなく、サーバーが管理するスクラッチ領域で、リビジョンに紐づく変更セットを作成、ステージング、移行、検証します。 |
repair | rust_repair | enabled | ワークスペースに書き込むことなく、失敗した変更リビジョンに対するコンパイラー駆動の修復候補を分析、試行、比較、最小化します。 |
work | rust_work | enabled | 明示的なゲートと予算を用いて、型付きの意図に沿って change/validate を進め、ゲートの証拠、または範囲を限定した単回使用の引き継ぎを、正確に返します。 |
すべてのツールは、決定論的な構造化データと、それに相当する範囲を限定したテキスト形式の
フォールバックを返します。外部データは untrustedData の配下に保持されます。
コンパイルの失敗、crate の不足、ドキュメントを利用できない場合など、想定されるドメイン上の結果は型付きの結果です。
無効な入力、認可の失敗、リソースの枯渇、セマンティック基盤を利用できない場合は、プロトコルエラーとなります。
設定
優先順位は、CLI、AGZ_RUST_MCP_* 環境変数、明示的に指定した --config TOML ファイル、デフォルトの順です。環境変数のキーでは、セクション間に __ を使用します。例:AGZ_RUST_MCP_GATE__HARD_TIMEOUT_MS=600000。
| キー | デフォルト | 意味 |
|---|---|---|
server.allow_roots | 正規化された CWD | ワークスペースの読み取り/コマンドの境界です。 |
server.allow_dependency_roots | 空 | 明示的に指定する外部パス依存関係のルートです。 |
gate.hard_timeout_ms | 600000 | Cargo 操作の期限です。 |
gate.scope | shadow | 検証対象:workspace、shadow、または affected です。 |
gate.cache | auto | キャッシュポリシー:auto、project、または isolated です。 |
rust_analyzer.workspace_code | deny | ワークスペースコードが無効になっていない場合、RA の起動を拒否します。 |
docs.fallback | auto | ドキュメントの取得元ポリシーです。 |
profile.max_report_bytes | 4194304 | 1 つの Cargo タイミング成果物の読み取り/保存サイズの上限です。 |
profile.max_runs | 4 | 1 回の profile 呼び出しで利用できる新規 Cargo 実行の回数です。 |
profile.compare_samples | 3 | 速度に関する主張を行う前に、各側で必要となるサンプル数です。 |
limits.tool_output_bytes | 49152 | シリアライズされたツール結果の最大サイズです。 |
change.max_bytes | 268435456 | 変更セットごとに取得できる候補データの最大サイズです。 |
repair.max_candidates | 4 | 1 回の repair アクションで試行できる候補数です。 |
repair.max_compiles | 4 | 1 回の repair アクションで実行できる Cargo 検証の回数です。 |
repair.wall_time_ms | 120000 | 1 回の repair アクションに割り当てられる実時間の上限です。 |
repair.minimize_max_candidates | 32 | repair(action=minimize) が試行できる、コンパイルによる評価を伴う削減の試行回数です。 |
repair.minimize_max_compiles | 16 | 再現とエクスポート検証を含め、repair(action=minimize) が実行できる Cargo の実行回数です。 |
work.max_candidates | 4 | 1 つの作業項目でホストがステージングできる候補リビジョン数です。 |
work.max_compiles | 12 | 1 つの作業項目で実行できるゲート検証の回数です。 |
work.wall_time_ms | 600000 | 1 つの作業項目に割り当てられる実時間の上限です。 |
telemetry.enabled | true | プロンプトやソースを含まない、制限付きのローカルアクティビティ記録です。 |
profile のエビデンスには上限があります。最新の 64 件はメモリに保持され、サーバー管理下の profile-evidence ディレクトリに保存されたタイミング成果物は、24 時間経過後、またはファイル数が 64 を超えた場合に削除されます。profile の結果にはこの保持ポリシーが示されるため、期限切れのエビデンスは黙って再利用されず、確認できます。
CLI の全フィールドを確認するには、agz-rust-mcp --help を実行してください。動作の詳細とデフォルトの一覧は、docs/tools.md にあります。
セキュリティ
サーバーはワークスペースのソースを変更しませんが、オペレーティングシステムのサンドボックスではありません。Cargo のビルドスクリプト、テスト、手続き型マクロ、ローカルの rustdoc、およびオプトインされた Rust Analyzer のワークスペースコードは、サーバーユーザーの権限で実行されます。この境界が必要な場合は、コンテナーまたは OS サンドボックスを使用してください。ワークスペース、依存関係、キャッシュ、リース、ジャーナル、ドキュメント、テレメトリの各パスは正規化され、範囲が制限されます。また、フェイルクローズで処理され、標準出力は MCP のフレーミング専用です。脆弱性は SECURITY.md の説明に従って、非公開で報告してください。
リンク
- リポジトリ:https://github.com/agzyazilim/rust-mcp
- クレート:https://crates.io/crates/agz-rust-mcp
- SDK ドキュメント:https://docs.rs/rmcp/3.1.4/rmcp/
- MCP
2025-11-25:https://modelcontextprotocol.io/specification/2025-11-25 - MCP
2026-07-28:https://modelcontextprotocol.io/specification/2026-07-28
ライセンス
MIT、Copyright (c) 2026 Ugur Murat Altintas.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。