AGZ Rust MCP
Cargo ve rustc çıktısına dayanan, kaynak dosyalara yazmayan bağımsız Rust doğrulama MCP sunucusu.
Genel bakış
Açık kaynak geliştirici aracı
Bağımsız bir stdio MCP sunucusudur. Cargo ve rustc çıktısına dayalı sınırlı Rust doğrulaması, kaynak denetimi, tam sürüme göre crate belgeleri ve Rust Analyzer gezinmesi sunar. Kaynak dosyalara yazmaz: yeniden adlandırma ve refaktör için doğrulanmış düzenleme paketleri döndürür, uygulamaz. Doğrulama otoritesi Cargo ve rustc'de kalır; semantik araçların ve düzenleme önerilerinin güven sınırları açıkça yazılıdır.
Kimin için: Rust projelerinde MCP destekli bir kodlama istemcisi ya da yapay zekâ ajanı kullanan geliştiriciler.
AGZ Rust MCP
Ne yapar
- Sınırlı Cargo doğrulaması: check, build, clippy, test, doc ve fmt (kontrol kipi) hedefleri, yapılandırılmış tanılarla.
- Feature, hedef ve toolchain matrisiyle doğrulama; test ve regresyon karşılaştırması.
- Crate adını ve tam sürümünü registry'de doğrular, o sürümün belgelerini getirir.
- Rust Analyzer ile sembol, referans, tanım, uygulama ve hiyerarşi gezinmesi (tavsiye niteliğinde).
- Yeniden adlandırma ve refaktör için doğrulanmış düzenleme paketi döndürür; kaynağa yazmaz.
- Başarısız bir revizyon için derleyici güdümlü onarım adayları üretir.
Sınırlar
Ne yapmaz
Sınırları baştan bilmek sürprizleri önler.
- Kaynak dosyalara yazmaz; rename ve refactor sonuçlarını uygulamak sizin kararınızdır.
- İşletim sistemi sandbox'ı değildir: build script'ler, testler ve proc-macro'lar sunucu hesabının yetkisiyle çalışabilir. Daha güçlü yalıtım için container ya da OS sandbox kullanın.
- Rust Analyzer ve audit sonuçları tavsiye niteliğindedir; otorite Cargo ve rustc'dir.
- Başarılı bir kontrol, sonraki istekte yetki ya da kanıt sayılmaz.
- Açık kaynak olarak yayınlanır; ayrı bir destek taahhüdü yoktur.
Ayrıntılar
Ayrıntılı anlatım
Araçlar
Sunucu 20 araç sunar ve bunları dört grupta toplar.
| Grup | Araçlar | Ne yapar |
|---|---|---|
| Doğrulama ve kanıt | check, profile, verify, audit, explain | Sınırlı Cargo doğrulaması; yeniden derleme ve çalışma zamanı karşılaştırması; feature, hedef ve toolchain matrisi; sınırlı statik kaynak denetimi; makro açılımı, karşılanmayan trait yükümlülükleri ve cfg etkinliğinin açıklaması. |
| Crate belgeleri ve bağlam | crate_lookup, docs, context, api | Crate adını ve tam sürümünü doğrular; tam sürüm Rust belgeleri; göreve odaklı, revizyona bağlı bağlam kapsülü; API imzası çözme ya da aday kodu yalıtılmış kopyada tip kontrolünden geçirme. |
| Rust Analyzer gezinmesi | symbol, references, definition, symbols, implementations, hierarchy | Kod gezinmesi; sonuçlar tavsiye niteliğindedir. |
| Kaynağa yazmayan düzenleme ve iş akışı | rename, refactor, change, repair, work | Doğrulanmış edit paketi (uygulanmaz); sunucunun scratch alanında revizyona bağlı changeset; derleyici güdümlü onarım adayları; iş öğesini açık kapılar ve tek kullanımlık handoff'larla yürütme. |
Kurulum
crates.io paketiyle kurulum:
rustup toolchain install 1.88.0
cargo install agz-rust-mcp --locked
agz-rust-mcp --versionKaynaktan derlemek için depoyu GitHub'dan klonlayın; klasörün adı rust-mcp olur:
cd rust-mcp
cargo +1.88.0 build --release -p agz-rust-mcp --locked
./target/release/agz-rust-mcp --versionLinux x86_64, macOS arm64 ve Windows x86_64 için hazır arşivler vardır; Linux x86_64 için ayrıca kurulum betiği bulunur. Diğer platformlarda arşiv, cargo install ya da kaynaktan derleme kullanılır.
İstemciye bağlama
Depoda ZCode, OpenCode, OpenCode2 ve Codex için yapılandırma örnekleri vardır. Sunucuyu istemci yerel bir süreç olarak başlatır. OpenCode örneği:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"rust": {
"type": "local",
"command": ["agz-rust-mcp"],
"enabled": true,
"timeout": 120000
}
}
}Yapılandırma
Ayarlar şu öncelikle okunur: komut satırı, AGZ_RUST_MCP_* ortam değişkenleri (bölüm ayırıcı __, örneğin AGZ_RUST_MCP_GATE__HARD_TIMEOUT_MS=600000), --config ile verilen TOML dosyası ve varsayılanlar. Başlıca anahtarlar: server.allow_roots, server.allow_dependency_roots, gate.scope (workspace, shadow, affected), gate.cache (auto, project, isolated), rust_analyzer.workspace_code ve docs.fallback.
Süreçler Unix'te process group, Windows'ta Job Object ile denetlenir ve zaman aşımında durdurulur. Varsayılan sınırlar: gate.hard_timeout_ms 600000, repair.wall_time_ms 120000, work.wall_time_ms 600000; sonuç boyutu en fazla 49152 bayt.
Güven sınırları
- Cargo ve rustc otoritedir; Rust Analyzer ve audit sonuçları tavsiye niteliğindedir.
- Yol kaçışında ya da doğrulanamayan bir symlink'te işlem kapalı kalır; istemci kökleri erişimi daraltabilir, genişletemez.
rust_analyzer.workspace_codeayarının varsayılanıdeny'dır.
Skill paketleri
Depoda çevrimdışı kullanılabilen dört skill paketi vardır: agz-rust-workflow, agz-rust-repair, agz-rust-refactor ve agz-rust-performance.
Katkı
Nasıl katkı verilir
Hata kaydı açın
Sorunu ilgili deponun “Issues” bölümüne yazın. Sürümü, işletim sistemini ve sorunu yeniden üreten adımları eklemeniz yeterli.
Güvenlik açığını özel bildirin
Güvenlikle ilgili bulguları herkese açık kayda yazmayın. Bildirim yolu ve kapsam güvenlik sayfasında.