awslabs.cdk-mcp-server 1.0.3__tar.gz → 1.0.4__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.
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/Dockerfile +32 -22
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/PKG-INFO +5 -3
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/README.md +3 -1
- awslabs_cdk_mcp_server-1.0.4/docker-healthcheck.sh +25 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/pyproject.toml +2 -2
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/uv.lock +659 -450
- awslabs_cdk_mcp_server-1.0.3/docker-healthcheck.sh +0 -26
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/.gitignore +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/.python-version +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/CHANGELOG.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/LICENSE +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/NOTICE +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/core/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/core/resources.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/core/search_utils.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/core/server.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/core/tools.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/cdk_nag_parser.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/construct_descriptions.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/genai_cdk_loader.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/lambda_layer_parser.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/lambda_powertools_loader.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/schema_generator.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/data/solutions_constructs_parser.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/server.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/CDK_GENERAL_GUIDANCE.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/CDK_NAG_GUIDANCE.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/bedrock.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/cdk.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/dependencies.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/index.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/insights.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/logging.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/metrics.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/awslabs/cdk_mcp_server/static/lambda_powertools/tracing.md +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/__init__.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/core/test_resources.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/core/test_resources_enhanced.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/core/test_search_utils.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/core/test_server.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/core/test_tools.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/data/test_cdk_nag_parser.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/data/test_genai_cdk_loader.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/data/test_lambda_powertools_loader.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/data/test_schema_generator.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/tests/data/test_solutions_constructs_parser.py +0 -0
- {awslabs_cdk_mcp_server-1.0.3 → awslabs_cdk_mcp_server-1.0.4}/uv-requirements.txt +0 -0
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
#
|
|
16
|
-
FROM public.ecr.aws/
|
|
15
|
+
# dependabot should continue to update this to the latest hash.
|
|
16
|
+
FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21@sha256:c9a09c45a4bcc618c7f7128585b8dd0d41d0c31a8a107db4c8255ffe0b69375d AS uv
|
|
17
17
|
|
|
18
18
|
# Install the project into `/app`
|
|
19
19
|
WORKDIR /app
|
|
@@ -33,38 +33,48 @@ ENV UV_FROZEN=true
|
|
|
33
33
|
# Copy the required files first
|
|
34
34
|
COPY pyproject.toml uv.lock uv-requirements.txt ./
|
|
35
35
|
|
|
36
|
+
# Python optimization and uv configuration
|
|
37
|
+
ENV PIP_NO_CACHE_DIR=1 \
|
|
38
|
+
PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
39
|
+
|
|
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
|
+
|
|
36
50
|
# Install the project's dependencies using the lockfile and settings
|
|
37
51
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
38
|
-
pip install --require-hashes --requirement uv-requirements.txt && \
|
|
39
|
-
uv sync --frozen --no-install-project --no-dev --no-editable
|
|
52
|
+
pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
|
|
53
|
+
uv sync --python 3.13 --frozen --no-install-project --no-dev --no-editable
|
|
40
54
|
|
|
41
55
|
# Then, add the rest of the project source code and install it
|
|
42
56
|
# Installing separately from its dependencies allows optimal layer caching
|
|
43
57
|
COPY . /app
|
|
44
58
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
45
|
-
uv sync --frozen --no-dev --no-editable
|
|
59
|
+
uv sync --python 3.13 --frozen --no-dev --no-editable
|
|
46
60
|
|
|
47
61
|
# Make the directory just in case it doesn't exist
|
|
48
62
|
RUN mkdir -p /root/.local
|
|
49
63
|
|
|
50
|
-
FROM public.ecr.aws/
|
|
64
|
+
FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21@sha256:c9a09c45a4bcc618c7f7128585b8dd0d41d0c31a8a107db4c8255ffe0b69375d
|
|
51
65
|
|
|
52
66
|
# Place executables in the environment at the front of the path and include other binaries
|
|
53
|
-
ENV PATH="/app/.venv/bin:$PATH
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# Install
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
chmod o+x /root
|
|
65
|
-
|
|
66
|
-
# Get the project from the uv layer
|
|
67
|
-
COPY --from=uv --chown=app:app /root/.local /root/.local
|
|
67
|
+
ENV PATH="/app/.venv/bin:$PATH" \
|
|
68
|
+
PYTHONUNBUFFERED=1
|
|
69
|
+
|
|
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
|
|
76
|
+
|
|
77
|
+
# Copy application artifacts from build stage
|
|
68
78
|
COPY --from=uv --chown=app:app /app/.venv /app/.venv
|
|
69
79
|
|
|
70
80
|
# Get healthcheck script
|
|
@@ -74,5 +84,5 @@ COPY ./docker-healthcheck.sh /usr/local/bin/docker-healthcheck.sh
|
|
|
74
84
|
USER app
|
|
75
85
|
|
|
76
86
|
# When running the container, add --db-path and a bind mount to the host's db file
|
|
77
|
-
HEALTHCHECK --interval=
|
|
87
|
+
HEALTHCHECK --interval=60s --timeout=10s --start-period=10s --retries=3 CMD ["docker-healthcheck.sh"]
|
|
78
88
|
ENTRYPOINT ["awslabs.cdk-mcp-server"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.cdk-mcp-server
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary: An AWS CDK MCP server that provides guidance on AWS Cloud Development Kit best practices, infrastructure as code patterns, and security compliance with CDK Nag. This server offers tools to validate infrastructure designs, explain CDK Nag rules, analyze suppressions, generate Bedrock Agent schemas, and discover Solutions Constructs patterns.
|
|
5
5
|
Project-URL: Homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: Documentation, https://awslabs.github.io/mcp/servers/cdk-mcp-server/
|
|
@@ -24,7 +24,7 @@ Requires-Python: >=3.10
|
|
|
24
24
|
Requires-Dist: aws-lambda-powertools>=2.30.0
|
|
25
25
|
Requires-Dist: bs4>=0.0.2
|
|
26
26
|
Requires-Dist: httpx>=0.27.0
|
|
27
|
-
Requires-Dist: mcp[cli]>=1.
|
|
27
|
+
Requires-Dist: mcp[cli]>=1.11.0
|
|
28
28
|
Requires-Dist: pydantic>=2.10.6
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
|
|
@@ -168,7 +168,9 @@ graph TD
|
|
|
168
168
|
|
|
169
169
|
## Installation
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
| Cursor | VS Code |
|
|
172
|
+
|:------:|:-------:|
|
|
173
|
+
| [](https://cursor.com/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
|
|
172
174
|
|
|
173
175
|
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
|
|
174
176
|
|
|
@@ -138,7 +138,9 @@ graph TD
|
|
|
138
138
|
|
|
139
139
|
## Installation
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
| Cursor | VS Code |
|
|
142
|
+
|:------:|:-------:|
|
|
143
|
+
| [](https://cursor.com/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
|
|
142
144
|
|
|
143
145
|
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
|
|
144
146
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
SERVER="cdk-mcp-server"
|
|
17
|
+
|
|
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
|
|
20
|
+
echo -n "$SERVER is running";
|
|
21
|
+
exit 0;
|
|
22
|
+
fi;
|
|
23
|
+
|
|
24
|
+
# Unhealthy
|
|
25
|
+
exit 1;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "awslabs.cdk-mcp-server"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.4"
|
|
4
4
|
description = "An AWS CDK MCP server that provides guidance on AWS Cloud Development Kit best practices, infrastructure as code patterns, and security compliance with CDK Nag. This server offers tools to validate infrastructure designs, explain CDK Nag rules, analyze suppressions, generate Bedrock Agent schemas, and discover Solutions Constructs patterns."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
|
-
"mcp[cli]>=1.
|
|
8
|
+
"mcp[cli]>=1.11.0",
|
|
9
9
|
"pydantic>=2.10.6",
|
|
10
10
|
"aws-lambda-powertools>=2.30.0",
|
|
11
11
|
"httpx>=0.27.0",
|