Complete DynamoDB operations and table management.
10K+
Complete DynamoDB operations and table management.
| Attribute | Details |
|---|---|
| Docker Image | mcp/dynamodb-mcp-serverā |
| Author | awslabsā |
| Repository | https://github.com/awslabs/mcpā |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/awslabs/mcp/blob/636aca8e109b5559006044f035bb89c16e9e5410/src/dynamodb-mcp-server/Dockerfileā |
| Commit | 636aca8e109b5559006044f035bb89c16e9e5410 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/dynamodb-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
compute_performances_and_costs | Calculate DynamoDB capacity units and monthly costs from access patterns. |
dynamodb_data_model_schema_converter | Retrieves the DynamoDB Data Model Schema Converter Expert prompt. |
dynamodb_data_model_schema_validator | Validates a schema.json file - the structured JSON representation of your DynamoDB data model. |
dynamodb_data_model_validation | Validates and tests DynamoDB data models against DynamoDB Local. |
dynamodb_data_modeling | Retrieves the complete DynamoDB Data Modeling Expert prompt. |
generate_data_access_layer | Generate Python code for a data access layer to interact with your DynamoDB tables. |
generate_resources | Generates resources from a DynamoDB data model JSON file (dynamodb_data_model.json). |
source_db_analyzer | Analyzes source database to extract schema and access patterns for DynamoDB modeling. |
compute_performances_and_costsCalculate DynamoDB capacity units and monthly costs from access patterns.
Call after completing data model design. Extracts patterns from Access Pattern Mapping table and tables from Table Designs section in dynamodb_data_model.md.
| Parameters | Type | Description |
|---|---|---|
access_pattern_list | array | List of access patterns with operation details (required) |
table_list | array | List of table definitions for storage cost calculation (required) |
workspace_dir | string | Absolute path of the workspace directory (required). Cost analysis will be appended to dynamodb_data_model.md |
dynamodb_data_model_schema_converterRetrieves the DynamoDB Data Model Schema Converter Expert prompt.
This tool returns a specialized prompt for converting DynamoDB data models (dynamodb_data_model.md) into schema.json - a structured JSON representation used for generating type-safe entities and repositories. By default, also includes instructions for generating usage_data.json with realistic sample data.
The prompt guides through:
When to set generate_usage_data=False:
generate_usage_data|boolean optional|Set to False if user only wants schema.json without usage examples/sample data. Set to True (default) to generate both schema.json and usage_data.json with realistic sample data for code generationdynamodb_data_model_schema_validatorValidates a schema.json file - the structured JSON representation of your DynamoDB data model.
This tool validates that your schema.json file is properly formatted and contains all required fields for use with the repository generation tool and other automation tools. It provides detailed error messages with suggestions for fixing any issues found.
Optionally, if usage_data_path is provided, it will also validate the usage_data.json file against the schema to ensure consistency.
The validation checks:
Security:
schema_path|string|Absolute path to the schema.json file to validate
usage_data_path|string optional|Optional absolute path to the usage_data.json file to validate alongside the schemadynamodb_data_model_validationValidates and tests DynamoDB data models against DynamoDB Local.
Use this tool to validate, test, and verify your DynamoDB data model after completing the design phase. This tool automatically checks that all access patterns work correctly by executing them against a local DynamoDB instance.
WHEN TO USE:
WHAT IT DOES:
If dynamodb_data_model.json doesn't exist:
If dynamodb_data_model.json exists:
WHAT TO DO ON SUCCESSFUL COMPLETION: After validation completes, you MUST present the user with TWO options:
generate_resources tool with resource_type='cdk' to create a CDK app for provisioning tablesdynamodb_data_model_schema_converter to convert the model to schema.json, then generate codeThe user can choose one or both options. If they choose CDK first, you can still generate Python code afterward.
| Parameters | Type | Description |
|---|---|---|
workspace_dir | string | Absolute path of the workspace directory |
dynamodb_data_modelingRetrieves the complete DynamoDB Data Modeling Expert prompt.
This tool returns a prompt to help user with data modeling on DynamoDB. The prompt guides through requirements gathering, access pattern analysis, and schema design. The prompt contains:
Usage: Simply call this tool to get the expert prompt.
Returns: Complete expert system prompt as text (no parameters required)
generate_data_access_layerGenerate Python code for a data access layer to interact with your DynamoDB tables.
š“ PREREQUISITE: Before calling this tool, you MUST first call dynamodb_data_model_schema_converter
to generate schema.json from dynamodb_data_model.md. This tool ONLY accepts schema.json.
TYPICAL WORKFLOW:
dynamodb_data_modeling tool (creates dynamodb_data_model.md)dynamodb_data_model_validation tool (optional but recommended)generate_resources tool (resource_type='cdk')dynamodb_data_model_schema_converter tool (creates schema.json)generate_data_access_layer tool with the path to schema.jsonThis tool generates a complete data access layer from your schema including:
schema_path|string|Path to the schema JSON file
generate_sample_usage|boolean optional|Generate usage examples and test cases
language|string optional|Target programming language (python)
usage_data_path|string optional|Path to usage_data.json file for realistic sample data (optional)generate_resourcesGenerates resources from a DynamoDB data model JSON file (dynamodb_data_model.json).
This tool generates various resources based on the provided dynamodb_data_model.json file.
Currently supports generating a CDK app for deploying DynamoDB tables.
Supported resource types:
dynamodb_data_model.json.WHEN TO USE:
dynamodb_data_model_validation toolWHEN NOT TO USE:
dynamodb_data_model_validation tooldynamodb_data_model.json fileWHAT TO DO ON SUCCESSFUL COMPLETION: After CDK generation completes, you MUST ask the user if they want to:
dynamodb_data_model_schema_converter then generate_data_access_layer)
Parameters|Type|Description
-|-|-
dynamodb_data_model_json_file|string|Absolute path to the dynamodb_data_model.json file. Resources will be generated in the same directory.
resource_type|string|Type of resource to generate: 'cdk' for CDK appsource_db_analyzerAnalyzes source database to extract schema and access patterns for DynamoDB modeling.
WHEN TO USE: Call this tool when the user selects "Existing Database Analysis" option
after invoking the dynamodb_data_modeling tool. This extracts schema and query patterns
from an existing relational database to accelerate DynamoDB data model design.
IMPORTANT: Always ask the user which execution mode they prefer before calling this tool.
Execution Modes:
Supported Databases: MySQL, PostgreSQL, SQL Server, Oracle
Output: Generates analysis files (schema structure, access patterns, relationships) in Markdown format. These files feed into the DynamoDB data modeling workflow to inform table design, GSI selection, and access pattern mapping.
Returns: Analysis summary with file locations and next steps.
| Parameters | Type | Description |
|---|---|---|
output_dir | string | Absolute path for output folder. Must exist and be writable. REQUIRED. |
source_db_type | string | Database type: 'mysql', 'postgresql', 'sqlserver', or 'oracle' |
aws_cluster_arn | string optional | [managed/RDS Data API-based] Aurora cluster ARN. Use this OR hostname, not both. Env: MYSQL_CLUSTER_ARN. |
aws_region | string optional | [managed] AWS region. REQUIRED. Env: AWS_REGION. |
aws_secret_arn | string optional | [managed] Secrets Manager ARN for DB credentials. REQUIRED. Env: MYSQL_SECRET_ARN. |
execution_mode | string optional | 'self_service': generates SQL for user to run, then parses results. 'managed' (MySQL only): RDS Data API-based access (aws_cluster_arn) or Connection-based access (hostname+port). |
hostname | string optional | [managed/connection-based] MySQL hostname. Use this OR aws_cluster_arn, not both. Env: MYSQL_HOSTNAME. |
max_query_results | string optional | Max rows per query. Default: 500. Env: MYSQL_MAX_QUERY_RESULTS. |
pattern_analysis_days | string optional | Days of query logs to analyze. Default: 30. |
port | string optional | [managed/connection-based] MySQL port. Default: 3306. Env: MYSQL_PORT. |
queries_file_path | string optional | [self_service] Output path for generated SQL queries (Step 1). |
query_result_file_path | string optional | [self_service] Path to query results file for parsing (Step 2). |
source_identifier | string optional | Identifier for the source to analyze. Accepts a database name (MySQL, PostgreSQL, SQL Server) or a schema/owner name (Oracle, where objects are scoped by schema rather than database). REQUIRED for self_service mode. |
{
"mcpServers": {
"awslabs-dynamodb": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_REGION",
"-e",
"AWS_PROFILE",
"mcp/dynamodb-mcp-server"
],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "default"
}
}
}
}
Content type
Image
Digest
sha256:fbec79079ā¦
Size
153.3 MB
Last updated
2 months ago
docker pull mcp/dynamodb-mcp-serverPulls:
79
Last week