Référence de configuration de l'outil de serveur Amazon EKS MCP - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Référence de configuration de l'outil de serveur Amazon EKS MCP

Ce guide présente toutes les configurations disponibles pour l'outil mcp-proxy-for-awscôté client qui vous permet de vous connecter au serveur MCP Amazon EKS entièrement géré depuis votre IDE.

Note

Le serveur Amazon EKS MCP est en version préliminaire pour Amazon EKS et est sujet à modification.

Exemple

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.us-west-2.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "us-east-1", "--read-only" ] } } }

Autorisations IAM

Le rôle utilisé pour se connecter au serveur MCP nécessite des eks-mcp:InvokeMcpautorisations pour l'initialisation et la récupération d'informations sur les outils disponibles. eks-mcp:CallReadOnlyToolest requis pour l'utilisation des outils en lecture seule et eks-mcp:CallPrivilegedToolest requis pour l'utilisation des outils d'accès complet (écriture).

Variables d’environnement

AWS_PROFILE(facultatif) nom du profil AWS d'identification à utiliser ; peut être remplacé par l'argument de --profile ligne de commande.

  • Exemple : export AWS_PROFILE=production

AWS_REGION AWS région (optionnelle) pour la signature Sigv4 ; la valeur par défaut est us-west-2 si elle n'est pas définie.

  • Exemple : export AWS_REGION=us-east-1

Arguments

URL du point de terminaison MCP SigV4 (obligatoire) URL du point de terminaison MCP auquel se connecter.

--servicenom de AWS service (facultatif) pour la signature SigV4 ; détecté automatiquement à partir du nom d'hôte du point de terminaison s'il n'est pas fourni.

  • Exemple : --service eks-mcp

--profileprofil AWS d'identification (facultatif) à utiliser. La valeur par défaut est la variable d'AWS_PROFILEenvironnement si elle n'est pas spécifiée.

  • Exemple : --profile production

--region AWS région à utiliser. Utilise la variable d'AWS_REGIONenvironnement si elle n'est pas définie, la valeur par défaut estus-east-1.

  • Exemple : --region us-west-2

--read-only(facultatif) Désactivez les outils qui peuvent nécessiter des autorisations d'écriture (les outils qui NE nécessitent PAS d'autorisations d'écriture sont annotés avec readOnlyHint =true). Par défaut, tous les outils sont activés.

  • Exemple : --read-only

Pour plus d'options de configuration, consultez la section Paramètres de configuration.

Outils

Le serveur expose les outils MCP suivants.

Outils en lecture seule

Cette section décrit les outils en lecture seule disponibles pour le serveur EKS MCP. Notez que toutes les opérations de l'API Kubernetes en lecture seule peuvent accéder aux deux :

search_eks_documentation Consultez la documentation d'EKS pour obtenir up-to-date des informations et des conseils. Cet outil permet d'accéder à la documentation EKS la plus récente, notamment aux nouvelles fonctionnalités et aux améliorations récentes dont les agents ne sont peut-être pas au courant.

Paramètres :

  • requête (obligatoire) : votre question ou requête de recherche spécifique concernant la documentation, les fonctionnalités ou les meilleures pratiques d'EKS.

  • limite (facultatif) : nombre maximum de résultats de documentation à renvoyer (1 à 10). Valeur par défaut : 5.

search_eks_troubleshooting_guide Recherche dans le guide de dépannage EKS des informations de dépannage sur la base d'une requête. Il aide à identifier les problèmes courants et fournit step-by-step des solutions.

Paramètres :

  • requête (obligatoire) : votre question ou description du problème spécifique concernant le dépannage d'EKS.

describe_eks_resource Récupère des informations détaillées sur une ressource de cluster EKS spécifique, notamment la configuration, l'état et les métadonnées.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS (obligatoire pour les ressources étendues au cluster).

  • resource_type (obligatoire) : type de ressource EKS à décrire. Valeurs valides :

  • accessentry (nécessite cluster_name et resource_name comme PrincipalArn)

  • addon (nécessite cluster_name et resource_name comme nom d'addon)

  • cluster (nécessite cluster_name), nodegroup (nécessite cluster_name et resource_name comme nom de groupe de nœuds).

  • resource_name (facultatif) : nom de la ressource spécifique à décrire (obligatoire pour la plupart des types de ressources).

list_eks_resources Répertorie les ressources EKS d'un type spécifique, renvoyant un résumé de toutes les ressources du type spécifié qui sont accessibles.

Paramètres :

  • resource_type (obligatoire) : type de ressource EKS à répertorier. Valeurs valides :

  • accessentry (nécessite cluster_name)

  • addon (nécessite cluster_name)

  • cluster (aucun paramètre supplémentaire requis)

  • groupe de nœuds (nécessite cluster_name).

  • cluster_name (facultatif) : nom du cluster EKS (obligatoire pour les ressources étendues au cluster).

get_eks_insights Récupère des informations sur le cluster EKS et des recommandations d'optimisation. Fournit des informations exploitables pour la sécurité, les performances et l'optimisation des coûts sur la base des AWS meilleures pratiques et de l'analyse des clusters.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS.

  • catégorie (facultatif) : Catégorie facultative par laquelle filtrer les informations (par exemple, « MISCONFIGURATION » ou « UPGRADE_READINESS »).

  • insight_id (facultatif) : ID facultatif d'un aperçu spécifique pour lequel obtenir des informations détaillées.

  • next_token (facultatif) : jeton facultatif pour la pagination afin d'obtenir le prochain ensemble de résultats.

get_eks_vpc_config Récupère la configuration VPC d'un cluster EKS, y compris les sous-réseaux, les tables de routage et la connectivité réseau.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS pour lequel vous souhaitez obtenir la configuration VPC.

  • vpc_id (facultatif) : ID du VPC spécifique à interroger (facultatif, il utilisera le VPC du cluster s'il n'est pas spécifié).

get_k8s_events Récupère les événements Kubernetes liés à des ressources spécifiques pour le dépannage et la surveillance.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS où se trouve la ressource.

  • type (obligatoire) : type de l'objet impliqué (par exemple, « Pod », « Deployment », « Service »). Doit correspondre exactement au type de ressource.

  • name (obligatoire) : nom de l'objet impliqué pour lequel vous souhaitez obtenir des événements.

  • namespace (facultatif) : espace de noms de l'objet impliqué. Nécessaire pour les ressources avec espace de noms (comme les pods, les déploiements). Non requis pour les ressources étendues au cluster (comme les nœuds,). PersistentVolumes

get_pod_logs Récupère les journaux des modules d'un cluster EKS avec des options de filtrage.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS sur lequel le pod est exécuté.

  • espace de noms (obligatoire) : espace de noms Kubernetes où se trouve le pod.

  • pod_name (obligatoire) : nom du pod à partir duquel récupérer les journaux.

  • container_name (facultatif) : nom du conteneur spécifique à partir duquel obtenir les journaux. Obligatoire uniquement si le pod contient plusieurs contenants.

  • limit_bytes (facultatif) : nombre maximum d'octets à renvoyer. Par défaut : 10 Ko (10 240 octets).

  • previous (facultatif) : renvoie les journaux des conteneurs précédemment fermés (la valeur par défaut est false). Utile pour obtenir les journaux des pods qui redémarrent.

  • since_seconds (facultatif) : renvoie uniquement les journaux datant de plus de ce nombre de secondes. Utile pour obtenir des journaux récents sans récupérer l'historique complet.

  • tail_lines (facultatif) : nombre de lignes à renvoyer depuis la fin des journaux. Par défaut : 100.

list_api_versions Répertorie toutes les versions d'API disponibles dans le cluster Kubernetes spécifié.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS.

list_k8s_resources Répertorie les ressources Kubernetes d'un type spécifique dans un cluster EKS.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS où se trouvent les ressources.

  • kind (obligatoire) : type de ressources Kubernetes à répertorier (par exemple, « Pod », « Service », « Deployment »). Utilisez l'list_api_versionsoutil pour trouver les types de ressources disponibles.

  • api_version (obligatoire) : version API des ressources Kubernetes (par exemple, « v1 », « 1 »). apps/v1', 'networking.k8s.io/v Utilisez l'list_api_versionsoutil pour trouver les versions d'API disponibles.

  • field_selector (facultatif) : sélecteur de champs pour filtrer les ressources (par exemple, 'metadata.name=my-pod, status.phase=Running'). Utilise la même syntaxe que l'indicateur --field-selector de kubectl.

  • label_selector (facultatif) : sélecteur d'étiquettes pour filtrer les ressources (par exemple, 'app=nginx, tier=frontend'). Utilise la même syntaxe que le drapeau de kubectl. --selector

  • namespace (facultatif) : espace de noms des ressources Kubernetes à répertorier. Si elles ne sont pas fournies, les ressources seront répertoriées dans tous les espaces de noms (pour les ressources avec espace de noms).

read_k8s_resource Récupère des informations détaillées sur une ressource Kubernetes spécifique dans un cluster EKS.

Paramètres :

  • api_version (obligatoire) : version de l'API de la ressource Kubernetes (par exemple, « v1", « 1"). apps/v1", "networking.k8s.io/v

  • cluster_name (obligatoire) : nom du cluster EKS où se trouve la ressource.

  • kind (obligatoire) : type de ressource Kubernetes (par exemple, « Pod », « Service », « Deployment »).

  • name (obligatoire) : nom de la ressource Kubernetes à lire.

  • namespace (facultatif) : espace de noms de la ressource Kubernetes. Obligatoire pour les ressources avec espace de noms. Non requis pour les ressources étendues au cluster (comme les nœuds,). PersistentVolumes

generate_app_manifest Génère des manifestes de déploiement et de service Kubernetes standardisés pour les applications conteneurisées.

Paramètres :

  • app_name (obligatoire) : nom de l'application. Utilisé pour les noms de déploiement et de service, ainsi que pour les étiquettes.

  • image_uri (obligatoire) : URI de l'image ECR complète avec balise (par exemple, 123456789012.dkr.ecr.region.amazonaws.com/repo:tag). Doit inclure le chemin complet du référentiel et le tag.

  • load_balancer_scheme (facultatif) : schéma d'équilibreur de charge. AWS Valeurs valides :

  • « interne » (VPC privé uniquement)

  • « connecté à Internet » (accès public).

  • Par défaut : « interne ».

  • cpu (facultatif) : demande de processeur pour chaque conteneur (par exemple, « 100 m » pour 0,1 cœur de processeur, « 500 m » pour un demi-cœur). Par défaut : « 100 m ».

  • mémoire (facultatif) : demande de mémoire pour chaque conteneur (par exemple, « 128 Mi » pour 128 Mo, « 1 Gi » pour 1 GiB). Par défaut : « 128 Mi »

  • espace de noms (facultatif) : espace de noms Kubernetes dans lequel déployer l'application. Par défaut : « par défaut ».

  • port (facultatif) : port du conteneur sur lequel l'application écoute. Par défaut: 80

  • répliques (facultatif) : nombre de répliques à déployer. Par défaut: 2

get_cloudwatch_logs Interroge les journaux avec filtrage basé sur CloudWatch les paramètres d'entrée et prend en charge les groupes de journaux standard utilisés pour l'observabilité du cluster EKS.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS où se trouve la ressource. Utilisé pour construire le nom du groupe de CloudWatch journaux.

  • resource_type (obligatoire) : type de ressource à rechercher dans les journaux. Valeurs valides : +"pod », « node », « container », « cluster ». Cela détermine la manière dont les journaux sont filtrés.

  • log_type (obligatoire) : type de journal à interroger. Valeurs valides :

  • « application » : Container/application journaux

  • « host » : journaux système au niveau du nœud

  • « performance » : journaux des indicateurs de performance

  • « plan de contrôle » : journaux du plan de contrôle EKS

  • your-log-group-name« » : Fournissez directement un nom de groupe de CloudWatch journaux personnalisé.

  • resource_name (facultatif) : nom de la ressource à rechercher dans les messages du journal (par exemple, nom du pod, nom du nœud, nom du conteneur). Utilisé pour filtrer les journaux pour une ressource spécifique.

  • minutes (facultatif) : nombre de minutes nécessaires pour consulter les journaux. Par défaut : 15. Ignoré si start_time est fourni. Utilisez des valeurs plus petites pour les numéros récents, des valeurs plus élevées pour l'analyse historique.

  • start_time (facultatif) : heure de début au format ISO (par exemple, « 2023-01-01T 00:00:00 Z »). S'il est fourni, remplace le paramètre minutes.

  • end_time (facultatif) : heure de fin au format ISO (par exemple, « 2023-01-01T 01:00:00 Z »). Si ce n'est pas le cas, la valeur par défaut est l'heure actuelle.

  • champs (facultatif) : champs personnalisés à inclure dans les résultats de la requête (par défaut, « @timestamp, @message »). Utilisez la syntaxe des champs CloudWatch Logs Insights.

  • filter_pattern (facultatif) : modèle de filtre CloudWatch Logs supplémentaire à appliquer. Utilise la syntaxe de CloudWatch Logs Insights (par exemple, « ERROR », « field=value »).

  • limite (facultatif) : nombre maximum d'entrées de journal à renvoyer. Utilisez des valeurs inférieures (10 à 50) pour des requêtes plus rapides, des valeurs plus élevées (100 à 1 000) pour des résultats plus complets. Des valeurs élevées peuvent avoir un impact sur les performances.

get_cloudwatch_metrics Récupère CloudWatch les métriques et les points de données pour la surveillance du cluster EKS et l'analyse des performances. Gère les métriques de Container Insights, les métriques personnalisées et les périodes et dimensions configurables.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS pour lequel obtenir des métriques.

  • dimensions (obligatoire) : dimensions à utiliser pour la requête CloudWatch métrique sous forme de chaîne JSON. Doit inclure les dimensions appropriées pour le type de ressource et la métrique (par exemple, '{» ClusterName « : « my-cluster », "PodName« : « my-pod », « Namespace » : « default"}').

  • metric_name (obligatoire) : nom de la métrique à récupérer. Exemples courants :

  • cpu_usage_total: Utilisation totale du processeur

  • memory_rss: utilisation de la mémoire par Resident Set Size

  • network_rx_bytes: octets réseau reçus

  • network_tx_bytes: octets réseau transmis

  • namespace (obligatoire) : espace de CloudWatch noms dans lequel la métrique est stockée. Valeurs communes :

  • "ContainerInsights": Pour les métriques relatives aux conteneurs

  • "AWS/EC2": EC2 Par exemple, les métriques

  • "AWS/EKS": pour les métriques du plan de contrôle EKS

  • minutes (facultatif) : nombre de minutes nécessaires pour consulter les statistiques. Par défaut : 15. Ignoré si start_time est fourni.

  • start_time (facultatif) : heure de début au format ISO (par exemple, « 2023-01-01T 00:00:00 Z »). S'il est fourni, remplace le paramètre minutes.

  • end_time (facultatif) : heure de fin au format ISO (par exemple, « 2023-01-01T 01:00:00 Z »). Si ce n'est pas le cas, la valeur par défaut est l'heure actuelle.

  • limite (facultatif) : nombre maximum de points de données à renvoyer. Des valeurs plus élevées (100-1000) fournissent des données plus détaillées mais peuvent avoir un impact sur les performances. Par défaut : 50.

  • période (facultatif) : période en secondes pour les points de données métriques. Par défaut : 60 (1 minute). Des valeurs inférieures (1 à 60) fournissent une résolution plus élevée mais peuvent être moins disponibles.

  • stat (facultatif) : statistique à utiliser pour l'agrégation des métriques. Par défaut : « Moyen ». Valeurs valides :

  • Average: valeur moyenne au cours de la période

  • Sum:Valeur totale au cours de la période

  • Maximum: valeur la plus élevée de la période

  • Minimum: valeur la plus faible de la période

  • SampleCount: Nombre d'échantillons au cours de la période.

get_eks_metrics_guidance Obtenez des conseils sur les CloudWatch métriques pour des types de ressources spécifiques dans les clusters EKS. Utile pour l'agent lorsqu'il détermine les dimensions correctes à utiliser avec l'outil get_cloudwatch_metrics.

Paramètres :

  • resource_type (obligatoire) : type de ressource pour laquelle obtenir des métriques (cluster, nœud, pod, espace de noms, service).

get_policies_for_role Récupère toutes les politiques associées à un rôle IAM spécifié, y compris la politique d'acceptation des rôles, les politiques gérées et les politiques intégrées.

Paramètres :

  • role_name (obligatoire) : nom du rôle IAM pour lequel les politiques doivent être obtenues. Le rôle doit exister dans votre AWS compte.

Outils d'accès complet (écriture)

Cette section décrit les outils en lecture seule disponibles pour le serveur EKS MCP. Notez que (à partir d' « aujourd'hui ») toutes les opérations d'écriture de l'API Kubernetes ne peuvent accéder qu'à :

  • Clusters publics (endpointPublicAccess=vrai)

manage_k8s_resource Gère une seule ressource Kubernetes avec des opérations d'écriture (création, mise à jour, correction ou suppression).

Paramètres :

  • opération (obligatoire) : opération à effectuer sur la ressource. Valeurs valides :

  • create:Création d'une nouvelle ressource

  • replace: Remplacer une ressource existante

  • patch: Mettre à jour des champs spécifiques d'une ressource existante

  • delete: Supprimer une ressource existante

  • Remarque : utilisez read_k8s_resource pour lire les ressources et list_k8s_resources pour répertorier plusieurs ressources.

  • cluster_name (obligatoire) : nom du cluster EKS où se trouve ou sera créée la ressource.

  • kind (obligatoire) : type de ressource Kubernetes (par exemple, « Pod », « Service », « Deployment »).

  • api_version (obligatoire) : version de l'API de la ressource Kubernetes (par exemple, « v1", « 1"). apps/v1", "networking.k8s.io/v

  • body (facultatif) : définition de la ressource sous forme de chaîne JSON. Nécessaire pour les opérations de création, de remplacement et de correction. Pour créer et remplacer, il doit s'agir d'une définition de ressource complète. Pour le correctif, celui-ci ne doit contenir que les champs à mettre à jour.

  • name (facultatif) : nom de la ressource Kubernetes. Obligatoire pour toutes les opérations sauf créer (où elle peut être spécifiée dans le corps).

  • namespace (facultatif) : espace de noms de la ressource Kubernetes. Obligatoire pour les ressources avec espace de noms. Non requis pour les ressources étendues au cluster (comme les nœuds,). PersistentVolumes

apply_yaml Applique les manifestes YAML Kubernetes à un cluster EKS.

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS dans lequel les ressources seront créées ou mises à jour.

  • espace de noms (obligatoire) : espace de noms Kubernetes auquel appliquer les ressources. Sera utilisé pour les ressources avec espacement de noms qui ne spécifient pas d'espace de noms.

  • yaml_content (obligatoire) : contenu YAML à appliquer au cluster. Peut contenir plusieurs documents séparés par « ---».

  • force (facultatif) : s'il faut mettre à jour les ressources si elles existent déjà (similaire à kubectl apply). Définissez cette valeur sur false pour créer uniquement de nouvelles ressources.

manage_eks_stacks Gère les piles EKS CloudFormation à l'aide d'opérations de génération de modèles, de déploiement, de description et de suppression de clusters EKS et de leur infrastructure sous-jacente. La création d'un cluster prend généralement 15 à 20 minutes. Pour les opérations de déploiement et de suppression, la pile doit avoir été créée par cet outil (c'est-à-dire étiquetée avec CreatedBy =EksMcpServer).

Paramètres :

  • cluster_name (obligatoire) : nom du cluster EKS (pour les opérations de génération, de déploiement, de description et de suppression). Ce nom sera utilisé pour dériver le nom de la CloudFormation pile et sera intégré aux ressources du cluster.

  • opération (obligatoire) : opération à effectuer. Valeurs valides :

  • generate: générer un CloudFormation modèle

  • deploy: Déployer une CloudFormation pile (nécessitetemplate_content)

  • describe: Describe/read une CloudFormation pile (en lecture seule)

  • delete: Supprimer une CloudFormation pile

  • template_content (facultatif) : contenu du CloudFormation modèle (pour les opérations de déploiement). Il doit s'agir du contenu complet du modèle YAML ou JSON. Supporte à la fois les ressources uniques et le contenu YAML multidocument séparés par « ---».

add_inline_policy Ajoute une nouvelle politique en ligne à un rôle IAM.

Paramètres :

  • autorisations (obligatoire) : autorisations à inclure dans la politique sous forme de chaînes JSON représentant les déclarations de politique IAM. Il peut s'agir d'une chaîne JSON unique ou d'un tableau de chaînes JSON.

  • policy_name (obligatoire) : nom de la politique en ligne à créer. Doit être unique au sein du rôle.

  • role_name (obligatoire) : nom du rôle IAM auquel ajouter la politique. Le rôle doit exister.