The loop it closes is design, validate, cost, generate: the model is run against DynamoDB Local until every access pattern returns what it should, priced in capacity units and dollars, then turned into schema.json, a CDK app and a data access layer. The design phase is a long expert prompt handed to your model, so the quality of what comes back tracks the reasoning ability of whatever you are running it on.
AWS's developer-experience server for Amazon DynamoDB. It does not read or write your tables — it takes an agent through modeling: gathering access patterns, designing tables and indexes, validating the design locally, costing it, and generating code from it.
- A two-phase modeling workflow — requirements first, design second — writing dynamodb_requirements.md and a dynamodb_data_model.md that records why each table looks the way it does — dynamodb_data_modeling
- An existing MySQL, PostgreSQL, SQL Server or Oracle database read for schema and query patterns, either over the RDS Data API or by running the SQL it generates yourself — source_db_analyzer
- The finished model exercised against DynamoDB Local: tables created, sample data inserted, every access pattern run, and failures fed back into a regenerated schema until they pass — dynamodb_data_model_validation
- Capacity units and monthly cost worked out from the access patterns, including the extra writes each GSI causes and storage — compute_performances_and_costs
- The model converted into a machine-readable schema.json, and that file checked for field types, operations, GSI mappings and pattern ids before code generation — dynamodb_data_model_schema_converter, dynamodb_data_model_schema_validator
- Type-safe Python from that schema: entity classes with field validation, repository classes with CRUD, and the access patterns implemented, on Pydantic and boto3 — generate_data_access_layer
- A CDK app generated from the model, to deploy the tables it designed — generate_resources
AWS credentials, uv, and Python installed through uv python install 3.10; uvx runs the published package awslabs.dynamodb-mcp-server. Local validation needs either a container runtime — Docker, Podman, Finch or nerdctl with a running daemon — or Java JRE 17 or newer reachable from PATH. Analysing a MySQL or Aurora MySQL database in managed mode goes through the RDS Data API with a cluster ARN; MySQL, PostgreSQL, SQL Server and Oracle are all supported in self-service mode, where you run the generated queries yourself. The one-click installers set AWS_REGION to us-west-2, so change it if that is not your region.
One command plus a key — uvx awslabs.dynamodb-mcp-server, then supply credentials
