Belirli bir Rust crate'inin güncel dokümantasyon bağlamını LLM'lere MCP aracı ile semantic search (embeddings) ve LLM özeti kullanarak sağlar.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"govcraft-rust-docs-mcp-server": {
"command": "node",
"args": [
"~/.mcp/rust-docs-mcp-server/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/Govcraft/rust-docs-mcp-server.git ~/.mcp/rust-docs-mcp-server
cd ~/.mcp/rust-docs-mcp-server ⭐ Bu projeyi beğendiniz mi? Lütfen depoyu yıldızlayın GitHub'da desteğinizi göstermek ve güncellemeleri almak için! ⭐
Modern yapay zeka destekli kod editörleri (Cursor, Cline, Roo Code vb.) kod yapısını ve sözdizimini anlamada mükemmeldir, ancak hızla gelişen kütüphaneler ve framework'ler, özellikle de cratelar sık sık güncellenen Rust ekosisteminde oldukça zorlanabilirler. Eğitim verilerinin kesme tarihi, en son API'ler hakkında bilgi eksikliği anlamına gelebilir ve bu da yanlış veya eski kod önerileriyle sonuçlanır.
Bu MCP sunucusu, belirli bir Rust crate'i için güncel, odaklanmış bir bilgi
kaynağı sağlayarak bu sorunu çözer. Bu sunucunun bir örneğini bir crate için
çalıştırarak (örn. serde, tokio, reqwest), LLM kod asistanınıza
(query_rust_docs) o crate ile ilgili kod yazarken kullanabileceği bir araç
sağlarsınız.
Bu aracı kullanmak için talimatlandırıldığında, LLM crate'in API'si veya kullanımı hakkında spesifik sorular sorabilir ve doğrudan mevcut belgelerinden türetilmiş yanıtlar alabilir. Bu, oluşturulan kodun doğruluğunu ve alaka düzeyini önemli ölçüde artırır, manuel düzeltme ihtiyacını azaltır ve geliştirmeyi hızlandırır.
Bu sunucunun birden fazla örneği eş zamanlı olarak çalıştırılabilir, bu da LLM asistanının bir kodlama oturumu sırasında birkaç farklı crate'in belgelerine erişmesine olanak tanır.
Bu sunucu belirtilen bir Rust crate'i için belgeleri alır, içerik için gömülü vektörler oluşturur ve crate hakkında sorulara belgelendirme bağlamına dayalı olarak yanıt vermek için bir MCP aracı sağlar.
text-embedding-3-small modelini kullanır.gpt-4o-mini-2024-07-18 modelini kullanır.~/.local/share/rustdocs-mcp-server/ veya
benzer) crate, sürüm ve istenen özellikler temelinde önbelleğe alarak
sonraki başlatmaları hızlandırır.OPENAI_API_KEY ortam değişkeninde
bekler. (Sunucu ayrıca crate bağımlılıklarını indirmek ve OpenAI API'si ile
iletişim kurmak için ağ erişimine ihtiyaç duyar).Önerilen kurulum yöntemi, işletim sisteminiz için önceden derlenmiş ikili dosyasını GitHub Releases sayfasından indirmektir.
.zip, Linux/macOS için
.tar.gz).rustdocs_mcp_server (veya rustdocs_mcp_server.exe) ikili dosyasını
çıkarın.PATH ortam değişkenine dahil olan bir dizine
yerleştirin (örn. /usr/local/bin, ~/bin).Kaynaktan derlemek istiyorsanız, Rust Toolchain yüklü olması gerekir.
git clone https://github.com/Govcraft/rust-docs-mcp-server.git
cd rust-docs-mcp-server
cargo build --release
Yeni Cratelar için Önemli Not:
Sunucuyu ilk kez bir crate ile kullanırken (veya yeni bir sürüm/özellik seti ile), belgeleri indirmesi ve gömülü vektörler oluşturması gerekir. Bu işlem, özellikle kapsamlı belgelendirmeye sahip cratelar için uzun sürebilir ve etkin internet bağlantısı ile OpenAI API anahtarı gerektirir.
Yeni bir crate yapılandırmasını AI kod editörünüze (Roo Code, Cursor vb.) eklemeden önce sunucuyu doğrudan komut satırından bir kez çalıştırmanız önerilir. Bu, ilk gömülü vektör oluşturmanın ve önbelleğe almanın tamamlanmasına olanak tanır. Sunucunun başlangıç mesajlarını gördüğünüzde (örn. "MCP Server listening on stdio"), onu kapatabilirsiniz (Ctrl+C). Sonraki başlatmalar, kod editörü tarafından başlatılanlar da dahil olmak üzere, önbelleğe alınan verileri kullanır ve çok daha hızlı başlar.
Sunucu komut satırından başlatılır ve hedef crate için Package ID
Specification gerektirir. Bu spesifikasyon Cargo tarafından kullanılan biçimi
izler (örn. crate_name, crate_name@version_req). Tam spesifikasyon
ayrıntıları için bkz. man cargo-pkgid veya
Cargo belgelendirmesi.
İsteğe bağlı olarak, gerekli crate özelliklerini -F veya --features
bayrağını kullanarak belirtebilirsiniz, arkasından virgülle ayrılmış özellik
listesi. Bu, cargo doc başarılı olması için belirli özellikler etkinleştirilmesi
gereken cratelar için gereklidir (örn. çalışma zamanı özelliği gerektiren
async-stripe gibi).
# API anahtarını ayarlayın (gerçek anahtarınızla değiştirin)
export OPENAI_API_KEY="sk-..."
# Örnek: serde'nin en son 1.x sürümü için sunucuyu çalıştırın
rustdocs_mcp_server "serde@^1.0"
# Örnek: reqwest'in belirli bir sürümü için sunucuyu çalıştırın
rustdocs_mcp_server "reqwest@0.12.0"
# Örnek: tokio'nun en son sürümü için sunucuyu çalıştırın
rustdocs_mcp_server tokio
# Örnek: async-stripe için sunucuyu çalıştırın, gerekli runtime özelliğini etkinleştirin
rustdocs_mcp_server "async-stripe@0.40" -F runtime-tokio-hyper-rustls
# Örnek: birden fazla özellik içeren başka bir crate için sunucuyu çalıştırın
rustdocs_mcp_server "some-crate@1.2" --features feat1,feat2
Belirli bir crate sürümü ve özellik seti için ilk çalıştırmada, sunucu:
cargo doc kullanarak crate belgelendirmesini indirir (belirtilen özellikler
ile).async-stripe gibi büyük bir crate bile gömülü
vektör oluşturma için sadece 0,18 USD'ye mal olmuştur).Aynı crate sürümü ve özellik seti için sonraki çalıştırmalar verileri önbellekten yükler, başlangıcı çok daha hızlı hale getirir.
Sunucu, Model Context Protocol kullanarak standart giriş/çıkış (stdio) üzerinden iletişim kurar. Aşağıdakileri sunar:
Araç: query_rust_docs
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "Crate'in API'si veya kullanımı hakkındaki spesifik soru."
}
},
"required": ["question"]
}
From <crate_name> docs: ön eki
ile.{
"jsonrpc": "2.0",
"method": "callTool",
"params": {
"tool_name": "query_rust_docs",
"arguments": {
"question": "reqwest ile basit bir GET isteği nasıl yapabilirim?"
}
},
"id": 1
}
Kaynak: crate://<crate_name>
crate://<crate_name> (örn. crate://serde, crate://reqwest)Günlüklendirme: Sunucu bilgilendirici günlükleri (başlangıç iletileri, sorgu
işleme adımları) MCP istemcisine logging/message bildirimleri aracılığıyla
geri gönderir.
Roo Code gibi MCP istemcilerini, her biri farklı bir crate'i hedefleyen bu
sunucunun birden fazla örneğini çalıştıracak şekilde yapılandırabilirsiniz.
Roo Code'un mcp_settings.json dosyası için reqwest ve async-stripe için
sunucuları yapılandıran bir örnek kod parçası aşağıdadır (async-stripe için
eklenen özellikler argümanını not edin):
{
"mcpServers": {
"rust-docs-reqwest": {
"command": "/path/to/your/rustdocs_mcp_server",
"args": [
"reqwest@0.12"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE"
},
"disabled": false,
"alwaysAllow": []
},
"rust-docs-async-stripe": {
"command": "rustdocs_mcp_server",
"args": [
"async-stripe@0.40",
"-F",
" runtime-tokio-hyper-rustls"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE"
},
"disabled": false,
"alwaysAllow": []
}
}
}
Not:
/path/to/your/rustdocs_mcp_server yerine sisteminizde derlenmiş ikili
dosyasının gerçek yolunu yazın (PATH'te yoksa).YOUR_OPENAI_API_KEY_HERE yerine gerçek OpenAI API anahtarınızı yazın.rust-docs-reqwest, rust-docs-async-stripe) Roo Code içinde
sunucu örneklerini tanımlamak için seçtiğiniz isteğe bağlı isimlerdir.Claude Desktop kullanıcıları için sunucuyu MCP ayarlarında yapılandırabilirsiniz.
serde ve async-stripe için sunucuları yapılandıran bir örnek:
{
"mcpServers": {
"rust-docs-serde": {
"command": "/path/to/your/rustdocs_mcp_server",
"args": [
"serde@^1.0"
]
},
"rust-docs-async-stripe-rt": {
"command": "rustdocs_mcp_server",
"args": [
"async-stripe@0.40",
"-F",
"runtime-tokio-hyper-rustls"
]
}
}
}
Not:
rustdocs_mcp_server sistemin PATH'inde olduğundan emin olun veya tam yol
sağlayın (örn. /path/to/your/rustdocs_mcp_server).rust-docs-serde, rust-docs-async-stripe-rt) sunucu
örneklerini tanımlamak için seçtiğiniz isteğe bağlı isimlerdir.OPENAI_API_KEY ortam değişkenini Claude Desktop'ın erişebileceği yerde
ayarlamayı unutmayın (bu sistem genelinde olabilir veya Claude Desktop'ı
nasıl başlattığınıza bağlı olabilir). Claude Desktop'ın MCP yapılandırması
Roo Code gibi sunucu başına ortam değişkenlerini doğrudan desteklemeyebilir.async-stripe gibi belirli özellikler gerektiren cratelar için -F
argümanını nasıl ekleyeceğini gösterir.~/.local/share/rustdocs-mcp-server/<crate_name>/<sanitized_version_req>/<features_hash>/embeddings.bin
altında. sanitized_version_req sürüm gereksiniminden türetilir ve
features_hash başlangıçta istenen belirli özellikler kombinasyonunu temsil
eden bir karmaşadır. Bu, farklı özellik setlerinin ayrı şekilde önbelleğe
alınmasını sağlar.bincode serileştirmesi kullanılarak önbelleğe alınır.clap kullanarak komut satırından crate spesifikasyon ve
isteğe bağlı özellikleri ayrıştırır.Cargo.toml'de etkinleştirir.cargo kütüphanesi
API'sini kullanarak cargo doc çalıştırır.index.html içeren alt dizini arayarak target/doc içinde doğru çıkış
dizinini dinamik olarak konumlandırır.<section id="main-content">) metin içeriğini
çıkarmak için scraper crate'ini kullanarak her HTML dosyasını ayrıştırır.async-openai crate'i ve tiktoken-rs kullanarak text-embedding-3-small
modelini kullanarak her çıkarılan belge yığını için gömülü vektörler
oluşturur.bincode kullanarak önbellek dosyasına
kaydeder (yol özellikler karmaşasını içerir).RustDocsServer'ı yüklenen/oluşturulan belgeler ve
gömülü vektörler ile başlatır.rmcp kullanarak MCP sunucusunu başlatır.query_rust_docs aracı):
gpt-4o-mini-2024-07-18 modeline gönderir.Bu proje MIT Lisansı altında lisanslanmıştır.
Telif Hakkı (c) 2025 Govcraft
Govcraft tek kişilik bir işletmedir—kurumsal destek yok, yatırımcı yok, sadece ben faydalı araçlar yapıyorum. Bu proje size yardımcı olursa, sponsorluk çalışmaların devam etmesini sağlar.
AI destekli geliştirme için yapay zeka tabanlı görev yönetim sistemi. PRD ayrıştırma, görev genişletme, çoklu provider desteği (Claude, OpenAI, Gemini, Perplexity, xAI) ve optimize edilmiş context kullanımı için seçmeli tool yükleme özelliklerine sahiptir.
Kodlama ajanlarına Figma verilerine doğrudan erişim sağlayarak tasarım implementasyonunu tek adımda tamamlamalarını sağlar.
Yüksek performanslı kod zekası MCP sunucusu. Codebase'leri kalıcı bir knowledge graph'e indeksler — ortalama repo milisaniyeler içinde. 66 dil desteği, sub-ms sorgular, %99 daha az token. Tek statik binary, hiç bağımlılık yok.
gitmcp.io, herhangi bir GitHub repository veya projeye bağlanıp belgelendirme yapabilen genel amaçlı bir remote MCP server'ıdır.
Android/iOS uygulamaları ve cihazların otomasyon, geliştirme ile app scraping işlemleri için MCP Server. iPhone, Google Pixel, Samsung gibi simülatör, emülatör ve fiziksel cihazları destekler.
21st.dev'in en iyi tasarım mühendislerinden ilham alarak özel olarak hazırlanmış UI bileşenleri oluşturun.