Kubeshark MCP Server

resmi

Kü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.

BeceriAçıklama
network-rcaAğ Kök Neden Analizi — PCAP ve inceleme rotaları ile anlık görüntü tabanlı geriye dönük araştırma
kflKFL2 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_workloadsGözlemlenen trafiğe sahip pod'ları, servisleri, ad alanlarını listeleme
list_api_callsKFL filtreleme ile L7 API işlemlerini sorgulama
get_api_callBelirli bir API çağrısı hakkında ayrıntılı bilgi alma
get_api_statsToplu API istatistiklerini alma
list_l4_flowsL4 (TCP/UDP) ağ akışlarını listeleme
get_l4_flow_summaryL4 bağlantı özetini alma
list_snapshotsTüm PCAP anlık görüntülerini listeleme
create_snapshotYeni bir PCAP anlık görüntüsü oluşturma
get_dissection_statusL7 protokol ayrıştırma durumunu kontrol etme
enable_dissectionL7 protokol incelemesini etkinleştirme
disable_dissectionL7 protokol incelemesini devre dışı bırakma

Küme Yönetimi (Yalnızca Proxy Modu)

AraçAçıklamaGerektirir
check_kubeshark_statusKubeshark'ın çalışıp çalışmadığını kontrol etme-
start_kubesharkKubeshark'ı kümeye dağıtma--allow-destructive
stop_kubesharkKubeshark'ı kümeden kaldırma--allow-destructive

Kullanılabilir İstemler

İstemAçıklama
analyze_trafficAPI trafik desenlerini analiz etme ve sorunları belirleme
find_errorsAPI hatalarını ve başarısızlıklarını bulma ve özetleme
trace_requestMikroservisler arasında bir istek yolunu izleme
show_topologyServis iletişim topolojisini gösterme
latency_analysisGecikme desenlerini analiz etme ve yavaş uç noktaları belirleme
security_auditGüvenlik endişeleri için trafiği denetleme
compare_trafficZaman dilimleri arasında trafik desenlerini karşılaştırma
debug_connectionServisler 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çenekAçıklama
--urlKubeshark Hub'a doğrudan URL
--kubeconfigKubeconfig dosyasının yolu
--allow-destructiveBaşlatma/durdurma işlemlerini etkinleştirme
--list-toolsKullanılabilir araçları listeleme ve çıkma
--mcp-configClaude 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