Kubeshark MCP Server
resmiAkses 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.
| Keterampilan | Deskripsi |
|---|---|
network-rca | Analisis Akar Penyebab Jaringan — investigasi retrospektif berbasis snapshot dengan rute PCAP dan pembedahan |
kfl | Ahli 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)
| Alat | Deskripsi |
|---|---|
list_workloads | Daftar pod, layanan, namespace dengan lalu lintas yang teramati |
list_api_calls | Kueri transaksi API L7 dengan penyaringan KFL |
get_api_call | Dapatkan info detail tentang panggilan API tertentu |
get_api_stats | Dapatkan statistik API teragregasi |
list_l4_flows | Daftar aliran jaringan L4 (TCP/UDP) |
get_l4_flow_summary | Dapatkan ringkasan konektivitas L4 |
list_snapshots | Daftar semua snapshot PCAP |
create_snapshot | Buat snapshot PCAP baru |
get_dissection_status | Periksa status parsing protokol L7 |
enable_dissection | Aktifkan pembedahan protokol L7 |
disable_dissection | Nonaktifkan pembedahan protokol L7 |
Manajemen Klaster (Hanya Mode Proksi)
| Alat | Deskripsi | Memerlukan |
|---|---|---|
check_kubeshark_status | Periksa apakah Kubeshark sedang berjalan | - |
start_kubeshark | Deploy Kubeshark ke klaster | --allow-destructive |
stop_kubeshark | Hapus Kubeshark dari klaster | --allow-destructive |
Prompt yang Tersedia
| Prompt | Deskripsi |
|---|---|
analyze_traffic | Analisis pola lalu lintas API dan identifikasi masalah |
find_errors | Temukan dan ringkas kesalahan dan kegagalan API |
trace_request | Lacak jalur permintaan melalui layanan mikro |
show_topology | Tampilkan topologi komunikasi layanan |
latency_analysis | Analisis pola latensi dan identifikasi endpoint lambat |
security_audit | Audit lalu lintas untuk masalah keamanan |
compare_traffic | Bandingkan pola lalu lintas antar periode waktu |
debug_connection | Debug 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
| Opsi | Deskripsi |
|---|---|
--url | URL langsung ke Kubeshark Hub |
--kubeconfig | Jalur ke berkas kubeconfig |
--allow-destructive | Aktifkan operasi mulai/hentikan |
--list-tools | Daftar alat yang tersedia dan keluar |
--mcp-config | Cetak 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