awslabs.eks-mcp-server 0.1.18__tar.gz → 0.1.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/Dockerfile +19 -22
  2. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/PKG-INFO +12 -11
  3. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/README.md +11 -10
  4. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/__init__.py +1 -1
  5. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/templates/eks-templates/eks-with-vpc.yaml +6 -0
  6. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/docker-healthcheck.sh +1 -1
  7. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/pyproject.toml +1 -1
  8. awslabs_eks_mcp_server-0.1.20/uv-requirements.txt +23 -0
  9. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/uv.lock +10 -10
  10. awslabs_eks_mcp_server-0.1.18/uv-requirements.txt +0 -27
  11. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/.gitignore +0 -0
  12. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/.python-version +0 -0
  13. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/CHANGELOG.md +0 -0
  14. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/LICENSE +0 -0
  15. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/NOTICE +0 -0
  16. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/__init__.py +0 -0
  17. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/aws_helper.py +0 -0
  18. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/cloudwatch_handler.py +0 -0
  19. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/cloudwatch_metrics_guidance_handler.py +0 -0
  20. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/consts.py +0 -0
  21. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/data/eks_cloudwatch_metrics_guidance.json +0 -0
  22. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/eks_kb_handler.py +0 -0
  23. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/eks_stack_handler.py +0 -0
  24. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/iam_handler.py +0 -0
  25. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/insights_handler.py +0 -0
  26. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/k8s_apis.py +0 -0
  27. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/k8s_client_cache.py +0 -0
  28. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/k8s_handler.py +0 -0
  29. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/logging_helper.py +0 -0
  30. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/models.py +0 -0
  31. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/scripts/update_eks_cloudwatch_metrics_guidance.py +0 -0
  32. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/server.py +0 -0
  33. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/templates/k8s-templates/deployment.yaml +0 -0
  34. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/templates/k8s-templates/service.yaml +0 -0
  35. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/awslabs/eks_mcp_server/vpc_config_handler.py +0 -0
  36. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_aws_helper.py +0 -0
  37. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_cloudwatch_handler.py +0 -0
  38. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_cloudwatch_metrics_guidance_handler.py +0 -0
  39. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_eks_kb_handler.py +0 -0
  40. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_eks_stack_handler.py +0 -0
  41. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_iam_handler.py +0 -0
  42. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_init.py +0 -0
  43. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_insights_handler.py +0 -0
  44. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_k8s_apis.py +0 -0
  45. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_k8s_client_cache.py +0 -0
  46. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_k8s_handler.py +0 -0
  47. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_logging_helper.py +0 -0
  48. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_main.py +0 -0
  49. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_models.py +0 -0
  50. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_server.py +0 -0
  51. {awslabs_eks_mcp_server-0.1.18 → awslabs_eks_mcp_server-0.1.20}/tests/test_vpc_config_handler.py +0 -0
@@ -13,7 +13,11 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # dependabot should continue to update this to the latest hash.
16
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b AS uv
16
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b AS uv
17
+
18
+ # Install build dependencies needed for compiling packages
19
+ RUN dnf install -y shadow-utils python3 python3-devel gcc && \
20
+ dnf clean all
17
21
 
18
22
  # Install the project into `/app`
19
23
  WORKDIR /app
@@ -25,7 +29,7 @@ ENV UV_COMPILE_BYTECODE=1
25
29
  ENV UV_LINK_MODE=copy
26
30
 
27
31
  # Prefer the system python
28
- ENV UV_PYTHON_PREFERENCE=only-system
32
+ ENV UV_PYTHON_PREFERENCE=only-managed
29
33
 
30
34
  # Run without updating the uv.lock file like running with `--frozen`
31
35
  ENV UV_FROZEN=true
@@ -37,19 +41,10 @@ COPY pyproject.toml uv.lock uv-requirements.txt ./
37
41
  ENV PIP_NO_CACHE_DIR=1 \
38
42
  PIP_DISABLE_PIP_VERSION_CHECK=1
39
43
 
40
- # Install system dependencies and Python package manager
41
- RUN apk update && \
42
- apk add --no-cache --virtual .build-deps \
43
- build-base \
44
- gcc \
45
- musl-dev \
46
- libffi-dev \
47
- openssl-dev \
48
- cargo
49
-
50
44
  # Install the project's dependencies using the lockfile and settings
51
45
  RUN --mount=type=cache,target=/root/.cache/uv \
52
- pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
46
+ python3 -m ensurepip && \
47
+ python3 -m pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
53
48
  uv sync --python 3.13 --frozen --no-install-project --no-dev --no-editable
54
49
 
55
50
  # Then, add the rest of the project source code and install it
@@ -61,20 +56,22 @@ RUN --mount=type=cache,target=/root/.cache/uv \
61
56
  # Make the directory just in case it doesn't exist
62
57
  RUN mkdir -p /root/.local
63
58
 
64
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b
59
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b
65
60
 
66
61
  # Place executables in the environment at the front of the path and include other binaries
67
- ENV PATH="/app/.venv/bin:$PATH" \
62
+ ENV PATH="/app/.venv/bin:$PATH:/usr/sbin" \
68
63
  PYTHONUNBUFFERED=1
69
64
 
70
- # Install runtime dependencies and create application user
71
- RUN apk update && \
72
- apk add --no-cache ca-certificates && \
73
- update-ca-certificates && \
74
- addgroup -S app && \
75
- adduser -S app -G app -h /app
65
+ # Install other tools as needed for the MCP server
66
+ # Add non-root user and ability to change directory into /root
67
+ RUN dnf install -y shadow-utils procps && \
68
+ dnf clean all && \
69
+ groupadd --force --system app && \
70
+ useradd app -g app -d /app && \
71
+ chmod o+x /root
76
72
 
77
- # Copy application artifacts from build stage
73
+ # Get the project from the uv layer
74
+ COPY --from=uv --chown=app:app /root/.local /root/.local
78
75
  COPY --from=uv --chown=app:app /app/.venv /app/.venv
79
76
 
80
77
  # Get healthcheck script
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.eks-mcp-server
3
- Version: 0.1.18
3
+ Version: 0.1.20
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for EKS
5
5
  Project-URL: homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: docs, https://awslabs.github.io/mcp/servers/eks-mcp-server/
@@ -127,18 +127,21 @@ If you encounter authorization errors when using Kubernetes API operations, veri
127
127
 
128
128
  ## Quickstart
129
129
 
130
- This quickstart guide walks you through the steps to configure the Amazon EKS MCP Server for use with both the [Cursor](https://www.cursor.com/en/downloads) IDE and the [Amazon Q Developer CLI](https://github.com/aws/amazon-q-developer-cli). By following these steps, you'll setup your development environment to leverage the EKS MCP Server's tools for managing your Amazon EKS clusters and Kubernetes resources.
130
+ This quickstart guide walks you through the steps to configure the Amazon EKS MCP Server for use with Kiro, Cursor, and other AI coding assistants. By following these steps, you'll setup your development environment to leverage the EKS MCP Server's tools for managing your Amazon EKS clusters and Kubernetes resources.
131
131
 
132
- **Set up Cursor**
132
+ **Set up your IDE**
133
133
 
134
- | Cursor | VS Code |
135
- |:------:|:-------:|
136
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.eks-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwiY29tbWFuZCI6InV2eCBhd3NsYWJzLmVrcy1tY3Atc2VydmVyQGxhdGVzdCAtLWFsbG93LXdyaXRlIC0tYWxsb3ctc2Vuc2l0aXZlLWRhdGEtYWNjZXNzIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=EKS%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
134
+ | Kiro | Cursor | VS Code |
135
+ |:----:|:------:|:-------:|
136
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.eks-mcp-server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.eks-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwiY29tbWFuZCI6InV2eCBhd3NsYWJzLmVrcy1tY3Atc2VydmVyQGxhdGVzdCAtLWFsbG93LXdyaXRlIC0tYWxsb3ctc2Vuc2l0aXZlLWRhdGEtYWNjZXNzIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=EKS%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
137
137
 
138
- **Set up the Amazon Q Developer CLI**
138
+ **Set up Kiro**
139
139
 
140
- 1. Install the [Amazon Q Developer CLI](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html) .
141
- 2. The Q Developer CLI supports MCP servers for tools and prompts out-of-the-box. Edit your Q developer CLI's MCP configuration file named mcp.json following [these instructions](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-understanding-config.html).
140
+ See the [Kiro IDE documentation](https://kiro.dev/docs/mcp/configuration/) or the [Kiro CLI documentation](https://kiro.dev/docs/cli/mcp/configuration/) for details.
141
+
142
+ For global configuration, edit `~/.kiro/settings/mcp.json`. For project-specific configuration, edit `.kiro/settings/mcp.json` in your project directory.
143
+
144
+ Verify your setup by running the `/tools` command in the Kiro CLI to see the available EKS MCP tools.
142
145
 
143
146
  The example below includes both the `--allow-write` flag for mutating operations and the `--allow-sensitive-data-access` flag for accessing logs and events (see the Arguments section for more details):
144
147
 
@@ -188,8 +191,6 @@ The example below includes both the `--allow-write` flag for mutating operations
188
191
  }
189
192
  ```
190
193
 
191
- 3. Verify your setup by running the `/tools` command in the Q Developer CLI to see the available EKS MCP tools.
192
-
193
194
  Note that this is a basic quickstart. You can enable additional capabilities, such as [running MCP servers in containers](https://github.com/awslabs/mcp?tab=readme-ov-file#running-mcp-servers-in-containers) or combining more MCP servers like the [AWS Documentation MCP Server](https://awslabs.github.io/mcp/servers/aws-documentation-mcp-server/) into a single MCP server definition. To view an example, see the [Installation and Setup](https://github.com/awslabs/mcp?tab=readme-ov-file#installation-and-setup) guide in AWS MCP Servers on GitHub. To view a real-world implementation with application code in context with an MCP server, see the [Server Developer](https://modelcontextprotocol.io/quickstart/server) guide in Anthropic documentation.
194
195
 
195
196
  ## Configurations
@@ -93,18 +93,21 @@ If you encounter authorization errors when using Kubernetes API operations, veri
93
93
 
94
94
  ## Quickstart
95
95
 
96
- This quickstart guide walks you through the steps to configure the Amazon EKS MCP Server for use with both the [Cursor](https://www.cursor.com/en/downloads) IDE and the [Amazon Q Developer CLI](https://github.com/aws/amazon-q-developer-cli). By following these steps, you'll setup your development environment to leverage the EKS MCP Server's tools for managing your Amazon EKS clusters and Kubernetes resources.
96
+ This quickstart guide walks you through the steps to configure the Amazon EKS MCP Server for use with Kiro, Cursor, and other AI coding assistants. By following these steps, you'll setup your development environment to leverage the EKS MCP Server's tools for managing your Amazon EKS clusters and Kubernetes resources.
97
97
 
98
- **Set up Cursor**
98
+ **Set up your IDE**
99
99
 
100
- | Cursor | VS Code |
101
- |:------:|:-------:|
102
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.eks-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwiY29tbWFuZCI6InV2eCBhd3NsYWJzLmVrcy1tY3Atc2VydmVyQGxhdGVzdCAtLWFsbG93LXdyaXRlIC0tYWxsb3ctc2Vuc2l0aXZlLWRhdGEtYWNjZXNzIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=EKS%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
100
+ | Kiro | Cursor | VS Code |
101
+ |:----:|:------:|:-------:|
102
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.eks-mcp-server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.eks-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwiY29tbWFuZCI6InV2eCBhd3NsYWJzLmVrcy1tY3Atc2VydmVyQGxhdGVzdCAtLWFsbG93LXdyaXRlIC0tYWxsb3ctc2Vuc2l0aXZlLWRhdGEtYWNjZXNzIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=EKS%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.eks-mcp-server%40latest%22%2C%22--allow-write%22%2C%22--allow-sensitive-data-access%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
103
103
 
104
- **Set up the Amazon Q Developer CLI**
104
+ **Set up Kiro**
105
105
 
106
- 1. Install the [Amazon Q Developer CLI](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html) .
107
- 2. The Q Developer CLI supports MCP servers for tools and prompts out-of-the-box. Edit your Q developer CLI's MCP configuration file named mcp.json following [these instructions](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-understanding-config.html).
106
+ See the [Kiro IDE documentation](https://kiro.dev/docs/mcp/configuration/) or the [Kiro CLI documentation](https://kiro.dev/docs/cli/mcp/configuration/) for details.
107
+
108
+ For global configuration, edit `~/.kiro/settings/mcp.json`. For project-specific configuration, edit `.kiro/settings/mcp.json` in your project directory.
109
+
110
+ Verify your setup by running the `/tools` command in the Kiro CLI to see the available EKS MCP tools.
108
111
 
109
112
  The example below includes both the `--allow-write` flag for mutating operations and the `--allow-sensitive-data-access` flag for accessing logs and events (see the Arguments section for more details):
110
113
 
@@ -154,8 +157,6 @@ The example below includes both the `--allow-write` flag for mutating operations
154
157
  }
155
158
  ```
156
159
 
157
- 3. Verify your setup by running the `/tools` command in the Q Developer CLI to see the available EKS MCP tools.
158
-
159
160
  Note that this is a basic quickstart. You can enable additional capabilities, such as [running MCP servers in containers](https://github.com/awslabs/mcp?tab=readme-ov-file#running-mcp-servers-in-containers) or combining more MCP servers like the [AWS Documentation MCP Server](https://awslabs.github.io/mcp/servers/aws-documentation-mcp-server/) into a single MCP server definition. To view an example, see the [Installation and Setup](https://github.com/awslabs/mcp?tab=readme-ov-file#installation-and-setup) guide in AWS MCP Servers on GitHub. To view a real-world implementation with application code in context with an MCP server, see the [Server Developer](https://modelcontextprotocol.io/quickstart/server) guide in Anthropic documentation.
160
161
 
161
162
  ## Configurations
@@ -14,4 +14,4 @@
14
14
 
15
15
  """awslabs.eks-mcp-server"""
16
16
 
17
- __version__ = '0.1.18'
17
+ __version__ = '0.1.20'
@@ -322,6 +322,12 @@ Resources:
322
322
  GroupDescription: Cluster communication with worker nodes
323
323
  VpcId:
324
324
  Ref: VPC
325
+ Metadata:
326
+ cfn_nag:
327
+ rules_to_suppress:
328
+ - id: "F1000"
329
+ reason: "This security group intentionally relies on the EC2 default allow-all egress rule. It is used for EKS control plane communication with worker nodes, while outbound access is constrained through VPC design (private subnets, routing, and VPC endpoints) rather than per-security-group egress rules."
330
+
325
331
 
326
332
  # EKS Cluster IAM Role with required policies for Auto Mode
327
333
  EksClusterRole:
@@ -16,7 +16,7 @@
16
16
  SERVER="eks-mcp-server"
17
17
 
18
18
  # Check if the server process is running
19
- if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3 /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
19
+ if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3? /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
20
20
  echo -n "$SERVER is running";
21
21
  exit 0;
22
22
  fi;
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.eks-mcp-server"
3
- version = "0.1.18"
3
+ version = "0.1.20"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for EKS"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1,23 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv pip compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
3
+ uv==0.9.24 \
4
+ --hash=sha256:009cc82cdfc48add6ec13a0c4ffbb788ae2cab53573b4218069ca626721a404b \
5
+ --hash=sha256:15d3955bfb03a7b78aaf5afb639cedefdf0fc35ff844c92e3fe6e8700b94b84f \
6
+ --hash=sha256:1914d33e526167dc202ec4a59119c68467b31f7c71dcf8b1077571d091ca3e7c \
7
+ --hash=sha256:207c8a2d4c4d55589feb63b4be74f6ff6ab92fa81b14a6515007ccec5a868ae0 \
8
+ --hash=sha256:38c59e18fe5fa42f7baeb4f08c94914cee6d87ff8faa6fc95c994dbc0de26c90 \
9
+ --hash=sha256:3b610d89d6025000d08cd9bd458c6e264003a0ecfdaa8e4eba28938130cd1837 \
10
+ --hash=sha256:44c0b8a78724e4cfa8e9c0266023c70fc792d0b39a5da17f5f847af2b530796b \
11
+ --hash=sha256:488a07e59fb417bf86de5630197223b7a0223229e626afc124c26827db78cff8 \
12
+ --hash=sha256:63a0a46693098cf8446e41bd5d9ce7d3bc9b775a63fe0c8405ab6ee328424d46 \
13
+ --hash=sha256:6720c9939cca7daff3cccc35dd896bbe139d7d463c62cba8dbbc474ff8eb93d1 \
14
+ --hash=sha256:68a3186074c03876ee06b68730d5ff69a430296760d917ebbbb8e3fb54fb4091 \
15
+ --hash=sha256:69531d9a8772afb2dff68fef2469f666e4f8a0132b2109e36541c423415835da \
16
+ --hash=sha256:75a000f529ec92235b10fb5e16ca41f23f46c643308fd6c5b0d7b73ca056c5b9 \
17
+ --hash=sha256:841ede01d6dcf1676a21dce05f3647ba171c1d92768a03e8b8b6b7354b34a6d2 \
18
+ --hash=sha256:8cd626306b415491f839b1a9100da6795c82c44d4cf278dd7ace7a774af89df4 \
19
+ --hash=sha256:8d3c0fec7aa17f936a5b258816e856647b21f978a81bcfb2dc8caf2892a4965e \
20
+ --hash=sha256:aafe7dd9b633672054cf27f1a8e4127506324631f1af5edd051728f4f8085351 \
21
+ --hash=sha256:d59d31c25fc530c68db9164174efac511a25fc882cec49cd48f75a18e7ebd6d5 \
22
+ --hash=sha256:d7d1333d9c21088c89cb284ef29fdf48dc2015fe993174a823a3e7c991db90f9
23
+ # via -r uv-requirements.in (contents of `uv==0.9.24`)
@@ -46,7 +46,7 @@ wheels = [
46
46
 
47
47
  [[package]]
48
48
  name = "awslabs-eks-mcp-server"
49
- version = "0.1.18"
49
+ version = "0.1.20"
50
50
  source = { editable = "." }
51
51
  dependencies = [
52
52
  { name = "boto3" },
@@ -626,11 +626,11 @@ wheels = [
626
626
 
627
627
  [[package]]
628
628
  name = "filelock"
629
- version = "3.20.1"
629
+ version = "3.20.3"
630
630
  source = { registry = "https://pypi.org/simple" }
631
- sdist = { url = "https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz", hash = "sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size = 19476, upload-time = "2025-12-15T23:54:28.027Z" }
631
+ sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" }
632
632
  wheels = [
633
- { url = "https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl", hash = "sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size = 16666, upload-time = "2025-12-15T23:54:26.874Z" },
633
+ { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" },
634
634
  ]
635
635
 
636
636
  [[package]]
@@ -1813,11 +1813,11 @@ wheels = [
1813
1813
 
1814
1814
  [[package]]
1815
1815
  name = "urllib3"
1816
- version = "2.6.2"
1816
+ version = "2.6.3"
1817
1817
  source = { registry = "https://pypi.org/simple" }
1818
- sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" }
1818
+ sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
1819
1819
  wheels = [
1820
- { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" },
1820
+ { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
1821
1821
  ]
1822
1822
 
1823
1823
  [[package]]
@@ -1836,7 +1836,7 @@ wheels = [
1836
1836
 
1837
1837
  [[package]]
1838
1838
  name = "virtualenv"
1839
- version = "20.35.3"
1839
+ version = "20.36.1"
1840
1840
  source = { registry = "https://pypi.org/simple" }
1841
1841
  dependencies = [
1842
1842
  { name = "distlib" },
@@ -1844,9 +1844,9 @@ dependencies = [
1844
1844
  { name = "platformdirs" },
1845
1845
  { name = "typing-extensions", marker = "python_full_version < '3.11'" },
1846
1846
  ]
1847
- sdist = { url = "https://files.pythonhosted.org/packages/a4/d5/b0ccd381d55c8f45d46f77df6ae59fbc23d19e901e2d523395598e5f4c93/virtualenv-20.35.3.tar.gz", hash = "sha256:4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44", size = 6002907, upload-time = "2025-10-10T21:23:33.178Z" }
1847
+ sdist = { url = "https://files.pythonhosted.org/packages/aa/a3/4d310fa5f00863544e1d0f4de93bddec248499ccf97d4791bc3122c9d4f3/virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba", size = 6032239, upload-time = "2026-01-09T18:21:01.296Z" }
1848
1848
  wheels = [
1849
- { url = "https://files.pythonhosted.org/packages/27/73/d9a94da0e9d470a543c1b9d3ccbceb0f59455983088e727b8a1824ed90fb/virtualenv-20.35.3-py3-none-any.whl", hash = "sha256:63d106565078d8c8d0b206d48080f938a8b25361e19432d2c9db40d2899c810a", size = 5981061, upload-time = "2025-10-10T21:23:30.433Z" },
1849
+ { url = "https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size = 6008258, upload-time = "2026-01-09T18:20:59.425Z" },
1850
1850
  ]
1851
1851
 
1852
1852
  [[package]]
@@ -1,27 +0,0 @@
1
- #
2
- # This file is autogenerated by pip-compile with Python 3.12
3
- # by the following command:
4
- #
5
- # pip-compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
6
- #
7
- uv==0.9.6 \
8
- --hash=sha256:0169a85d3ba5ef1c37089d64ff26de573439ca84ecf549276a2eee42d7f833f2 \
9
- --hash=sha256:0fde18c22376c8b02954c7db3847bc75ac42619932c44b43f49d056e5cfb05f9 \
10
- --hash=sha256:166175ba952d2ad727e1dbd57d7cfc1782dfe7b8d79972174a46a7aa33ddceec \
11
- --hash=sha256:3c2c2b2b093330e603d838fec26941ab6f62e8d62a012f9fa0d5ed88da39d907 \
12
- --hash=sha256:538716ec97f8d899baa7e1c427f4411525459c0ef72ea9b3625ce9610c9976e6 \
13
- --hash=sha256:547fd27ab5da7cd1a833288a36858852451d416a056825f162ecf2af5be6f8b8 \
14
- --hash=sha256:62e3f057a9ae5e5003a7cd56b617e940f519f6dabcbb22d36cdd0149df25d409 \
15
- --hash=sha256:6403176b55388cf94fb8737e73b26ee2a7b1805a9139da5afa951210986d4fcd \
16
- --hash=sha256:7e89c964f614fa3f0481060cac709d6da50feac553e1e11227d6c4c81c87af7c \
17
- --hash=sha256:86e05782f9b75d39ab1c0af98bf11e87e646a36a61d425021d5b284073e56315 \
18
- --hash=sha256:90122a76e6441b8c580fc9faf06bd8c4dbe276cb1c185ad91eceb2afa78e492a \
19
- --hash=sha256:95a62c1f668272555ad0c446bf44a9924dee06054b831d04c162e0bad736dc28 \
20
- --hash=sha256:a7c6067919d87208c4a6092033c3bc9799cb8be1c8bc6ef419a1f6d42a755329 \
21
- --hash=sha256:b2f934737c93f88c906b6a47bcc083170210fe5d66565e80a7c139599e5cbf2f \
22
- --hash=sha256:b31377ebf2d0499afc5abe3fe1abded5ca843f3a1161b432fe26eb0ce15bab8e \
23
- --hash=sha256:d1072db92cc9525febdf9d113c23916dfc20ca03e21218cc7beefe7185a90631 \
24
- --hash=sha256:e700b2098f9d365061c572d0729b4e8bc71c6468d83dfaae2537cd66e3cb1b98 \
25
- --hash=sha256:ea67369918af24ea7e01991dfc8b8988d1b0b7c49cb39d9e5bc0c409930a0a3f \
26
- --hash=sha256:f0ba311b3ca49d246f36d444d3ee81571619ef95e5f509eb694a81defcbed262
27
- # via -r uv-requirements.in (contents of `uv==0.9.6`)