awslabs.dynamodb-mcp-server 1.0.3__tar.gz → 1.0.5__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.
Potentially problematic release.
This version of awslabs.dynamodb-mcp-server might be problematic. Click here for more details.
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/Dockerfile +32 -22
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/PKG-INFO +5 -3
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/README.md +3 -1
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/awslabs/dynamodb_mcp_server/__init__.py +1 -1
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/awslabs/dynamodb_mcp_server/server.py +21 -6
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/docker-healthcheck.sh +7 -8
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/pyproject.toml +2 -2
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/uv.lock +755 -555
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/.gitignore +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/.python-version +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/CHANGELOG.md +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/LICENSE +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/NOTICE +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/awslabs/__init__.py +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/awslabs/dynamodb_mcp_server/common.py +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/awslabs/dynamodb_mcp_server/prompts/dynamodb_architect.md +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/tests/test_dynamodb_server.py +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/tests/test_readonly_delete_table.py +0 -0
- {awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/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.dynamodb-mcp-server"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.dynamodb-mcp-server
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.5
|
|
4
4
|
Summary: The official MCP Server for interacting with AWS DynamoDB
|
|
5
5
|
Project-URL: homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: docs, https://awslabs.github.io/mcp/servers/dynamodb-mcp-server/
|
|
@@ -23,7 +23,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Requires-Dist: boto3>=1.28.0
|
|
25
25
|
Requires-Dist: loguru>=0.7.0
|
|
26
|
-
Requires-Dist: mcp[cli]>=1.
|
|
26
|
+
Requires-Dist: mcp[cli]>=1.11.0
|
|
27
27
|
Requires-Dist: pydantic>=2.10.6
|
|
28
28
|
Requires-Dist: typing-extensions>=4.0.0
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
@@ -100,7 +100,9 @@ All tools support an optional `region_name` parameter to specify which AWS regio
|
|
|
100
100
|
|
|
101
101
|
## Installation
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
| Cursor | VS Code |
|
|
104
|
+
|:------:|:-------:|
|
|
105
|
+
| [](https://cursor.com/install-mcp?name=awslabs.dynamodb-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuZHluYW1vZGItbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiRERCLU1DUC1SRUFET05MWSI6InRydWUiLCJBV1NfUFJPRklMRSI6ImRlZmF1bHQiLCJBV1NfUkVHSU9OIjoidXMtd2VzdC0yIiwiRkFTVE1DUF9MT0dfTEVWRUwiOiJFUlJPUiJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [](https://insiders.vscode.dev/redirect/mcp/install?name=DynamoDB%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.dynamodb-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22DDB-MCP-READONLY%22%3A%22true%22%2C%22AWS_PROFILE%22%3A%22default%22%2C%22AWS_REGION%22%3A%22us-west-2%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
|
|
104
106
|
|
|
105
107
|
Add the MCP to your favorite agentic tools. (e.g. for Amazon Q Developer CLI MCP, `~/.aws/amazonq/mcp.json`):
|
|
106
108
|
|
|
@@ -70,7 +70,9 @@ All tools support an optional `region_name` parameter to specify which AWS regio
|
|
|
70
70
|
|
|
71
71
|
## Installation
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
| Cursor | VS Code |
|
|
74
|
+
|:------:|:-------:|
|
|
75
|
+
| [](https://cursor.com/install-mcp?name=awslabs.dynamodb-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuZHluYW1vZGItbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiRERCLU1DUC1SRUFET05MWSI6InRydWUiLCJBV1NfUFJPRklMRSI6ImRlZmF1bHQiLCJBV1NfUkVHSU9OIjoidXMtd2VzdC0yIiwiRkFTVE1DUF9MT0dfTEVWRUwiOiJFUlJPUiJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [](https://insiders.vscode.dev/redirect/mcp/install?name=DynamoDB%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.dynamodb-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22DDB-MCP-READONLY%22%3A%22true%22%2C%22AWS_PROFILE%22%3A%22default%22%2C%22AWS_REGION%22%3A%22us-west-2%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
|
|
74
76
|
|
|
75
77
|
Add the MCP to your favorite agentic tools. (e.g. for Amazon Q Developer CLI MCP, `~/.aws/amazonq/mcp.json`):
|
|
76
78
|
|
|
@@ -53,9 +53,8 @@ from pydantic import Field
|
|
|
53
53
|
from typing import Any, Dict, List, Literal, Union
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
instructions="""The official MCP Server for interacting with AWS DynamoDB
|
|
56
|
+
# Define server instructions and dependencies
|
|
57
|
+
SERVER_INSTRUCTIONS = """The official MCP Server for interacting with AWS DynamoDB
|
|
59
58
|
|
|
60
59
|
This server provides comprehensive DynamoDB capabilities with over 30 operational tools for managing DynamoDB tables,
|
|
61
60
|
items, indexes, backups, and more, plus expert data modeling guidance through DynamoDB data modeling expert prompt
|
|
@@ -105,9 +104,25 @@ Common usage examples:
|
|
|
105
104
|
Use the `dynamodb_data_modeling` tool to access enterprise-level DynamoDB design expertise.
|
|
106
105
|
This tool provides systematic methodology for creating production-ready multi-table design with
|
|
107
106
|
advanced optimizations, cost analysis, and integration patterns.
|
|
108
|
-
"""
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
SERVER_DEPENDENCIES = [
|
|
110
|
+
'boto3',
|
|
111
|
+
'botocore',
|
|
112
|
+
'pydantic',
|
|
113
|
+
]
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def create_server():
|
|
117
|
+
"""Create and configure the MCP server instance."""
|
|
118
|
+
return FastMCP(
|
|
119
|
+
'awslabs.dynamodb-mcp-server',
|
|
120
|
+
instructions=SERVER_INSTRUCTIONS,
|
|
121
|
+
dependencies=SERVER_DEPENDENCIES,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
app = create_server()
|
|
111
126
|
|
|
112
127
|
|
|
113
128
|
def get_dynamodb_client(region_name: str | None):
|
{awslabs_dynamodb_mcp_server-1.0.3 → awslabs_dynamodb_mcp_server-1.0.5}/docker-healthcheck.sh
RENAMED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
|
|
3
2
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
3
|
#
|
|
5
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -14,13 +13,13 @@
|
|
|
14
13
|
# See the License for the specific language governing permissions and
|
|
15
14
|
# limitations under the License.
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
SERVER="dynamodb-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";
|
|
19
21
|
exit 0;
|
|
20
|
-
else
|
|
21
|
-
echo -n "Zero awslabs.* streams found";
|
|
22
|
-
exit 1;
|
|
23
22
|
fi;
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
exit
|
|
24
|
+
# Unhealthy
|
|
25
|
+
exit 1;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "awslabs.dynamodb-mcp-server"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.5"
|
|
4
4
|
description = "The official MCP Server for interacting with AWS DynamoDB"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
8
|
"boto3>=1.28.0",
|
|
9
9
|
"loguru>=0.7.0",
|
|
10
|
-
"mcp[cli]>=1.
|
|
10
|
+
"mcp[cli]>=1.11.0",
|
|
11
11
|
"pydantic>=2.10.6",
|
|
12
12
|
"typing-extensions>=4.0.0",
|
|
13
13
|
]
|