awslabs.cdk-mcp-server 1.0.0__py3-none-any.whl → 1.0.2__py3-none-any.whl
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/__init__.py +9 -6
- awslabs/cdk_mcp_server/__init__.py +9 -6
- awslabs/cdk_mcp_server/core/__init__.py +9 -6
- awslabs/cdk_mcp_server/core/resources.py +9 -6
- awslabs/cdk_mcp_server/core/search_utils.py +9 -6
- awslabs/cdk_mcp_server/core/server.py +9 -6
- awslabs/cdk_mcp_server/core/tools.py +9 -6
- awslabs/cdk_mcp_server/data/__init__.py +9 -6
- awslabs/cdk_mcp_server/data/cdk_nag_parser.py +9 -6
- awslabs/cdk_mcp_server/data/construct_descriptions.py +9 -6
- awslabs/cdk_mcp_server/data/genai_cdk_loader.py +9 -6
- awslabs/cdk_mcp_server/data/lambda_layer_parser.py +9 -6
- awslabs/cdk_mcp_server/data/lambda_powertools_loader.py +9 -6
- awslabs/cdk_mcp_server/data/schema_generator.py +9 -6
- awslabs/cdk_mcp_server/data/solutions_constructs_parser.py +103 -28
- awslabs/cdk_mcp_server/server.py +9 -6
- awslabs/cdk_mcp_server/static/__init__.py +9 -6
- {awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/METADATA +3 -3
- awslabs_cdk_mcp_server-1.0.2.dist-info/RECORD +33 -0
- awslabs_cdk_mcp_server-1.0.0.dist-info/RECORD +0 -33
- {awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/WHEEL +0 -0
- {awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/entry_points.txt +0 -0
- {awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/licenses/LICENSE +0 -0
- {awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/licenses/NOTICE +0 -0
awslabs/__init__.py
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
"""AWS CDK MCP server package."""
|
|
12
15
|
|
|
13
16
|
# Import the minimal set of essential functions
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
"""Core modules for the AWS CDK MCP server."""
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS CDK MCP resource handlers."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""Common search utilities for AWS CDK MCP Server."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS CDK MCP server implementation."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS CDK MCP tool handlers."""
|
|
13
16
|
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
"""Data modules for the AWS CDK MCP server."""
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""CDK Nag rules parsing utilities."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""GenAI CDK construct descriptions."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""GitHub-based GenAI CDK constructs content loader."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""Lambda layer documentation parser module."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""Lambda Powertools guidance loader module."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""Schema generator for Bedrock Agent Action Groups."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS Solutions Constructs patterns parser module."""
|
|
13
16
|
|
|
@@ -20,6 +23,40 @@ from datetime import datetime, timedelta
|
|
|
20
23
|
from typing import Any, Dict, List
|
|
21
24
|
|
|
22
25
|
|
|
26
|
+
# Regular expression patterns for parsing documentation
|
|
27
|
+
# AsciiDoc patterns
|
|
28
|
+
# Matches a Description section in AsciiDoc format: "= Description" followed by text until the next section or end
|
|
29
|
+
ADOC_DESCRIPTION_SECTION_PATTERN = r'= Description\s*\n+(.*?)(?=\n=|\Z)'
|
|
30
|
+
|
|
31
|
+
# Matches an Overview section in AsciiDoc format: "= Overview" followed by text until the next section or end
|
|
32
|
+
ADOC_OVERVIEW_SECTION_PATTERN = r'= Overview\s*\n+(.*?)(?=\n=|\Z)'
|
|
33
|
+
|
|
34
|
+
# Matches the first paragraph in a section: start of text until first blank line or end
|
|
35
|
+
FIRST_PARAGRAPH_PATTERN = r'^(.*?)(?=\n\n|\Z)'
|
|
36
|
+
|
|
37
|
+
# Matches a title and the following paragraph in AsciiDoc: "= Title" followed by blank line and text
|
|
38
|
+
ADOC_TITLE_AND_PARAGRAPH_PATTERN = r'= ([^\n]+)\s*\n\n(.*?)(?=\n\n|\n=|\Z)'
|
|
39
|
+
|
|
40
|
+
# Markdown patterns
|
|
41
|
+
# Matches a Description section in Markdown: "## Description" followed by text until the next section or end
|
|
42
|
+
MD_DESCRIPTION_SECTION_PATTERN = r'## Description\s*\n+(.*?)(?=\n##|\Z)'
|
|
43
|
+
|
|
44
|
+
# Matches an Overview section in Markdown: "## Overview" followed by text until the next section or end
|
|
45
|
+
MD_OVERVIEW_SECTION_PATTERN = r'## Overview\s*\n+(.*?)(?=\n##|\Z)'
|
|
46
|
+
|
|
47
|
+
# Matches the first paragraph after a title in Markdown: "# Title" followed by blank line and text
|
|
48
|
+
MD_TITLE_AND_PARAGRAPH_PATTERN = r'# [^\n]*\n\n(.*?)(?=\n\n|\n##|\Z)'
|
|
49
|
+
|
|
50
|
+
# Matches any text before the first ## heading
|
|
51
|
+
MD_TEXT_BEFORE_FIRST_HEADING_PATTERN = r'\n\n(.*?)(?=\n##|\Z)'
|
|
52
|
+
|
|
53
|
+
# Matches a title in Markdown: "# Title"
|
|
54
|
+
MD_TITLE_PATTERN = r'# ([^\n]+)'
|
|
55
|
+
|
|
56
|
+
# Pattern to replace multiple whitespace characters with a single space
|
|
57
|
+
WHITESPACE_CLEANUP_PATTERN = r'\s+'
|
|
58
|
+
|
|
59
|
+
|
|
23
60
|
# Set up logging
|
|
24
61
|
logging.basicConfig(level=logging.INFO)
|
|
25
62
|
logger = logging.getLogger(__name__)
|
|
@@ -112,22 +149,32 @@ async def get_pattern_info(pattern_name: str) -> Dict[str, Any]:
|
|
|
112
149
|
logger.info(f'Using cached info for {pattern_name}')
|
|
113
150
|
return _pattern_details_cache[pattern_name]['data']
|
|
114
151
|
|
|
115
|
-
#
|
|
152
|
+
# Try to fetch README.adoc first (preferred)
|
|
116
153
|
async with httpx.AsyncClient() as client:
|
|
117
|
-
|
|
118
|
-
logger.info(f'Fetching README from {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
154
|
+
readme_adoc_url = f'{GITHUB_RAW_CONTENT_URL}/{REPO_OWNER}/{REPO_NAME}/main/{PATTERNS_PATH}/{pattern_name}/README.adoc'
|
|
155
|
+
logger.info(f'Fetching README.adoc from {readme_adoc_url}')
|
|
156
|
+
adoc_response = await client.get(readme_adoc_url)
|
|
157
|
+
|
|
158
|
+
if adoc_response.status_code == 200:
|
|
159
|
+
readme_content = adoc_response.text
|
|
160
|
+
logger.info(f'Successfully fetched README.adoc for {pattern_name}')
|
|
161
|
+
else:
|
|
162
|
+
# Fall back to README.md (if README.adoc is not available)
|
|
163
|
+
readme_md_url = f'{GITHUB_RAW_CONTENT_URL}/{REPO_OWNER}/{REPO_NAME}/main/{PATTERNS_PATH}/{pattern_name}/README.md'
|
|
164
|
+
logger.info(f'README.adoc not found, trying README.md from {readme_md_url}')
|
|
165
|
+
md_response = await client.get(readme_md_url)
|
|
166
|
+
|
|
167
|
+
if md_response.status_code != 200:
|
|
168
|
+
logger.warning(
|
|
169
|
+
f'Failed to fetch README for {pattern_name}: HTTP {md_response.status_code}'
|
|
170
|
+
)
|
|
171
|
+
return {
|
|
172
|
+
'error': f'Pattern {pattern_name} not found or README not available',
|
|
173
|
+
'status_code': md_response.status_code,
|
|
174
|
+
}
|
|
129
175
|
|
|
130
|
-
|
|
176
|
+
readme_content = md_response.text
|
|
177
|
+
logger.info(f'Successfully fetched README.md for {pattern_name}')
|
|
131
178
|
|
|
132
179
|
# Extract only metadata
|
|
133
180
|
services = extract_services_from_pattern_name(pattern_name)
|
|
@@ -310,41 +357,69 @@ def extract_services_from_pattern_name(pattern_name: str) -> List[str]:
|
|
|
310
357
|
|
|
311
358
|
|
|
312
359
|
def extract_description(content: str) -> str:
|
|
313
|
-
"""Extract the pattern description from README
|
|
360
|
+
"""Extract the pattern description from README content.
|
|
314
361
|
|
|
315
362
|
Args:
|
|
316
|
-
content: README.md
|
|
363
|
+
content: README content (can be .md or .adoc format)
|
|
317
364
|
|
|
318
365
|
Returns:
|
|
319
366
|
Pattern description
|
|
320
367
|
"""
|
|
368
|
+
# Check if this is an AsciiDoc (.adoc) file
|
|
369
|
+
if any(marker in content for marker in ['= Overview', '= Description']):
|
|
370
|
+
# First, try to find a dedicated Description section in AsciiDoc
|
|
371
|
+
desc_section_match = re.search(ADOC_DESCRIPTION_SECTION_PATTERN, content, re.DOTALL)
|
|
372
|
+
if desc_section_match:
|
|
373
|
+
desc_text = desc_section_match.group(1).strip()
|
|
374
|
+
# Replace newlines with spaces to ensure a single line description
|
|
375
|
+
return re.sub(WHITESPACE_CLEANUP_PATTERN, ' ', desc_text)
|
|
376
|
+
|
|
377
|
+
# Next, try to find an Overview section in AsciiDoc
|
|
378
|
+
overview_section_match = re.search(ADOC_OVERVIEW_SECTION_PATTERN, content, re.DOTALL)
|
|
379
|
+
if overview_section_match:
|
|
380
|
+
# Take the first paragraph of the overview
|
|
381
|
+
overview = overview_section_match.group(1).strip()
|
|
382
|
+
first_para_match = re.search(FIRST_PARAGRAPH_PATTERN, overview, re.DOTALL)
|
|
383
|
+
if first_para_match:
|
|
384
|
+
# Replace newlines with spaces to ensure a single line description
|
|
385
|
+
return re.sub(WHITESPACE_CLEANUP_PATTERN, ' ', first_para_match.group(1).strip())
|
|
386
|
+
# Replace newlines with spaces to ensure a single line description
|
|
387
|
+
return re.sub(WHITESPACE_CLEANUP_PATTERN, ' ', overview)
|
|
388
|
+
|
|
389
|
+
# Try to find the first paragraph after a title in AsciiDoc format
|
|
390
|
+
title_match = re.search(ADOC_TITLE_AND_PARAGRAPH_PATTERN, content, re.DOTALL)
|
|
391
|
+
if title_match:
|
|
392
|
+
# Replace newlines with spaces to ensure a single line description
|
|
393
|
+
return re.sub(WHITESPACE_CLEANUP_PATTERN, ' ', title_match.group(2).strip())
|
|
394
|
+
|
|
395
|
+
# For Markdown format
|
|
321
396
|
# First, try to find a dedicated Description section
|
|
322
|
-
desc_section_match = re.search(
|
|
397
|
+
desc_section_match = re.search(MD_DESCRIPTION_SECTION_PATTERN, content, re.DOTALL)
|
|
323
398
|
if desc_section_match:
|
|
324
399
|
return desc_section_match.group(1).strip()
|
|
325
400
|
|
|
326
401
|
# Next, try to find an Overview section
|
|
327
|
-
overview_section_match = re.search(
|
|
402
|
+
overview_section_match = re.search(MD_OVERVIEW_SECTION_PATTERN, content, re.DOTALL)
|
|
328
403
|
if overview_section_match:
|
|
329
404
|
# Take the first paragraph of the overview
|
|
330
405
|
overview = overview_section_match.group(1).strip()
|
|
331
|
-
first_para_match = re.search(
|
|
406
|
+
first_para_match = re.search(FIRST_PARAGRAPH_PATTERN, overview, re.DOTALL)
|
|
332
407
|
if first_para_match:
|
|
333
408
|
return first_para_match.group(1).strip()
|
|
334
409
|
return overview
|
|
335
410
|
|
|
336
411
|
# Try to find the first paragraph after the title
|
|
337
|
-
match = re.search(
|
|
412
|
+
match = re.search(MD_TITLE_AND_PARAGRAPH_PATTERN, content, re.DOTALL)
|
|
338
413
|
if match:
|
|
339
414
|
return match.group(1).strip()
|
|
340
415
|
|
|
341
416
|
# Fallback: Try to find any text before the first ## heading
|
|
342
|
-
match = re.search(
|
|
417
|
+
match = re.search(MD_TEXT_BEFORE_FIRST_HEADING_PATTERN, content, re.DOTALL)
|
|
343
418
|
if match:
|
|
344
419
|
return match.group(1).strip()
|
|
345
420
|
|
|
346
421
|
# If all else fails, extract the title as a fallback
|
|
347
|
-
title_match = re.search(
|
|
422
|
+
title_match = re.search(MD_TITLE_PATTERN, content)
|
|
348
423
|
if title_match:
|
|
349
424
|
pattern_name = title_match.group(1).strip()
|
|
350
425
|
return f'A pattern for integrating {pattern_name} services'
|
awslabs/cdk_mcp_server/server.py
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS CDK MCP server implementation."""
|
|
13
16
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
from importlib import ( # nosem: python.lang.compatibility.python37.python37-compatibility-importlib2
|
|
12
15
|
resources,
|
|
13
16
|
)
|
|
@@ -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.2
|
|
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/
|
|
@@ -168,7 +168,7 @@ graph TD
|
|
|
168
168
|
|
|
169
169
|
## Installation
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
|
|
172
172
|
|
|
173
173
|
```json
|
|
174
174
|
{
|
|
@@ -186,7 +186,7 @@ Here are some ways you can work with MCP across AWS, and we'll be adding support
|
|
|
186
186
|
}
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
or docker after a
|
|
189
|
+
or docker after a successful `docker build -t awslabs/cdk-mcp-server .`:
|
|
190
190
|
|
|
191
191
|
```json
|
|
192
192
|
{
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
awslabs/__init__.py,sha256=O4wlFva3THWmjfaXfJAwi29mxJSKIhM0jcebVfd3S5U,615
|
|
2
|
+
awslabs/cdk_mcp_server/__init__.py,sha256=UTVkCvlYd_WX3RCTuBVtmDWJ4fMTttZXrGxZCv1pqYg,805
|
|
3
|
+
awslabs/cdk_mcp_server/server.py,sha256=vbJAWSVLFeUfgJUl1pHpMlSYlPLWg8ADIBkPPC8UJeA,750
|
|
4
|
+
awslabs/cdk_mcp_server/core/__init__.py,sha256=lg06bz7GZihlkgphT08Jm5GLEjaXmw5Nu4CPAuLaMVY,662
|
|
5
|
+
awslabs/cdk_mcp_server/core/resources.py,sha256=hdkQ8zHcur4ABkJxO0X7Uo-my8Ky3RXthYcrBqRdav0,13719
|
|
6
|
+
awslabs/cdk_mcp_server/core/search_utils.py,sha256=AbPLHOemabsUlBI-AG-FbOG_8rZwUi61isOjxUQb8-U,6201
|
|
7
|
+
awslabs/cdk_mcp_server/core/server.py,sha256=_8P1DRzM2FoYkn1qLme7wzq1IwtlWFz7LvHsc7f9rWs,2907
|
|
8
|
+
awslabs/cdk_mcp_server/core/tools.py,sha256=B3sGgneIUO_Z6rqESg_ST6yRTpdo6zQ4W5EKz1j2uAg,22064
|
|
9
|
+
awslabs/cdk_mcp_server/data/__init__.py,sha256=r9AbmVGfvdjeev2ntddTE6Llzy3owN5qGxpYNLFqDp8,662
|
|
10
|
+
awslabs/cdk_mcp_server/data/cdk_nag_parser.py,sha256=Q-jU9c0mMkbkOba1k9ZzeKMoUZaAnzdKwIvEgAh5-as,11534
|
|
11
|
+
awslabs/cdk_mcp_server/data/construct_descriptions.py,sha256=VMqmqpdegct6XGJSPJeeml7A5qbk5WtFA6D-Ru1CX0U,3221
|
|
12
|
+
awslabs/cdk_mcp_server/data/genai_cdk_loader.py,sha256=OyG7fD_dWZL0HLmAgR0s4b8L8TPat8stEXiE8kZlcvI,21573
|
|
13
|
+
awslabs/cdk_mcp_server/data/lambda_layer_parser.py,sha256=Ti4W5gjTB3WkxWSnIbGXKJnJs-MH7_kVW3pkuiMUtTM,8668
|
|
14
|
+
awslabs/cdk_mcp_server/data/lambda_powertools_loader.py,sha256=nqCw4LzyK3_gIOsf1WoZXcL6_GnSlRDGMdRtdP3sWSk,2468
|
|
15
|
+
awslabs/cdk_mcp_server/data/schema_generator.py,sha256=xNul0eZq4aG_CRTNYQtLLJn22Df5lsUIAIrBteKn6NU,29326
|
|
16
|
+
awslabs/cdk_mcp_server/data/solutions_constructs_parser.py,sha256=eWBf0HQn5x4cGqYZTXf8kwVcTQSgXgB2gf4ZTXWLmqs,32323
|
|
17
|
+
awslabs/cdk_mcp_server/static/CDK_GENERAL_GUIDANCE.md,sha256=-O0LIpmeDXr1JoVxxbQnVp0oNqvSbX20xOgcZqknr_c,8532
|
|
18
|
+
awslabs/cdk_mcp_server/static/CDK_NAG_GUIDANCE.md,sha256=zJtHJp9ruaaJ-xa68k9kDrPmEaXpiWCZZf7JIy8NK0w,5839
|
|
19
|
+
awslabs/cdk_mcp_server/static/__init__.py,sha256=ZC2OMY573QylDo6c1LkAsyHFoLgF3pIRumY_Ar8Un0s,915
|
|
20
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/bedrock.md,sha256=vxYfQvp2UcXSszAB4oQQ7xPY808WjKSPRgOnIA31nLk,4114
|
|
21
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/cdk.md,sha256=rcYvoKOEj9R2Ptd5H61spys8j09nLgmpkD_o2niynvs,1900
|
|
22
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/dependencies.md,sha256=nZ2Fv54rG1rUmD_YHkM9h5VNvB81-Hk8Qx3ZNQSFZLY,1520
|
|
23
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/index.md,sha256=yivjInZAZ3tENKGrrAv7geICzUvKUTskWuaNj9nuPbI,1819
|
|
24
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/insights.md,sha256=jcyOHZvKHk2CgJwIu0B5SkP1SRMAhIOQ4FtWHlUs_IE,3212
|
|
25
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/logging.md,sha256=6CSgD8QB3Bs4s_x4RnbKwZoWvG6aG4etCnmDH6HU9XY,1797
|
|
26
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/metrics.md,sha256=DQlznxRizJep8jphzFgbk7crH5LwWjSjdygP-1K6mxk,2559
|
|
27
|
+
awslabs/cdk_mcp_server/static/lambda_powertools/tracing.md,sha256=Q3dSCvgktb9sUsuuQ5ONU2Qdb1OTwbNOYpK--MDzBNw,2539
|
|
28
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/METADATA,sha256=qrLAh3GEFg8Ctr48hnxwuZlV5LzSAwhTVQHVaZInV04,9058
|
|
29
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
30
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/entry_points.txt,sha256=LertzmID_mUU1YYZPySAF1IY1zE7ySTvzFxiGyo3VjY,78
|
|
31
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
32
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/licenses/NOTICE,sha256=MNXNmhkltaxAzlo-r5BhjfS30nUE7I_w7cyDY8cxDL0,90
|
|
33
|
+
awslabs_cdk_mcp_server-1.0.2.dist-info/RECORD,,
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
awslabs/__init__.py,sha256=CyFUCiG6C9srM7h_p6i9w72Y_G53m4QN-jK0duBu948,558
|
|
2
|
-
awslabs/cdk_mcp_server/__init__.py,sha256=tE_wgU3b_iQUzMy9HlAJUehazMBzM9hGM94kDKPEDq4,748
|
|
3
|
-
awslabs/cdk_mcp_server/server.py,sha256=Mom-3sv93jLG-KdESEfbrIEo3isXdAMhHcyTxANFtBw,693
|
|
4
|
-
awslabs/cdk_mcp_server/core/__init__.py,sha256=P5jMlOb_nAqCEM22QnIe9RZMUCLVHwmAnwqJInvcQfc,605
|
|
5
|
-
awslabs/cdk_mcp_server/core/resources.py,sha256=-JQijnp64JYmd7Nt4SAZ4f9gsS93R3pSNqM8ZsZTuf0,13662
|
|
6
|
-
awslabs/cdk_mcp_server/core/search_utils.py,sha256=GLaNJBFzmDgwM8OY98R4VHfgj2Cw7GEBk-Y2lLZcPjM,6144
|
|
7
|
-
awslabs/cdk_mcp_server/core/server.py,sha256=er4w1vsPBF318qMhr6onpKm8IbVDTtk21kVkSNZ8i4c,2850
|
|
8
|
-
awslabs/cdk_mcp_server/core/tools.py,sha256=WZdR7K5Ilv9xlcwhQf4ZCdeIgUcA-Gb-NubEhTSc8IU,22007
|
|
9
|
-
awslabs/cdk_mcp_server/data/__init__.py,sha256=8o7-TnXbiVvfwc_xc6LGnDfERnD9GMPRFfnWcgf--0Y,605
|
|
10
|
-
awslabs/cdk_mcp_server/data/cdk_nag_parser.py,sha256=AKJU0O9lkzeVLAElzgBkV7rpKNUktywIXwmA52m3Vec,11477
|
|
11
|
-
awslabs/cdk_mcp_server/data/construct_descriptions.py,sha256=CBfKFM_pJo6Sn_NA7hr-0oVB8piXdncQ_A5ewnTCx30,3164
|
|
12
|
-
awslabs/cdk_mcp_server/data/genai_cdk_loader.py,sha256=xBEdhT5GVNom7lN0Vshm2y-P3yZJGNU7S_qL0UUHWxY,21516
|
|
13
|
-
awslabs/cdk_mcp_server/data/lambda_layer_parser.py,sha256=TWInqjN56Vkhs-sXqLnIvhAPCBbq3Zlm1bAerUGb1cQ,8611
|
|
14
|
-
awslabs/cdk_mcp_server/data/lambda_powertools_loader.py,sha256=XtJb8tTYhmAQ6Ulor6nhKWLQ56aIh2eElpBuw2D9sco,2411
|
|
15
|
-
awslabs/cdk_mcp_server/data/schema_generator.py,sha256=eAjLnok3dqxnf3PtnwRno_Ps24ZZTo2iJcBv1H23sE0,29269
|
|
16
|
-
awslabs/cdk_mcp_server/data/solutions_constructs_parser.py,sha256=NVOKV0cZl-9PdyoRtPo2JspSAEbCdebE8XR10dpCxyE,28243
|
|
17
|
-
awslabs/cdk_mcp_server/static/CDK_GENERAL_GUIDANCE.md,sha256=-O0LIpmeDXr1JoVxxbQnVp0oNqvSbX20xOgcZqknr_c,8532
|
|
18
|
-
awslabs/cdk_mcp_server/static/CDK_NAG_GUIDANCE.md,sha256=zJtHJp9ruaaJ-xa68k9kDrPmEaXpiWCZZf7JIy8NK0w,5839
|
|
19
|
-
awslabs/cdk_mcp_server/static/__init__.py,sha256=NqWI8Mnqoc_sEr70ZtQ_oI6W_mdhuRCmgIbgmIWljzU,858
|
|
20
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/bedrock.md,sha256=vxYfQvp2UcXSszAB4oQQ7xPY808WjKSPRgOnIA31nLk,4114
|
|
21
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/cdk.md,sha256=rcYvoKOEj9R2Ptd5H61spys8j09nLgmpkD_o2niynvs,1900
|
|
22
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/dependencies.md,sha256=nZ2Fv54rG1rUmD_YHkM9h5VNvB81-Hk8Qx3ZNQSFZLY,1520
|
|
23
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/index.md,sha256=yivjInZAZ3tENKGrrAv7geICzUvKUTskWuaNj9nuPbI,1819
|
|
24
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/insights.md,sha256=jcyOHZvKHk2CgJwIu0B5SkP1SRMAhIOQ4FtWHlUs_IE,3212
|
|
25
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/logging.md,sha256=6CSgD8QB3Bs4s_x4RnbKwZoWvG6aG4etCnmDH6HU9XY,1797
|
|
26
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/metrics.md,sha256=DQlznxRizJep8jphzFgbk7crH5LwWjSjdygP-1K6mxk,2559
|
|
27
|
-
awslabs/cdk_mcp_server/static/lambda_powertools/tracing.md,sha256=Q3dSCvgktb9sUsuuQ5ONU2Qdb1OTwbNOYpK--MDzBNw,2539
|
|
28
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/METADATA,sha256=3CD8rkqtlh5ynaAe_ju1TNazLh05LDWnqSiC_9VHHlU,9134
|
|
29
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
30
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/entry_points.txt,sha256=LertzmID_mUU1YYZPySAF1IY1zE7ySTvzFxiGyo3VjY,78
|
|
31
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
32
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/licenses/NOTICE,sha256=MNXNmhkltaxAzlo-r5BhjfS30nUE7I_w7cyDY8cxDL0,90
|
|
33
|
-
awslabs_cdk_mcp_server-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
{awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{awslabs_cdk_mcp_server-1.0.0.dist-info → awslabs_cdk_mcp_server-1.0.2.dist-info}/licenses/NOTICE
RENAMED
|
File without changes
|