dynamodb
com.pulsemcp/dynamodb
About dynamodb
dynamodb is an MCP server published by pulsemcp.com. MCP server for AWS DynamoDB with fine-grained tool control and configurable access levels.
It runs on your own machine: your AI client starts it from the npm package aws-dynamodb-mcp-server at version 0.2.7.
It asks for 2 secrets: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Give it a key with the least access that still works.
It also needs AWS_REGION set before it starts.
Version 0.2.7 was published on 17 June 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
AWS_REGION | Yes | No | AWS region for DynamoDB (or use AWS_DEFAULT_REGION). |
AWS_ACCESS_KEY_ID | No | Yes | AWS access key ID (uses AWS credential chain if not set). |
AWS_SECRET_ACCESS_KEY | No | Yes | AWS secret access key (uses AWS credential chain if not set). |
DYNAMODB_ENDPOINT | No | No | Custom endpoint for local DynamoDB or LocalStack. |
DYNAMODB_ENABLED_TOOL_GROUPS | No | No | Comma-separated tool groups to enable (readonly, readwrite, admin). |
DYNAMODB_ENABLED_TOOLS | No | No | Comma-separated whitelist of specific tools to enable. |
DYNAMODB_DISABLED_TOOLS | No | No | Comma-separated blacklist of specific tools to disable. |
DYNAMODB_ALLOWED_TABLES | No | No | Restrict operations to specific tables (comma-separated); all tables accessible if not set. |
SKIP_HEALTH_CHECKS | No | No | Skip startup health checks. |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/pulsemcp/mcp-servers |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 2 secrets: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via domain pulsemcp.com |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Install scripts | Pass | aws-dynamodb-mcp-server@0.2.7 runs nothing at install |
| Code red flags | Pass | Read 48 files in aws-dynamodb-mcp-server@0.2.7: no obfuscation, encoded execution, credential reads or data-collection endpoints found |
| Text aimed at the AI | Pass | No hidden characters or instructions to the AI in 48 files, including comments and the README |
Code review: Pass, with notes
We read all 4,162 lines in 46 files of aws-dynamodb-mcp-server 0.2.7 on 2026-10-31, without running it.
Lets your AI read and change your Amazon DynamoDB tables. It talks only to AWS DynamoDB (or a local DynamoDB endpoint you set), using the AWS credentials you configure. Its job is to send your table data to AWS and back. Watch out: by default it can also write, delete and drop whole tables. Set DYNAMODB_ENABLED_TOOL_GROUPS=readonly (and DYNAMODB_ALLOWED_TABLES) if you only want reading.
What we found
- Note All 13 tools, including write (put/update/delete/batch_write) and admin (create_table, delete_table, update_table) tools, are enabled by default. Users must set DYNAMODB_ENABLED_TOOL_GROUPS=readonly to get a read-only server.
shared/tools.js:176-191 - Note delete_table permanently deletes a table and all its data with no confirmation step beyond the AI client's own approval prompt. The description does warn that it is destructive.
shared/tools/delete-table.js:41-61 - Info Optional DYNAMODB_ALLOWED_TABLES allow-list is enforced on every tool, and list_tables also hides non-allowed table names and pagination cursors.
shared/tools.js:104-136 - Info The dynamodb://config resource masks AWS keys as '***configured***'; no secrets are exposed or logged.
shared/resources.js:29-37 - Info A test entry point with an in-memory mock client ships in the package. It is not the package's main entry and makes no network calls.
build/index.integration-with-mock.js:1-42 - Info Quality: batch_get_items accepts projectionExpression/expressionAttributeNames but silently drops them, so full items are always returned.
shared/dynamodb-client/dynamodb-client.js:235-245 - Info Template boilerplate (resource-selection state, YOUR_RESOURCE_ID) is left in but never called; harmless.
shared/state.js:1-109
| Talks to | dynamodb.<AWS_REGION>.amazonaws.com (AWS SDK default endpoint): table names, keys, items, query/scan/update expressions from the tool arguments, signed with the user's AWS credentials (only when a tool is called (a new client is built per call; startup makes no network call)) DYNAMODB_ENDPOINT (optional, user-set, e.g. DynamoDB Local / LocalStack): same as above (only when a tool is called, replaces the AWS endpoint) AWS credential-chain endpoints (IMDS/SSO/STS) via @aws-sdk default provider chain: credential lookup requests only (on first tool call if AWS_ACCESS_KEY_ID/SECRET not set; dependency behaviour, not in package code) |
|---|---|
| Keys and settings | AWS_REGION / AWS_DEFAULT_REGION: used to pick the AWS regional endpoint (required)AWS_ACCESS_KEY_ID: AWS SDK request signing for DynamoDB only; never logged (config resource shows '***configured***')AWS_SECRET_ACCESS_KEY: AWS SDK request signing for DynamoDB only; never loggedDYNAMODB_ENDPOINT: custom endpoint; logged at DEBUG onlyDYNAMODB_ENABLED_TOOL_GROUPS / DYNAMODB_ENABLED_TOOLS / DYNAMODB_DISABLED_TOOLS / DYNAMODB_ALLOWED_TABLES / SKIP_HEALTH_CHECKS / NODE_ENV / DEBUG: local configuration onlyDYNAMODB_MOCK_DATA: local only, read by the shipped test entry build/index.integration-with-mock.jsYOUR_RESOURCE_ID: template leftover in shared/state.js, never called by the server |
| Files on your machine | Reads its own package.json for the version. No other file system reads or writes. No paths taken from tool input. |
| Runs programs | None. No child_process, eval, dynamic import or shell use. |
| Telemetry | None. |
| Tools | list_tables, describe_table, get_item, query_items, scan_table, batch_get_items, put_item, update_item, delete_item, batch_write_items, create_table, delete_table, update_table |
| Tool descriptions | clean |
This covers the package's own code only, not the 4 packages it depends on (@modelcontextprotocol/sdk, @aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, zod). A new version drops this review until we read it again.
Popularity & health: 63 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
10 forks, 491 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | com.pulsemcp/dynamodb |
|---|---|
| Publisher | Domain pulsemcp.com |
| How the name is verified | Name verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | npm aws-dynamodb-mcp-server 0.2.7 (stdio) |
| Version | 0.2.7 |
| Published | |
| Last updated | |
| Source repository | https://github.com/pulsemcp/mcp-servers |
| Website | None linked |
| Category | Cloud & infrastructure (assigned by keyword rule, not by hand) |
Related servers in Cloud & infrastructure
- Onde Inference CLI7/7Manage your Onde Inference account and models: apps, model catalog,…
- Control Plane3/3Control Plane (controlplane.com): deploy and operate workloads…
- cloudcostwise7/7Find AWS waste with your own read-only credentials. Runs locally.…
- ZopDev MCP3/3Cloud cost, inventory and governance on AWS/Azure/GCP. Read-only by…
- Architecture Diagrams7/7AWS, Azure and GCP architecture diagrams with official icons,…
- Cloud FinOps Skill & MCP8/8Cloud cost + FinOps knowledge for AI agents: AWS/Azure/GCP…