MCP Client Yapılandırması
Harici MCP (Model Context Protocol) sunucularına bağlanmak için MCP client yapılandırması
MCP Client Yapılandırması
SmartRAG, harici MCP (Model Context Protocol) sunucularına bağlanarak sorgu yeteneklerini harici araçlar ve veri kaynaklarıyla genişletmeyi destekler.
Genel Bakış
MCP Client özelliği SmartRAG’ın şunları yapmasına olanak tanır:
- Harici MCP sunucularına bağlanma
- MCP sunucuları tarafından sağlanan araçları keşfetme ve kullanma
- MCP araç sonuçlarını RAG yanıtlarıyla entegre etme
- Birden fazla MCP sunucusunu aynı anda sorgulama
Yapılandırma
MCP Client’ı Etkinleştirme
appsettings.json dosyanıza aşağıdakini ekleyin:
{
"SmartRAG": {
"Features": {
"EnableMcpSearch": true
},
"McpServers": [
{
"ServerId": "ornek-sunucu",
"Endpoint": "https://mcp.ornek.com/api",
"AutoConnect": true,
"TimeoutSeconds": 30,
"Headers": {
"Authorization": "Bearer token-buraya"
}
}
]
}
}
Yapılandırma Özellikleri
Features.EnableMcpSearch
- Tip:
bool - Varsayılan:
true - Açıklama: MCP Client işlevselliğini etkinleştirir veya devre dışı bırakır
McpServers
- Tip:
List<McpServerConfig> - Varsayılan: Boş liste
- Açıklama: MCP sunucu yapılandırmaları listesi
McpServerConfig Özellikleri
| Özellik | Tip | Gerekli | Açıklama |
|---|---|---|---|
ServerId |
string |
Evet | Sunucu için benzersiz tanımlayıcı |
Endpoint |
string |
Evet | Sunucu endpoint URL’i (HTTP/HTTPS) |
AutoConnect |
bool |
Hayır | Başlangıçta otomatik bağlanıp bağlanmayacağı (varsayılan: true) |
TimeoutSeconds |
int |
Hayır | Bağlantı zaman aşımı saniye cinsinden (varsayılan: 30) |
Headers |
Dictionary<string, string> |
Hayır | Kimlik doğrulama veya özel yapılandırma için isteğe bağlı HTTP başlıkları |
Programatik Yapılandırma
MCP sunucularını programatik olarak da yapılandırabilirsiniz:
services.AddSmartRag(configuration, options =>
{
options.Features.EnableMcpSearch = true;
options.McpServers.Add(new McpServerConfig
{
ServerId = "ornek-sunucu",
Endpoint = "https://mcp.ornek.com/api",
AutoConnect = true,
TimeoutSeconds = 30,
Headers = new Dictionary<string, string>
{
{ "Authorization", "Bearer token" }
}
});
});
Başlatma
Servis sağlayıcıyı oluşturduktan sonra, MCP bağlantılarını başlatın:
var serviceProvider = services.BuildServiceProvider();
await serviceProvider.InitializeSmartRagAsync();
Bu, AutoConnect: true olan tüm sunuculara otomatik olarak bağlanacaktır.
Kullanım
Yapılandırıldıktan sonra, MCP araçları otomatik olarak sorgu yanıtlarına entegre edilir. SmartRAG’ı sorguladığınızda:
- Bağlı MCP sunucularını ilgili araçlar için sorgular
- Sorguyla eşleşen araçları çalıştırır
- MCP sonuçlarını doküman ve veritabanı sonuçlarıyla birleştirir
- MCP kaynaklarını yanıta dahil eder
Örnek Yanıt
{
"Query": "Bugün hava nasıl?",
"Answer": "Bugün hava güneşli, sıcaklık 22°C...",
"Sources": [
{
"SourceType": "MCP",
"FileName": "hava-sunucu:get_weather",
"RelevantContent": "Sıcaklık: 22°C, Durum: Güneşli",
"RelevanceScore": 1.0
}
]
}
Sorun Giderme
Bağlantı Hataları
MCP sunucuları bağlanamazsa:
- Endpoint URL’inin doğru olduğunu kontrol edin
- Ağ bağlantısını doğrulayın
- Kimlik doğrulama başlıklarının geçerli olduğundan emin olun
- Hatalar için sunucu loglarını kontrol edin
Araç Keşif Sorunları
Araçlar keşfedilmezse:
- Sunucunun MCP protokolünü doğru şekilde uyguladığını doğrulayın
tools/listmetodunun mevcut olduğunu kontrol edin- Araç adlandırma kuralları için sunucu dokümantasyonunu inceleyin