Kubeshark MCP Server
resmiKüme genelinde L4 ve L7 ağ trafiğine, paketlere, API'lere ve tam yük verilerine MCP erişimi.
Dokümantasyon
Kubeshark MCP Sunucusu
Kubeshark MCP (Model Context Protocol) sunucusu, Claude Desktop, Cursor ve diğer MCP uyumlu istemciler gibi yapay zeka asistanlarının gerçek zamanlı Kubernetes ağ trafiğini sorgulamasını sağlar.
Yapay Zeka Becerileri
MCP araçları sağlar — yapay zeka becerileri aracılara bunları nasıl kullanacaklarını öğretir. Beceriler, ham MCP yeteneklerini kök neden analizi, trafik filtreleme ve adli inceleme gibi alana özgü iş akışlarına dönüştürür. Kurulum ve kullanım için beceriler README dosyasına bakın.
| Beceri | Açıklama |
|---|---|
network-rca | Ağ Kök Neden Analizi — PCAP ve inceleme rotaları ile anlık görüntü tabanlı geriye dönük araştırma |
kfl | KFL2 filtre uzmanı — desteklenen tüm protokollerde trafik sorgularını yazma, hata ayıklama ve optimize etme |
Özellikler
- L7 API Trafik Analizi: HTTP, gRPC, Redis, Kafka, DNS işlemlerini sorgulama
- L4 Ağ Akışları: Trafik istatistikleriyle TCP/UDP akışlarını görüntüleme
- Küme Yönetimi: Kubeshark dağıtımlarını başlatma/durdurma (güvenlik kontrolleriyle)
- PCAP Anlık Görüntüleri: Ağ yakalamaları oluşturma ve dışa aktarma
- Yerleşik İstemler: Yaygın analiz görevleri için önceden yapılandırılmış istemler
Kurulum
1. Kubeshark CLI'yı Yükleyin
# macOS
brew install kubeshark
# Linux
sh <(curl -Ls https://kubeshark.com/install)
# Windows (PowerShell)
choco install kubeshark
Veya GitHub Sürümleri sayfasından indirin.
2. Claude Desktop'ı Yapılandırın
Claude Desktop yapılandırmanıza ekleyin:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Varsayılan (kubectl erişimi / kube bağlamı gerektirir)
{
"mcpServers": {
"kubeshark": {
"command": "kubeshark",
"args": ["mcp"]
}
}
}
Belirli bir kubeconfig yolu ile:
{
"mcpServers": {
"kubeshark": {
"command": "kubeshark",
"args": ["mcp", "--kubeconfig", "/path/to/.kube/config"]
}
}
}
URL Modu (kubectl gerekmez)
Makinenin kubectl erişimi veya kube bağlamı olmadığında bunu kullanın. Doğrudan mevcut bir Kubeshark dağıtımına bağlanın:
{
"mcpServers": {
"kubeshark": {
"command": "kubeshark",
"args": ["mcp", "--url", "https://kubeshark.example.com"]
}
}
}
Yıkıcı İşlemlerle
{
"mcpServers": {
"kubeshark": {
"command": "kubeshark",
"args": ["mcp", "--allow-destructive", "--kubeconfig", "/path/to/.kube/config"]
}
}
}
3. Yapılandırma Oluşturun
Yapılandırma oluşturmak için CLI'yı kullanın:
kubeshark mcp --mcp-config --url https://kubeshark.example.com
Kullanılabilir Araçlar
Trafik Analizi (Tüm Modlar)
| Araç | Açıklama |
|---|---|
list_workloads | Gözlemlenen trafiğe sahip pod'ları, servisleri, ad alanlarını listeleme |
list_api_calls | KFL filtreleme ile L7 API işlemlerini sorgulama |
get_api_call | Belirli bir API çağrısı hakkında ayrıntılı bilgi alma |
get_api_stats | Toplu API istatistiklerini alma |
list_l4_flows | L4 (TCP/UDP) ağ akışlarını listeleme |
get_l4_flow_summary | L4 bağlantı özetini alma |
list_snapshots | Tüm PCAP anlık görüntülerini listeleme |
create_snapshot | Yeni bir PCAP anlık görüntüsü oluşturma |
get_dissection_status | L7 protokol ayrıştırma durumunu kontrol etme |
enable_dissection | L7 protokol incelemesini etkinleştirme |
disable_dissection | L7 protokol incelemesini devre dışı bırakma |
Küme Yönetimi (Yalnızca Proxy Modu)
| Araç | Açıklama | Gerektirir |
|---|---|---|
check_kubeshark_status | Kubeshark'ın çalışıp çalışmadığını kontrol etme | - |
start_kubeshark | Kubeshark'ı kümeye dağıtma | --allow-destructive |
stop_kubeshark | Kubeshark'ı kümeden kaldırma | --allow-destructive |
Kullanılabilir İstemler
| İstem | Açıklama |
|---|---|
analyze_traffic | API trafik desenlerini analiz etme ve sorunları belirleme |
find_errors | API hatalarını ve başarısızlıklarını bulma ve özetleme |
trace_request | Mikroservisler arasında bir istek yolunu izleme |
show_topology | Servis iletişim topolojisini gösterme |
latency_analysis | Gecikme desenlerini analiz etme ve yavaş uç noktaları belirleme |
security_audit | Güvenlik endişeleri için trafiği denetleme |
compare_traffic | Zaman dilimleri arasında trafik desenlerini karşılaştırma |
debug_connection | Servisler arasındaki bağlantı sorunlarında hata ayıklama |
Örnek Konuşmalar
User: Show me all HTTP 500 errors in the last hour
Claude: I'll query the API traffic for 500 errors.
[Calling list_api_calls with kfl="http and response.status == 500"]
Found 12 HTTP 500 errors:
1. POST /api/checkout -> payment-service (500)
Time: 10:23:45 | Latency: 2340ms
...
User: What services are communicating with the database?
Claude: Let me check the L4 flows to the database.
[Calling list_l4_flows with dst_filter="postgres"]
Found 5 services connecting to postgres:5432:
- orders-service: 456KB transferred
- users-service: 123KB transferred
...
CLI Seçenekleri
| Seçenek | Açıklama |
|---|---|
--url | Kubeshark Hub'a doğrudan URL |
--kubeconfig | Kubeconfig dosyasının yolu |
--allow-destructive | Başlatma/durdurma işlemlerini etkinleştirme |
--list-tools | Kullanılabilir araçları listeleme ve çıkma |
--mcp-config | Claude Desktop yapılandırma JSON'unu yazdırma |
KFL (Kubeshark Filtre Dili)
KFL sözdizimini kullanarak trafiği sorgulayın:
# HTTP requests to a specific path
http and request.path == "/api/users"
# Errors only
response.status >= 400
# Specific source pod
src.pod.name == "frontend-.*"
# Multiple conditions
http and src.namespace == "default" and response.status == 500
MCP Kaydı
Kubeshark, her sürümde otomatik olarak MCP Kaydı'na yayınlanır.
Bu dizindeki server.json bir referans dosyasıdır. Gerçek kayıt meta verileri (sürüm, SHA256 karmaları) sürüm iş akışı sırasında otomatik olarak oluşturulur. Ayrıntılar için .github/workflows/release.yml sayfasına bakın.
Bağlantılar
Lisans
Apache-2.0