Kubeshark MCP Server

oficial

Acceso a nivel de clúster al tráfico de red L4 y L7, paquetes, APIs y cargas completas.

Documentación

Servidor MCP de Kubeshark

Kubeshark MCP (Protocolo de Contexto de Modelo) permite que asistentes de IA como Claude Desktop, Cursor y otros clientes compatibles con MCP consulten tráfico de red de Kubernetes en tiempo real.

Habilidades de IA

El MCP proporciona las herramientas — las habilidades de IA enseñan a los agentes cómo usarlas. Las habilidades convierten las capacidades brutas del MCP en flujos de trabajo específicos del dominio, como análisis de causa raíz, filtrado de tráfico e investigación forense. Consulte el README de habilidades para instalación y uso.

HabilidadDescripción
network-rcaAnálisis de Causa Raíz de Red — investigación retrospectiva basada en instantáneas con rutas de PCAP y disección
kflExperto en filtros KFL2 — escribir, depurar y optimizar consultas de tráfico en todos los protocolos soportados

Características

  • Análisis de Tráfico de API L7: Consultar transacciones HTTP, gRPC, Redis, Kafka, DNS
  • Flujos de Red L4: Ver flujos TCP/UDP con estadísticas de tráfico
  • Gestión de Clúster: Iniciar/detener despliegues de Kubeshark (con controles de seguridad)
  • Instantáneas PCAP: Crear y exportar capturas de red
  • Prompts Integrados: Prompts preconfigurados para tareas de análisis comunes

Instalación

1. Instalar la CLI de Kubeshark

# macOS
brew install kubeshark

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

# Windows (PowerShell)
choco install kubeshark

O descargar desde GitHub Releases.

2. Configurar Claude Desktop

Añadir a su configuración de Claude Desktop:

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

Predeterminado (requiere acceso a kubectl / contexto de kube)

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

Con una ruta de kubeconfig explícita:

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

Modo URL (no requiere kubectl)

Úselo cuando la máquina no tenga acceso a kubectl o un contexto de kube. Conéctese directamente a un despliegue existente de Kubeshark:

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

Con Operaciones Destructivas

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

3. Generar Configuración

Use la CLI para generar la configuración:

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

Herramientas Disponibles

Análisis de Tráfico (Todos los Modos)

HerramientaDescripción
list_workloadsListar pods, servicios, namespaces con tráfico observado
list_api_callsConsultar transacciones de API L7 con filtrado KFL
get_api_callObtener información detallada sobre una llamada API específica
get_api_statsObtener estadísticas agregadas de API
list_l4_flowsListar flujos de red L4 (TCP/UDP)
get_l4_flow_summaryObtener resumen de conectividad L4
list_snapshotsListar todas las instantáneas PCAP
create_snapshotCrear una nueva instantánea PCAP
get_dissection_statusVerificar el estado de análisis de protocolo L7
enable_dissectionHabilitar la disección de protocolo L7
disable_dissectionDeshabilitar la disección de protocolo L7

Gestión de Clúster (Solo Modo Proxy)

HerramientaDescripciónRequiere
check_kubeshark_statusVerificar si Kubeshark está en ejecución-
start_kubesharkDesplegar Kubeshark en el clúster--allow-destructive
stop_kubesharkEliminar Kubeshark del clúster--allow-destructive

Prompts Disponibles

PromptDescripción
analyze_trafficAnalizar patrones de tráfico de API e identificar problemas
find_errorsEncontrar y resumir errores y fallos de API
trace_requestRastrear la ruta de una solicitud a través de microservicios
show_topologyMostrar la topología de comunicación entre servicios
latency_analysisAnalizar patrones de latencia e identificar endpoints lentos
security_auditAuditar el tráfico en busca de problemas de seguridad
compare_trafficComparar patrones de tráfico entre períodos de tiempo
debug_connectionDepurar problemas de conectividad entre servicios

Conversaciones de Ejemplo

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

Opciones de CLI

OpciónDescripción
--urlURL directa al Hub de Kubeshark
--kubeconfigRuta al archivo kubeconfig
--allow-destructiveHabilitar operaciones de inicio/parada
--list-toolsListar herramientas disponibles y salir
--mcp-configImprimir JSON de configuración de Claude Desktop

KFL (Lenguaje de Filtrado de Kubeshark)

Consultar tráfico usando sintaxis 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

Registro MCP

Kubeshark se publica en el Registro MCP automáticamente en cada lanzamiento.

El server.json en este directorio es un archivo de referencia. Los metadatos reales del registro (versión, hashes SHA256) se generan automáticamente durante el flujo de trabajo de lanzamiento. Consulte .github/workflows/release.yml para más detalles.

Enlaces

Licencia

Apache-2.0