MCP EKS Infrastructure Tools
This document describes the Model Context Protocol (MCP) tools available for EKS cluster auditing and infrastructure analysis.
Overview
The EKS Infrastructure MCP Server provides tools to retrieve and analyze Amazon EKS cluster information for auditing and reporting purposes.
Tools
1. getListOfCluster
Description: Retrieves all EKS clusters in the AWS account.
Use Cases:
- Generate audit summaries or reports when cluster information is not available
- List all EKS clusters in the account
- Initial discovery for cluster analysis
Parameters: None
Returns: JSON string containing list of EKS clusters
Example Response:
[
"cluster-1",
"cluster-2",
"production-cluster"
]
2. getEksInfra
Description: Fetches comprehensive EKS cluster infrastructure details including API endpoint, logging configuration, version, encryption settings, and node group information.
Use Cases:
- Generate detailed audit reports for specific clusters
- Analyze cluster infrastructure configuration
- Security and compliance assessments
Parameters:
cluster_name(string, required): Name of the EKS cluster to analyze
Returns: Structured JSON with complete cluster information
Example Response:
{
"cluster_name": "my-cluster",
"status": "ACTIVE",
"version": "1.28",
"endpoint": "https://xxx.eks.region.amazonaws.com",
"roleArn": "arn:aws:iam::account:role/eks-service-role",
"vpc_config": {
"subnetIds": ["subnet-xxx", "subnet-yyy"],
"securityGroupIds": ["sg-xxx"]
},
"logging": {
"clusterLogging": [
{
"types": ["api", "audit"],
"enabled": true
}
]
},
"encryptionConfig": [],
"node_groups": {
"nodegroup-1": {
"version": "1.28",
"status": "ACTIVE",
"capacityType": "ON_DEMAND",
"scalingConfig": {
"minSize": 1,
"maxSize": 3,
"desiredSize": 2
},
"instanceTypes": ["t3.medium"],
"subnets": ["subnet-xxx"],
"remoteAccess": null,
"amiType": "AL2_x86_64"
}
}
}
Setup
Locally
- Set the
AWS_PROFILEenvironment variable to specify the AWS profile to use - Ensure proper AWS credentials and permissions for EKS access
- Run the MCP server:
python mpc_eks_infra.py
UVX
You need to install UV if not already installed
# For Linux and MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh
Config your MCP servers in Claude Desktop, Cursor, ChatGPT Copilot, Github Copilot and other supported AI clients, e.g.
{
"mcpServers": {
"aws-eks-infra": {
"command": "uvx",
"args": [
"eks-infra-mcp"
],
"env": {
"AWS_PROFILE": "<your-aws_profile>"
}
}
}
}
Usage Workflow
- Discovery: Use
getListOfClusterto identify available clusters - Analysis: Use
getEksInfrawith specific cluster names for detailed information - Reporting: Process the returned JSON data for audit reports and compliance checks
Error Handling
Both tools return error information in JSON format when exceptions occur:
{
"error": "Error description"
}
Release files for eks-infra-mcp 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eks_infra_mcp-0.1.5.tar.gz | 4.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eks_infra_mcp-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.5 kB
Release files / eks_infra_mcp-0.1.5.tar.gz
| Download URL | eks_infra_mcp-0.1.5.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
880e2c0dfecb52d85144079e4c04e82967fcfd363656a4e90b8b21d803f9f5f8
|
|
BLAKE2b-256 checksum How to use checksums |
94c18b825fa8c5f8a442767ef2de60887843605f85fc471f2c7b4da867c59bc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / eks_infra_mcp-0.1.5-py3-none-any.whl
| Download URL | eks_infra_mcp-0.1.5-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1f580352a428f9db8c3a350bb16e510685adb1cccadfebc6526202d62005628
|
|
BLAKE2b-256 checksum How to use checksums |
95dbba0f35af6984d15dfa435bc0515df2aeb94ff1174b8165a75ef83143efbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|