Amazon EKS MCP サーバーのツールリファレンス - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Amazon EKS MCP サーバーのツールリファレンス

サーバーは、次の MCP ツールを公開しています。

注記

Amazon EKS MCP サーバー は Amazon EKS のプレビュー版であり、変更される可能性があります。

読み取り専用ツール

このセクションでは、EKS MCP サーバーで使用できる読み取り専用ツールについて説明します。すべての読み取り専用の Kubernetes API オペレーションは、次の両方にアクセスできることに注意してください。

search_eks_documentation

最新の情報とガイダンスを得るには、EKS ドキュメントを検索してください。このツールは、エージェントがまだ把握していない可能性のある新機能や最近の機能強化を含む、最新の EKS ドキュメントへのアクセスを提供します。

パラメータ :

  • query (必須): EKS のドキュメント、機能、またはベストプラクティスに関連する特定の質問または検索クエリ。

  • limit (オプション): 返されるドキュメント結果の最大数 (1~10)。デフォルト: 5

search_eks_troubleshooting_guide

クエリに基づいてトラブルシューティング情報を得るために、EKS トラブルシューティングガイドを検索します。一般的な問題を特定し、ステップバイステップの解決策を提供します。

パラメータ :

  • query (必須): EKS のトラブルシューティングに関連する特定の質問または問題の説明。

describe_eks_resource

設定、ステータス、メタデータなど、特定の EKS クラスターリソースに関する詳細情報を取得します。

パラメータ :

  • cluster_name (必須): EKS クラスターの名前 (クラスタースコープのリソースで必要)。

  • resource_type (必須): 記述する EKS リソースタイプ。有効な値:

  • accessentry (principalArn として cluster_name と resource_name が必要)

  • addon (アドオン名として cluster_name と resource_name が必要)

  • cluster (cluster_name が必要)、nodegroup (nodegroup 名として cluster_name と resource_name が必要)。

  • resource_name (オプション): 記述する特定のリソースの名前 (ほとんどのリソースタイプで必要)。

list_eks_resources

特定のタイプの EKS リソースを一覧表示し、アクセス可能な指定されたタイプのすべてのリソースの概要を返します。

パラメータ :

  • resource_type (必須): 一覧表示する EKS リソースタイプ。有効な値:

  • accessentry (cluster_name が必要)

  • addon (cluster_name が必要)

  • クラスター (追加のパラメータは不要)

  • nodegroup (cluster_name が必要)。

  • cluster_name (オプション): EKS クラスターの名前 (クラスタースコープのリソースで必要)。

get_eks_insights

最適化のための EKS クラスターインサイトと推奨事項を取得します。AWS ベストプラクティスとクラスター分析に基づいて、セキュリティ、パフォーマンス、コスト最適化に関する実用的なインサイトを提供します。

パラメータ :

  • cluster_name (必須): EKS クラスターの名前。

  • category (オプション): インサイトをフィルタリングするためのオプションのカテゴリ (「MISCONFIGURATION」または「UPGRADE_READINESS」など)。

  • insight_id (オプション): 詳細情報を取得するための特定のインサイトのオプション ID。

  • next_token (オプション): 次の結果セットを取得するためのページ分割用のオプションのトークン。

get_eks_vpc_config

サブネット、ルートテーブル、ネットワーク接続など、EKS クラスターの VPC 設定を取得します。

パラメータ :

  • cluster_name (必須): VPC 設定を取得する EKS クラスターの名前。

  • vpc_id (オプション): クエリする特定の VPC の ID (オプション、指定しない場合はクラスター の VPC が使用されます)。

get_k8s_events

トラブルシューティングとモニタリングのために、特定のリソースに関連する Kubernetes イベントを取得します。

パラメータ :

  • cluster_name (必須): リソースが配置されている EKS クラスターの名前。

  • kind (必須): 関係するオブジェクトの種類 (「ポッド」、「デプロイ」、「サービス」など)。リソースの kind と正確に一致する必要があります。

  • name (必須): イベントを取得する対象のオブジェクトの名前。

  • namespace (オプション): 関係するオブジェクトの名前空間。名前空間リソース (ポッド、デプロイなど) で必要です。クラスタースコープのリソース (Nodes、PersistentVolumes など) には必要ありません。

get_pod_logs

フィルタリングオプションを使用して、EKS クラスター内のポッドからログを取得します。

パラメータ :

  • cluster_name (必須): ポッドが実行されている EKS クラスターの名前。

  • 名前空間 (必須): ポッドが配置されている Kubernetes 名前空間。

  • pod_name (必須): ログを取得するポッドの名前。

  • container_name (オプション): ログを取得する特定のコンテナの名前。ポッドに複数のコンテナが含まれている場合にのみ必要です。

  • limit_bytes (オプション): 返す最大バイト数。デフォルト: 10 KB (10240 バイト)。

  • previous (オプション): 以前に終了したコンテナログを返します (デフォルトは false)。再起動中のポッドのログを取得するのに役立ちます。

  • since_seconds (オプション): 指定した秒数より新しいログのみを返します。履歴全体を取得せずに最近のログを取得する場合に便利です。

  • tail_lines (オプション): ログの末尾から返す行数。デフォルト: 100。

list_api_versions

指定された Kubernetes クラスターで使用可能なすべての API バージョンを一覧表示します。

パラメータ :

  • cluster_name (必須): EKS クラスターの名前。

list_k8s_resources

EKS クラスター内の特定の種類の Kubernetes リソースを一覧表示します。

パラメータ :

  • cluster_name (必須): リソースが配置されている EKS クラスターの名前。

  • kind (必須): 一覧表示する Kubernetes リソースの種類 (「ポッド」、「サービス」、「デプロイ」など)。list_api_versions ツールを使用して、使用可能なリソースの種類を検索します。

  • api_version (必須): API バージョンの Kubernetes リソース (「v1」、「apps/v1」、「networking.k8s.io/v1」など)。list_api_versions ツールを使用して、使用可能な API バージョンを検索します。

  • field_selector (オプション): リソースをフィルタリングするフィールドセレクタ (「metadata.name=my-pod,status.phase=Running」など)。kubectl の --field-selector フラグと同じ構文を使用します。

  • label_selector (オプション): リソースをフィルタリングするラベルセレクタ (「app=nginx,tier=frontend」など)。kubectl の --selector フラグと同じ構文を使用します。

  • namespace (オプション): 一覧表示する Kubernetes リソースの名前空間。指定しない場合、(名前空間リソースでは) すべての名前空間にわたってリソースが一覧表示されます。

read_k8s_resource

EKS クラスター内の特定の Kubernetes リソースに関する詳細情報を取得します。

パラメータ :

  • api_version (必須): API バージョンの Kubernetes リソース (「v1」、「apps/v1」、「networking.k8s.io/v1」など)。

  • cluster_name (必須): リソースが配置されている EKS クラスターの名前。

  • kind (必須): Kubernetes リソースの種類 (「ポッド」、「サービス」、「デプロイ」など)。

  • name (必須): 読み取る Kubernetes リソースの名前。

  • namespace (オプション): Kubernetes リソースの名前空間。名前空間リソースに必要です。クラスタースコープのリソース (Nodes、PersistentVolumes など) には必要ありません。

generate_app_manifest

コンテナ化されたアプリケーション向けに、標準化された Kubernetes デプロイとサービスマニフェストを生成します。

パラメータ :

  • app_name (必須): アプリケーションの名前。デプロイ名とサービス名、ラベルに使用されます。

  • image_uri (必須): タグ付きの完全な ECR イメージ URI (123456789012.dkr.ecr.region.amazonaws.com/repo:tag など)。完全なリポジトリパスとタグを含める必要があります。

  • load_balancer_scheme (オプション): AWSロードバランサースキーム。有効な値:

  • 「internal」 (プライベート VPC のみ)

  • 「internet-facing」 (パブリックアクセス)。

  • デフォルト: 「internal」。

  • cpu (オプション): 各コンテナの CPU リクエスト (例: 0.1 CPU コアの場合は「100m」、半コアの場合は「500m」)。デフォルト: 「100m」。

  • memory (オプション): 各コンテナのメモリリクエスト (例: 128 MiB の場合は「128Mi」、1 GiB の場合は「1Gi」)。デフォルト: 「128Mi」

  • namespace (オプション): アプリケーションをデプロイする Kubernetes 名前空間。デフォルト: 「default」。

  • port (オプション): アプリケーションがリッスンするコンテナポート。デフォルト: 80

  • replicas (オプション): デプロイするレプリカの数。デフォルト: 2

get_cloudwatch_logs

入力パラメータに基づいてフィルタリングし、EKS クラスターオブザーバビリティに使用される標準ロググループをサポートする CloudWatch ログをクエリします。

パラメータ :

  • cluster_name (必須): リソースが配置されている EKS クラスターの名前。CloudWatch ロググループ名を構築するために使用します。

  • resource_type (必須): ログを検索するリソースタイプ。有効な値: +「pod」、「node」、「container」、「cluster」。これにより、ログのフィルタリング方法が決まります。

  • log_type (必須): クエリするログタイプ。有効な値:

  • 「application」: コンテナ/アプリケーションログ

  • 「host」: ノードレベルのシステムログ

  • 「performance」: パフォーマンスメトリクスログ

  • 「control-plane」: EKS コントロールプレーンログ

  • 「your-log-group-name」: カスタム CloudWatch ロググループ名を直接指定します。

  • resource_name (オプション): ログメッセージで検索するリソース名 (ポッド名、ノード名、コンテナ名など)。特定のリソースのログをフィルタリングするために使用されます。

  • minutes (オプション): ログをさかのぼる分数。デフォルト: 15。start_time が指定されている場合は無視されます。最近の問題には小さい値を、履歴分析には大きい値を使用します。

  • start_time (オプション): ISO 形式の開始時刻 (例: 「2023-01-01T00:00:00Z」)。指定した場合、minutes パラメータを上書きします。

  • end_time (オプション): ISO 形式の終了時刻 (例: 「2023-01-01T01:00:00Z」)。指定しない場合、デフォルトで現在の時刻になります。

  • fields (オプション): クエリ結果に含めるカスタムフィールド (デフォルトは「@timestamp, @message」)。CloudWatch Logs Insights のフィールド構文を使用します。

  • filter_pattern (オプション): 適用する追加の CloudWatch Logs フィルターパターン。CloudWatch Logs Insights の構文 (「ERROR」、「field=value」など) を使用します。

  • limit (オプション): 返されるログエントリの最大数。より高速なクエリには低い値 (10~50) を、より包括的な結果には高い値 (100~1000) を使用します。値を大きくすると、パフォーマンスに影響する可能性があります。

get_cloudwatch_metrics

EKS クラスターのモニタリングとパフォーマンス分析のために、CloudWatch メトリクスとデータポイントを取得します。Container Insights メトリクス、カスタムメトリクス、および設定可能な期間とディメンションを処理します。

パラメータ :

  • cluster_name (必須): メトリクスを取得する EKS クラスターの名前。

  • dimensions (必須): CloudWatch メトリクスクエリに JSON 文字列として使用するディメンション。リソースタイプとメトリクスに適したディメンションを含める必要があります (例: '{"ClusterName": "my-cluster", "PodName": "my-pod", "Namespace": "default"}')。

  • metric_name (必須): 取得するメトリクス名。一般的な例:

  • cpu_usage_total: 合計 CPU 使用率

  • memory_rss: レジデントセットサイズのメモリ使用量

  • network_rx_bytes: 受信したネットワークバイト数

  • network_tx_bytes: 送信されたネットワークバイト数

  • namespace (必須): メトリクスが保存されている CloudWatch 名前空間。共通の値:

  • "ContainerInsights": コンテナメトリクス用

  • "AWS/EC2": EC2 インスタンスメトリクス用

  • "AWS/EKS": EKS コントロールプレーンメトリクス用

  • minutes (オプション): メトリクスをさかのぼる分数。デフォルト: 15。start_time が指定されている場合は無視されます。

  • start_time (オプション): ISO 形式の開始時刻 (例: 「2023-01-01T00:00:00Z」)。指定した場合、minutes パラメータを上書きします。

  • end_time (オプション): ISO 形式の終了時刻 (例: 「2023-01-01T01:00:00Z」)。指定しない場合、デフォルトで現在の時刻になります。

  • limit (オプション): 返されるデータポイントの最大数。値 (100~1000) が大きいほど、より詳細なデータが得られますが、パフォーマンスに影響する場合があります。デフォルト: 50。

  • period (オプション): メトリクスデータポイントの秒単位の期間。デフォルト: 60 (1 分)。小さい値 (1~60) ほど解像度は高くなりますが、使用できなくなる場合があります。

  • stat (オプション): メトリクスの集計に使用する統計。デフォルト: 「Average」。有効な値:

  • Average: 期間中の平均値

  • Sum: 期間中の合計値

  • Maximum: 期間中の最大値

  • Minimum: 期間中の最小値

  • SampleCount: 期間中のサンプルの数。

get_eks_metrics_guidance

EKS クラスター内の特定のリソースタイプに対する CloudWatch メトリクスのガイダンスを取得します。get_cloudwatch_metrics ツールで使用する適切なディメンションを決定するときに、エージェントに役立ちます。

パラメータ :

  • resource_type (必須): メトリクスを取得するリソースのタイプ (クラスター、ノード、ポッド、名前空間、サービス)。

get_policies_for_role

ロール継承ポリシー、マネージドポリシー、インラインポリシーなど、指定された IAM ロールにアタッチされているすべてのポリシーを取得します。

パラメータ :

  • role_name (必須): ポリシーを取得する IAM ロールの名前。ロールは、ご自身の AWS アカウント内に存在する必要があります。

フルアクセス (書き込み) ツール

このセクションでは、EKS MCP サーバーで使用できる読み取り専用ツールについて説明します。(現時点で) すべての書き込み Kubernetes API オペレーションは、次のものにのみアクセスできることに注意してください。

  • パブリッククラスター (endpointPublicAccess=true)

manage_k8s_resource

書き込みオペレーション (作成、更新、パッチ、削除) を使用して、単一の Kubernetes リソースを管理します。

パラメータ :

  • operation (必須): リソースに対して実行するオペレーション。有効な値:

  • create: 新しいリソースを作成する

  • replace: 既存のリソースを置き換える

  • patch: 既存のリソースの特定のフィールドを更新する

  • delete: 既存のリソースを削除する

  • Note: リソースの読み取りには read_k8s_resource を使用し、複数のリソースを一覧表示するには list_k8s_resources を使用します。

  • cluster_name (必須): リソースが配置されている、または作成される EKS クラスターの名前。

  • kind (必須): Kubernetes リソースの種類 (「ポッド」、「サービス」、「デプロイ」など)。

  • api_version (必須): API バージョンの Kubernetes リソース (「v1」、「apps/v1」、「networking.k8s.io/v1」など)。

  • body (オプション): JSON 文字列としてのリソース定義。作成、置換、およびパッチオペレーションに必要です。作成と置換の場合、これは完全なリソース定義である必要があります。パッチの場合、更新するフィールドのみを含める必要があります。

  • name (オプション): Kubernetes リソースの名前。作成を除くすべてのオペレーションに必要です (本文で指定できる場合)。

  • namespace (オプション): Kubernetes リソースの名前空間。名前空間リソースに必要です。クラスタースコープのリソース (Nodes、PersistentVolumes など) には必要ありません。

apply_yaml

Kubernetes YAML マニフェストを EKS クラスターに適用します。

パラメータ :

  • cluster_name (必須): リソースが作成または更新される EKS クラスターの名前。

  • namespace (必須): リソースを適用する Kubernetes 名前空間。名前空間を指定していない名前空間スコープのリソースに使用されます。

  • yaml_content (必須): クラスターに適用する YAML コンテンツ。「---」で区切られた複数のドキュメントを含めることができます。

  • force (オプション): リソースが既に存在する場合に更新するかどうか (kubectl apply と同様)。false に設定すると、新しいリソースのみが作成されます。

manage_eks_stacks

EKS クラスターとその基盤となるインフラストラクチャのテンプレート生成、デプロイ、記述、削除などのオペレーションにより、EKS CloudFormation スタックを管理します。クラスターの作成には通常、15~20 分かかります。デプロイおよび削除オペレーションの場合、スタックはこのツールによって作成されている必要があります (つまり、CreatedBy=EksMcpServer でタグ付けされている必要があります)。

パラメータ :

  • cluster_name (必須): EKS クラスターの名前 (生成、デプロイ、記述、削除オペレーション用)。この名前は CloudFormation スタック名の取得に使用され、クラスターリソースに埋め込まれます。

  • operation (必須): 実行するオペレーション。有効な値:

  • generate: CloudFormation テンプレートを生成する

  • deploy: CloudFormation スタックをデプロイする (template_content が必要)

  • describe: CloudFormation スタックを記述/読み取りする (読み取り専用)

  • delete: CloudFormation スタックを削除する

  • template_content (オプション): CloudFormation テンプレートコンテンツ (デプロイオペレーション用)。これは、完全な YAML または JSON テンプレートコンテンツである必要があります。単一リソースと「---」で区切られたマルチドキュメント YAML コンテンツの両方をサポートします。

add_inline_policy

IAM ロールに新しいインラインポリシーを追加します。

パラメータ :

  • permissions (必須): IAM ポリシーステートメントを表す JSON 文字列としてポリシーに含めるアクセス許可。単一の JSON 文字列でも、JSON 文字列の配列でもかまいません。

  • policy_name (必須): 作成するインラインポリシーの名前。名前はロール内で一意でなければなりません。

  • role_name (必須): ポリシーを追加する IAM ロールの名前。ロールが存在している必要があります。