Kubeshark MCP Server

oficial

Acesso MCP ao tráfego de rede L4 e L7 em todo o cluster, pacotes, APIs e payloads completos.

Documentação

Servidor MCP Kubeshark

O servidor MCP (Model Context Protocol) do Kubeshark permite que assistentes de IA como Claude Desktop, Cursor e outros clientes compatíveis com MCP consultem tráfego de rede Kubernetes em tempo real.

Habilidades de IA

O MCP fornece as ferramentas — as habilidades de IA ensinam os agentes a usá-las. As habilidades transformam capacidades brutas do MCP em fluxos de trabalho específicos de domínio, como análise de causa raiz, filtragem de tráfego e investigação forense. Consulte o README de habilidades para instalação e uso.

HabilidadeDescrição
network-rcaAnálise de Causa Raiz de Rede — investigação retrospectiva baseada em snapshot com rotas PCAP e de dissecação
kflEspecialista em filtros KFL2 — escreva, depure e otimize consultas de tráfego em todos os protocolos suportados

Funcionalidades

  • Análise de Tráfego de API L7: Consultar transações HTTP, gRPC, Redis, Kafka, DNS
  • Fluxos de Rede L4: Visualizar fluxos TCP/UDP com estatísticas de tráfego
  • Gerenciamento de Cluster: Iniciar/parar implantações do Kubeshark (com controles de segurança)
  • Snapshots PCAP: Criar e exportar capturas de rede
  • Prompts Integrados: Prompts pré-configurados para tarefas comuns de análise

Instalação

1. Instalar a CLI do Kubeshark

# macOS
brew install kubeshark

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

# Windows (PowerShell)
choco install kubeshark

Ou baixe de GitHub Releases.

2. Configurar o Claude Desktop

Adicione à configuração do Claude Desktop:

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

Padrão (requer acesso kubectl / contexto kube)

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

Com um caminho de kubeconfig explícito:

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

Modo URL (sem necessidade de kubectl)

Use quando a máquina não tiver acesso kubectl ou um contexto kube. Conecte-se diretamente a uma implantação existente do Kubeshark:

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

Com Operações Destrutivas

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

3. Gerar Configuração

Use a CLI para gerar a configuração:

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

Ferramentas Disponíveis

Análise de Tráfego (Todos os Modos)

FerramentaDescrição
list_workloadsListar pods, serviços, namespaces com tráfego observado
list_api_callsConsultar transações de API L7 com filtragem KFL
get_api_callObter informações detalhadas sobre uma chamada de API específica
get_api_statsObter estatísticas agregadas de API
list_l4_flowsListar fluxos de rede L4 (TCP/UDP)
get_l4_flow_summaryObter resumo de conectividade L4
list_snapshotsListar todos os snapshots PCAP
create_snapshotCriar um novo snapshot PCAP
get_dissection_statusVerificar status de análise de protocolo L7
enable_dissectionHabilitar dissecação de protocolo L7
disable_dissectionDesabilitar dissecação de protocolo L7

Gerenciamento de Cluster (Apenas Modo Proxy)

FerramentaDescriçãoRequer
check_kubeshark_statusVerificar se o Kubeshark está em execução-
start_kubesharkImplantar Kubeshark no cluster--allow-destructive
stop_kubesharkRemover Kubeshark do cluster--allow-destructive

Prompts Disponíveis

PromptDescrição
analyze_trafficAnalisar padrões de tráfego de API e identificar problemas
find_errorsEncontrar e resumir erros e falhas de API
trace_requestRastrear o caminho de uma requisição através de microsserviços
show_topologyMostrar topologia de comunicação entre serviços
latency_analysisAnalisar padrões de latência e identificar endpoints lentos
security_auditAuditar tráfego em busca de preocupações de segurança
compare_trafficComparar padrões de tráfego entre períodos de tempo
debug_connectionDepurar problemas de conectividade entre serviços

Exemplos de Conversas

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

Opções da CLI

OpçãoDescrição
--urlURL direta para o Kubeshark Hub
--kubeconfigCaminho para o arquivo kubeconfig
--allow-destructiveHabilitar operações de iniciar/parar
--list-toolsListar ferramentas disponíveis e sair
--mcp-configImprimir JSON de configuração do Claude Desktop

KFL (Kubeshark Filter Language)

Consultar tráfego usando sintaxe 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

O Kubeshark é publicado no Registro MCP automaticamente a cada lançamento.

O server.json neste diretório é um arquivo de referência. Os metadados reais do registro (versão, hashes SHA256) são gerados automaticamente durante o fluxo de trabalho de lançamento. Consulte .github/workflows/release.yml para detalhes.

Links

Licença

Apache-2.0