Kubeshark MCP Server

resmi

Akses MCP ke lalu lintas jaringan L4 dan L7 di seluruh klaster, paket, API, dan payload lengkap.

Dokumentasi

Server MCP Kubeshark

Server MCP (Model Context Protocol) Kubeshark memungkinkan asisten AI seperti Claude Desktop, Cursor, dan klien lain yang kompatibel dengan MCP untuk melakukan kueri lalu lintas jaringan Kubernetes secara real-time.

Keterampilan AI

MCP menyediakan alat — keterampilan AI mengajarkan agen cara menggunakannya. Keterampilan mengubah kemampuan MCP mentah menjadi alur kerja spesifik domain seperti analisis akar penyebab, penyaringan lalu lintas, dan investigasi forensik. Lihat README keterampilan untuk instalasi dan penggunaan.

KeterampilanDeskripsi
network-rcaAnalisis Akar Penyebab Jaringan — investigasi retrospektif berbasis snapshot dengan rute PCAP dan pembedahan
kflAhli filter KFL2 — menulis, men-debug, dan mengoptimalkan kueri lalu lintas di semua protokol yang didukung

Fitur

  • Analisis Lalu Lintas API L7: Kueri transaksi HTTP, gRPC, Redis, Kafka, DNS
  • Aliran Jaringan L4: Lihat aliran TCP/UDP dengan statistik lalu lintas
  • Manajemen Klaster: Mulai/hentikan deployment Kubeshark (dengan kontrol keamanan)
  • Snapshot PCAP: Buat dan ekspor tangkapan jaringan
  • Prompt Bawaan: Prompt yang telah dikonfigurasi sebelumnya untuk tugas analisis umum

Instalasi

1. Instal Kubeshark CLI

# macOS
brew install kubeshark

# Linux
sh <(curl -Ls https://kubeshark.com/install)

# Windows (PowerShell)
choco install kubeshark

Atau unduh dari GitHub Releases.

2. Konfigurasi Claude Desktop

Tambahkan ke konfigurasi Claude Desktop Anda:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Default (memerlukan akses kubectl / konteks kube)

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp"]
    }
  }
}

Dengan jalur kubeconfig eksplisit:

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--kubeconfig", "/path/to/.kube/config"]
    }
  }
}

Mode URL (tidak memerlukan kubectl)

Gunakan ini ketika mesin tidak memiliki akses kubectl atau konteks kube. Hubungkan langsung ke deployment Kubeshark yang sudah ada:

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--url", "https://kubeshark.example.com"]
    }
  }
}

Dengan Operasi Destruktif

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--allow-destructive", "--kubeconfig", "/path/to/.kube/config"]
    }
  }
}

3. Hasilkan Konfigurasi

Gunakan CLI untuk menghasilkan konfigurasi:

kubeshark mcp --mcp-config --url https://kubeshark.example.com

Alat yang Tersedia

Analisis Lalu Lintas (Semua Mode)

AlatDeskripsi
list_workloadsDaftar pod, layanan, namespace dengan lalu lintas yang teramati
list_api_callsKueri transaksi API L7 dengan penyaringan KFL
get_api_callDapatkan info detail tentang panggilan API tertentu
get_api_statsDapatkan statistik API teragregasi
list_l4_flowsDaftar aliran jaringan L4 (TCP/UDP)
get_l4_flow_summaryDapatkan ringkasan konektivitas L4
list_snapshotsDaftar semua snapshot PCAP
create_snapshotBuat snapshot PCAP baru
get_dissection_statusPeriksa status parsing protokol L7
enable_dissectionAktifkan pembedahan protokol L7
disable_dissectionNonaktifkan pembedahan protokol L7

Manajemen Klaster (Hanya Mode Proksi)

AlatDeskripsiMemerlukan
check_kubeshark_statusPeriksa apakah Kubeshark sedang berjalan-
start_kubesharkDeploy Kubeshark ke klaster--allow-destructive
stop_kubesharkHapus Kubeshark dari klaster--allow-destructive

Prompt yang Tersedia

PromptDeskripsi
analyze_trafficAnalisis pola lalu lintas API dan identifikasi masalah
find_errorsTemukan dan ringkas kesalahan dan kegagalan API
trace_requestLacak jalur permintaan melalui layanan mikro
show_topologyTampilkan topologi komunikasi layanan
latency_analysisAnalisis pola latensi dan identifikasi endpoint lambat
security_auditAudit lalu lintas untuk masalah keamanan
compare_trafficBandingkan pola lalu lintas antar periode waktu
debug_connectionDebug masalah konektivitas antar layanan

Contoh Percakapan

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

Opsi CLI

OpsiDeskripsi
--urlURL langsung ke Kubeshark Hub
--kubeconfigJalur ke berkas kubeconfig
--allow-destructiveAktifkan operasi mulai/hentikan
--list-toolsDaftar alat yang tersedia dan keluar
--mcp-configCetak JSON konfigurasi Claude Desktop

KFL (Bahasa Filter Kubeshark)

Kueri lalu lintas menggunakan sintaks KFL:

# 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

Registri MCP

Kubeshark dipublikasikan ke Registri MCP secara otomatis pada setiap rilis.

server.json di direktori ini adalah berkas referensi. Metadata registri aktual (versi, hash SHA256) dibuat secara otomatis selama alur kerja rilis. Lihat .github/workflows/release.yml untuk detailnya.

Tautan

Lisensi

Apache-2.0