RAD Security MCP Server

oficial

Interaja com a plataforma RAD Security, que oferece insights de segurança baseados em IA para ambientes Kubernetes e em nuvem.

Documentação

Servidor MCP RAD Security

npm version

Um servidor Model Context Protocol (MCP) para RAD Security, fornecendo insights de segurança com tecnologia de IA para ambientes Kubernetes e de nuvem.

RAD Security MCP server

Instalação

npm install @rad-security/mcp-server

Uso

Pré-requisitos

  • Node.js 20.x ou superior

Variáveis de Ambiente

As seguintes variáveis de ambiente são necessárias para usar o servidor MCP com o Rad Security:

RAD_SECURITY_ACCESS_KEY_ID="your_access_key"
RAD_SECURITY_SECRET_KEY="your_secret_key"
RAD_SECURITY_ACCOUNT_ID="your_account_id"

Variáveis de ambiente opcionais:

RAD_SECURITY_TENANT_ID="your_tenant_id"  # Optional: If not provided, will be fetched automatically from the account

Opcional: Filtrar Toolkits

Você pode controlar quais toolkits são expostos pelo servidor MCP usando estas variáveis de ambiente:

  • INCLUDE_TOOLKITS: Lista separada por vírgulas de toolkits a incluir (somente estes serão habilitados)
  • EXCLUDE_TOOLKITS: Lista separada por vírgulas de toolkits a excluir (todos, exceto estes, serão habilitados)

Toolkits disponíveis:

  • containers - Operações de inventário de contêineres
  • clusters - Operações de cluster Kubernetes
  • identities - Operações de gerenciamento de identidade
  • audit - Operações de log de auditoria
  • images - Operações de imagem de contêiner
  • kubeobject - Operações de recursos Kubernetes
  • misconfigs - Detecção de configuração incorreta
  • runtime - Operações de análise de runtime
  • findings - Operações de descobertas de segurança
  • cves - Operações de banco de dados CVE
  • inbox - Operações de itens da caixa de entrada
  • workflows - Operações de execução de fluxo de trabalho
  • knowledge_base - Operações de busca na base de conhecimento
  • radql - Interface de consulta para plataforma de dados rad

Exemplos:

# Only enable workflow toolkit
INCLUDE_TOOLKITS="workflows"

# Enable only containers and images toolkits
INCLUDE_TOOLKITS="containers,images"

# Exclude workflow toolkit (enable all others)
EXCLUDE_TOOLKITS="workflows"

# Exclude runtime toolkit
EXCLUDE_TOOLKITS="runtime"

Nota: Se INCLUDE_TOOLKITS estiver definido, EXCLUDE_TOOLKITS será ignorado.

Operações Sem Autenticação

Você também pode usar algumas operações sem autenticação:

  • Listar CVEs
  • Obter detalhes de um CVE específico
  • Obter os últimos 30 CVEs
  • Listar políticas de configuração incorreta de recursos Kubernetes

No IDE Cursor

É bastante problemático definir variáveis de ambiente no IDE Cursor.

Portanto, você pode usar o seguinte script start.sh para iniciar o servidor.

./start.sh

Por favor, defina as variáveis de ambiente no script start.sh primeiro!

No Claude Desktop

Você pode usar a seguinte configuração para iniciar o servidor no Claude Desktop.

{
  "mcpServers": {
    "rad-security": {
      "command": "npx",
      "args": ["-y", "@rad-security/mcp-server"],
      "env": {
        "RAD_SECURITY_ACCESS_KEY_ID": "<your-access-key-id>",
        "RAD_SECURITY_SECRET_KEY": "<your-secret-key>",
        "RAD_SECURITY_ACCOUNT_ID": "<your-account-id>"
      }
    }
  }
}

Para filtrar toolkits, adicione INCLUDE_TOOLKITS ou EXCLUDE_TOOLKITS ao env:

{
  "mcpServers": {
    "rad-security": {
      "command": "npx",
      "args": ["-y", "@rad-security/mcp-server"],
      "env": {
        "RAD_SECURITY_ACCESS_KEY_ID": "<your-access-key-id>",
        "RAD_SECURITY_SECRET_KEY": "<your-secret-key>",
        "RAD_SECURITY_ACCOUNT_ID": "<your-account-id>",
        "EXCLUDE_TOOLKITS": "workflows"
      }
    }
  }

Como um Contêiner Docker - com HTTP Transmissível

docker build -t rad-security/mcp-server .
docker run \
  -e TRANSPORT_TYPE=streamable \
  -e RAD_SECURITY_ACCESS_KEY_ID=your_access_key \
  -e RAD_SECURITY_SECRET_KEY=your_secret_key \
  -e RAD_SECURITY_ACCOUNT_ID=your_account_id \
  -p 3000:3000 \
  rad-security/mcp-server

Com filtros de toolkit:

docker run \
  -e TRANSPORT_TYPE=streamable \
  -e RAD_SECURITY_ACCESS_KEY_ID=your_access_key \
  -e RAD_SECURITY_SECRET_KEY=your_secret_key \
  -e RAD_SECURITY_ACCOUNT_ID=your_account_id \
  -e INCLUDE_TOOLKITS=workflows,containers \
  -p 3000:3000 \
  rad-security/mcp-server

Como um Contêiner Docker - com SSE (obsoleto)

Nota: O transporte SSE agora está obsoleto em favor do HTTP Transmissível. Ainda é suportado para compatibilidade com versões anteriores, mas é recomendado usar HTTP Transmissível em vez disso.

docker build -t rad-security/mcp-server .
docker run \
  -e TRANSPORT_TYPE=sse \
  -e RAD_SECURITY_ACCESS_KEY_ID=your_access_key \
  -e RAD_SECURITY_SECRET_KEY=your_secret_key \
  -e RAD_SECURITY_ACCOUNT_ID=your_account_id \
  -p 3000:3000 \
  rad-security/mcp-server

Funcionalidades

  • Inventário de Conta

    • Listar clusters e seus detalhes*
  • Inventário de Contêineres

    • Listar contêineres e seus detalhes*
  • Descobertas de Segurança

    • Listar e analisar descobertas de segurança*
  • Segurança de Runtime

    • Obter árvores de processos de contêineres em execução*
    • Obter linhas de base de runtime de contêineres em execução*
    • Analisar comportamento de processos de contêineres em execução*
  • Segurança de Rede

    • Monitorar requisições HTTP*
    • Rastrear conexões de rede*
    • Analisar padrões de rede*
  • Identidade e Acesso

    • Listar identidades*
    • Obter detalhes de identidade*
  • Auditoria

    • Listar quem acessou via shell um pod*
  • Segurança na Nuvem

    • Listar e monitorar recursos de nuvem*
    • Obter detalhes de recursos e status de conformidade*
  • Imagens

    • Obter SBOMs*
    • Listar imagens e suas vulnerabilidades*
    • Obter imagens mais vulneráveis*
  • Objetos Kubernetes

    • Obter detalhes de um recurso Kubernetes específico*
    • Listar recursos Kubernetes*
    • Listar políticas de configuração incorreta de recursos Kubernetes*
  • CVEs

    • Listar CVEs
    • Obter detalhes de um CVE específico
    • Obter os últimos 30 CVEs
  • RadQL (Consultas Avançadas)

    • Listar tipos de dados disponíveis para consulta (contêineres, descobertas, kubernetes_resources, etc.)*
    • Obter esquema/metadados para tipos de dados específicos*
    • Listar valores possíveis para campos de filtro*
    • Executar consultas RadQL com filtragem, busca e agregações*
    • Construir consultas programaticamente a partir de condições estruturadas*
    • Executar múltiplas consultas em paralelo*

* - requer autenticação e conta no Rad Security.

Desenvolvimento

# Install dependencies
npm install

# Run type checking
npm run type-check

# Run linter
npm run lint

# Build
npm run build

Licença

Licença MIT - veja o arquivo LICENSE para detalhes