RAD Security MCP Server
officielInteragissez avec la plateforme RAD Security qui fournit des insights de sécurité basés sur l'IA pour les environnements Kubernetes et cloud.
Documentation
Serveur MCP RAD Security
Un serveur Model Context Protocol (MCP) pour RAD Security, fournissant des informations de sécurité alimentées par l'IA pour les environnements Kubernetes et cloud.
Installation
npm install @rad-security/mcp-server
Utilisation
Prérequis
- Node.js 20.x ou supérieur
Variables d'environnement
Les variables d'environnement suivantes sont requises pour utiliser le serveur MCP avec Rad Security :
RAD_SECURITY_ACCESS_KEY_ID="your_access_key"
RAD_SECURITY_SECRET_KEY="your_secret_key"
RAD_SECURITY_ACCOUNT_ID="your_account_id"
Variables d'environnement optionnelles :
RAD_SECURITY_TENANT_ID="your_tenant_id" # Optional: If not provided, will be fetched automatically from the account
Optionnel : Filtrer les toolkits
Vous pouvez contrôler quels toolkits sont exposés par le serveur MCP en utilisant ces variables d'environnement :
INCLUDE_TOOLKITS: Liste séparée par des virgules des toolkits à inclure (seuls ceux-ci seront activés)EXCLUDE_TOOLKITS: Liste séparée par des virgules des toolkits à exclure (tous sauf ceux-ci seront activés)
Toolkits disponibles :
containers- Opérations d'inventaire des conteneursclusters- Opérations sur les clusters Kubernetesidentities- Opérations de gestion des identitésaudit- Opérations sur les journaux d'auditimages- Opérations sur les images de conteneurskubeobject- Opérations sur les ressources Kubernetesmisconfigs- Détection des mauvaises configurationsruntime- Opérations d'analyse d'exécutionfindings- Opérations sur les résultats de sécuritécves- Opérations sur la base de données CVEinbox- Opérations sur les éléments de la boîte de réceptionworkflows- Opérations d'exécution de workflowsknowledge_base- Opérations de recherche dans la base de connaissancesradql- Interface de requête pour la plateforme de données rad
Exemples :
# 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"
Remarque : Si INCLUDE_TOOLKITS est défini, EXCLUDE_TOOLKITS est ignoré.
Opérations sans authentification
Vous pouvez également utiliser quelques opérations sans authentification :
- Lister les CVE
- Obtenir les détails d'un CVE spécifique
- Obtenir les 30 derniers CVE
- Lister les politiques de mauvaise configuration des ressources Kubernetes
Dans l'IDE Cursor
Il est assez problématique de définir des variables d'environnement dans l'IDE Cursor.
Vous pouvez donc utiliser le script start.sh suivant pour démarrer le serveur.
./start.sh
Veuillez d'abord définir les variables d'environnement dans le script start.sh !
Dans Claude Desktop
Vous pouvez utiliser la configuration suivante pour démarrer le serveur dans 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>"
}
}
}
}
Pour filtrer les toolkits, ajoutez INCLUDE_TOOLKITS ou EXCLUDE_TOOLKITS à l'environnement :
{
"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"
}
}
}
En tant que conteneur Docker - avec HTTP streamable
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
Avec des filtres de toolkits :
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
En tant que conteneur Docker - avec SSE (obsolète)
Remarque : Le transport SSE est désormais obsolète au profit du HTTP streamable. Il est toujours pris en charge pour la rétrocompatibilité, mais il est recommandé d'utiliser le HTTP streamable à la place.
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
Fonctionnalités
-
Inventaire du compte
- Lister les clusters et leurs détails*
-
Inventaire des conteneurs
- Lister les conteneurs et leurs détails*
-
Résultats de sécurité
- Lister et analyser les résultats de sécurité*
-
Sécurité d'exécution
- Obtenir les arborescences de processus des conteneurs en cours d'exécution*
- Obtenir les lignes de base d'exécution des conteneurs en cours d'exécution*
- Analyser le comportement des processus des conteneurs en cours d'exécution*
-
Sécurité réseau
- Surveiller les requêtes HTTP*
- Suivre les connexions réseau*
- Analyser les modèles réseau*
-
Identité et accès
- Lister les identités*
- Obtenir les détails des identités*
-
Audit
- Lister qui a ouvert un shell dans un pod*
-
Sécurité cloud
- Lister et surveiller les ressources cloud*
- Obtenir les détails des ressources et le statut de conformité*
-
Images
- Obtenir les SBOMs*
- Lister les images et leurs vulnérabilités*
- Obtenir les images les plus vulnérables*
-
Objets Kubernetes
- Obtenir les détails d'une ressource Kubernetes spécifique*
- Lister les ressources Kubernetes*
- Lister les politiques de mauvaise configuration des ressources Kubernetes*
-
CVE
- Lister les CVE
- Obtenir les détails d'un CVE spécifique
- Obtenir les 30 derniers CVE
-
RadQL (Requêtes avancées)
- Lister les types de données disponibles pour les requêtes (conteneurs, résultats, kubernetes_resources, etc.)*
- Obtenir le schéma/les métadonnées pour des types de données spécifiques*
- Lister les valeurs possibles pour les champs de filtre*
- Exécuter des requêtes RadQL avec filtrage, recherche et agrégations*
- Construire des requêtes programmatiquement à partir de conditions structurées*
- Exécuter plusieurs requêtes en parallèle*
* - nécessite une authentification et un compte dans Rad Security.
Développement
# Install dependencies
npm install
# Run type checking
npm run type-check
# Run linter
npm run lint
# Build
npm run build
Licence
Licence MIT - voir le fichier LICENSE pour plus de détails