first commit
This commit is contained in:
82
MCP.md
Normal file
82
MCP.md
Normal file
@@ -0,0 +1,82 @@
|
||||
Rust ile mevcut bir backend API projemin üstüne MCP Server eklemek istiyorum. Elimde çalışan bir API backend var ve bunun üzerine yeni bir MCP server katmanı kuracağız.
|
||||
|
||||
Önemli bilgiler:
|
||||
- Proje dili: Rust
|
||||
- Mevcut backend zaten çalışıyor
|
||||
- MCP server, bu backend ile entegre olacak
|
||||
- Aşağıdaki Cargo.toml bağımlılıklarını kullanmam gerekiyor, lütfen çözümü bunlara göre tasarla
|
||||
- Ekstra gereksiz dependency ekleme, mümkün olduğunca mevcut paketlerle ilerle
|
||||
- Kodun production-ready, temiz, modüler ve genişletilebilir olmasını istiyorum
|
||||
|
||||
Kullanılacak Cargo.toml:
|
||||
|
||||
[package]
|
||||
name = "Web"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
async-trait = "0.1.89"
|
||||
axum = { version = "0.8.8", features = ["multipart"] }
|
||||
argon2 = "0.5.3"
|
||||
dotenvy = "0.15.7"
|
||||
image = { version = "0.25.8", default-features = false, features = ["avif", "jpeg", "png", "webp"] }
|
||||
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"] }
|
||||
sea-orm = { version = "1.1.20", features = ["sqlx-postgres", "runtime-tokio-native-tls", "macros"] }
|
||||
sea-orm-migration = "1.1.20"
|
||||
redis = { version = "1.2.0", features = ["tokio-comp"] }
|
||||
serde = { version = "1.0.228", features = ["derive"] }
|
||||
serde_json = "1.0.149"
|
||||
tokio = { version = "1.51.1", features = ["full"] }
|
||||
tower-http = { version = "0.6.8", features = ["trace"] }
|
||||
tracing = "0.1.44"
|
||||
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt"] }
|
||||
utoipa = "5.4.0"
|
||||
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
|
||||
uuid = { version = "1.23.0", features = ["v4", "serde"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tower = { version = "0.5.3", features = ["util"] }
|
||||
|
||||
İstediğim şey:
|
||||
1. Mevcut Rust backend projemin içine MCP server mimarisi ekle.
|
||||
2. Axum tabanlı HTTP server ile uyumlu olsun.
|
||||
3. MCP tarafında tool’lar tanımlanabilsin.
|
||||
4. Bu tool’lar mevcut backend servislerini çağırabilsin.
|
||||
5. Auth gerekiyorsa JWT ile korunan endpoint’lere erişebilsin.
|
||||
6. Redis gerekiyorsa cache/session için kullanılabilecek bir yapı kur.
|
||||
7. SeaORM ile veritabanı erişimine uygun mimari oluştur.
|
||||
8. Kod yapısı modüler olsun:
|
||||
- main.rs
|
||||
- app/state
|
||||
- app/routes
|
||||
- app/mcp
|
||||
- app/services
|
||||
- app/models
|
||||
- app/errors
|
||||
9. Bana sadece örnek kod değil, çalışır bir iskelet ver:
|
||||
- gerekli dosya yapısı
|
||||
- modüller arası bağlantı
|
||||
- örnek MCP tool implementasyonu
|
||||
- örnek request/response modeli
|
||||
- örnek auth middleware entegrasyonu
|
||||
- örnek backend service çağrısı
|
||||
10. Eğer MCP protocol tarafında HTTP/SSE/streaming yaklaşımı gerekiyorsa, bunu Axum ile nasıl yapacağımı göster.
|
||||
11. Kodda mümkünse:
|
||||
- async/await kullan
|
||||
- Result tabanlı error handling kullan
|
||||
- tracing ile logging ekle
|
||||
- serde ile JSON serialization yap
|
||||
- uuid ile id üret
|
||||
12. Gerekirse eksik kalan kısımlar için TODO bırak ama mimariyi eksiksiz kur.
|
||||
|
||||
Benden beklediğin çıktı:
|
||||
- Önce önerdiğin klasör/dosya yapısını ver
|
||||
- Sonra temel main.rs ve state yapısını yaz
|
||||
- Ardından MCP server integration katmanını oluştur
|
||||
- Sonra örnek 1-2 MCP tool yaz
|
||||
- Son olarak da backend servis katmanıyla entegrasyonu göster
|
||||
|
||||
Lütfen çözümleri Rust 2024 edition’a uygun yaz.
|
||||
Mümkün olduğunca mevcut dependency listemi kullan.
|
||||
Kodları birbirine bağlı, derlenebilir ve anlaşılır şekilde üret.
|
||||
Reference in New Issue
Block a user