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

VariableRequiredSecretDescription
AWS_REGIONYesNoAWS region for DynamoDB (or use AWS_DEFAULT_REGION).
AWS_ACCESS_KEY_IDNoYesAWS access key ID (uses AWS credential chain if not set).
AWS_SECRET_ACCESS_KEYNoYesAWS secret access key (uses AWS credential chain if not set).
DYNAMODB_ENDPOINTNoNoCustom endpoint for local DynamoDB or LocalStack.
DYNAMODB_ENABLED_TOOL_GROUPSNoNoComma-separated tool groups to enable (readonly, readwrite, admin).
DYNAMODB_ENABLED_TOOLSNoNoComma-separated whitelist of specific tools to enable.
DYNAMODB_DISABLED_TOOLSNoNoComma-separated blacklist of specific tools to disable.
DYNAMODB_ALLOWED_TABLESNoNoRestrict operations to specific tables (comma-separated); all tables accessible if not set.
SKIP_HEALTH_CHECKSNoNoSkip startup health checks.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/pulsemcp/mcp-servers
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for 2 secrets: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via domain pulsemcp.com
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Install scriptsPassaws-dynamodb-mcp-server@0.2.7 runs nothing at install
Code red flagsPassRead 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 AIPassNo 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 todynamodb.<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 settingsAWS_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 logged
DYNAMODB_ENDPOINT: custom endpoint; logged at DEBUG only
DYNAMODB_ENABLED_TOOL_GROUPS / DYNAMODB_ENABLED_TOOLS / DYNAMODB_DISABLED_TOOLS / DYNAMODB_ALLOWED_TABLES / SKIP_HEALTH_CHECKS / NODE_ENV / DEBUG: local configuration only
DYNAMODB_MOCK_DATA: local only, read by the shipped test entry build/index.integration-with-mock.js
YOUR_RESOURCE_ID: template leftover in shared/state.js, never called by the server
Files on your machineReads its own package.json for the version. No other file system reads or writes. No paths taken from tool input.
Runs programsNone. No child_process, eval, dynamic import or shell use.
TelemetryNone.
Toolslist_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 descriptionsclean

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.

Popularity16 / 40

81 GitHub stars, 62 downloads last week, 0 Hacker News posts (0 points). Best two of the three, each on a log scale.

Activity17 / 25

Last push 2026-10-09, last release 2025-07-03, 1 commits in 90 days.

Issue health11 / 15

66 closed of 93 issues.

Our checks20 / 20

0 warnings, each costing a fifth.

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 namecom.pulsemcp/dynamodb
PublisherDomain pulsemcp.com
How the name is verifiedName verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesnpm aws-dynamodb-mcp-server 0.2.7 (stdio)
Version0.2.7
Published
Last updated
Source repositoryhttps://github.com/pulsemcp/mcp-servers
WebsiteNone linked
CategoryCloud & infrastructure (assigned by keyword rule, not by hand)

Related servers in Cloud & infrastructure