Token导航 LogoToken导航TokenDH.com
Remote Dynamodb MCP Server logo
数据服务stdio官方级别未说明来源级核验

Remote Dynamodb MCP Server

MCP Server

用于管理Amazon DynamoDB资源的Model Context Protocol服务器,提供表管理、容量管理和数据操作工具。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude数据分析Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cool-man-vk

提供方

cool-man-vk

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d --rm \

详细介绍

DynamoDB MCP服务器

A. 模型上下文协议服务器 用于管理Amazon DynamoDB资源。此服务器提供用于表管理、容量管理和数据操作的工具。

作者

维格纳什·库马尔(rrvigneshkumar2002@gmail.com)

📋 快速参考:参见 快速引用.md 用于常见命令和配置。

快速开始

# Install dependencies
npm install

# Build the project
npm run build

# Set AWS credentials
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="us-east-1"

# Start the server (binds to 0.0.0.0:3000 by default)
npm start

# Test the health endpoint
curl http://localhost:3000/health

自定义配置

# Run with custom host and port
MCP_HOST=127.0.0.1 MCP_PORT=8080 npm start

远程模式

此MCP服务器以远程模式独占运行,使用HTTP上的服务器发送事件(SSE)进行客户端连接。

特征:

  • 基于HTTP的远程连接传输
  • 允许多个客户端同时连接
  • 非常适合团队环境和云部署
  • 用于监控的健康检查端点

环境变量:

  • MCP_HOST:要绑定的主机(默认值: 0.0.0.0)
  • MCP_PORT:要侦听的端口(默认值: 3000)

📖 有关详细的配置、安全最佳实践和部署指南,请参阅 远程模式.md

🚀 有关Smithery的使用和部署,请参阅 微笑_用法.md

特性

表格管理

  • 使用可定制的配置创建新的DynamoDB表
  • 列出现有表
  • 获取详细的表格信息
  • 配置表格设置

索引管理

  • 创建和管理全球二级索引(GSI)
  • 更新GSI容量
  • 创建本地二级索引(LSI)

容量管理

  • 更新配置的读/写容量单位
  • 管理表吞吐量设置

数据操作

  • 在表格中插入或替换项目
  • 按主键检索项目
  • 更新特定项目属性
  • 带条件的查询表
  • 使用筛选器扫描表
备注:不支持删除操作,以防止意外数据丢失。

设置

  1. 安装依赖项:
npm install
  1. 将AWS凭据配置为环境变量:
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="your_region"
  1. 构建服务器:
npm run build
  1. 启动服务器:

本地模式(stdio):

npm start

远程模式(基于HTTP的SSE):

npm run start:remote

或者使用自定义主机和端口:

MCP_TRANSPORT_MODE=sse MCP_HOST=0.0.0.0 MCP_PORT=8080 npm start

工具

create_table

使用指定的配置创建新的DynamoDB表。

参数:

  • tableName:要创建的表的名称
  • partitionKey:分区密钥的名称
  • partitionKeyType:分区键的类型(S=字符串,N=数字,B=二进制)
  • sortKey:(可选)排序键的名称
  • sortKeyType:(可选)排序键的类型
  • readCapacity:提供的读取容量单位
  • writeCapacity:提供的写入容量单位

例子:

{
  "tableName": "Users",
  "partitionKey": "userId",
  "partitionKeyType": "S",
  "readCapacity": 5,
  "writeCapacity": 5
}

list_tables

列出帐户中的所有DynamoDB表。

参数:

  • limit:(可选)要返回的最大表数
  • exclusiveStartTableName:(可选)分页起始表的名称

例子:

{
  "limit": 10
}

describe_table

获取DynamoDB表的详细信息。

参数:

  • tableName:要描述的表的名称

例子:

{
  "tableName": "Users"
}

create_gsi

在表上创建全局辅助索引。

参数:

  • tableName:表的名称
  • indexName:新索引的名称
  • partitionKey:索引的分区键
  • partitionKeyType:分区密钥类型
  • sortKey:(可选)索引的排序键
  • sortKeyType:(可选)排序键的类型
  • projectionType:投影类型(ALL、KEYS_ONLY、INCLUDE)
  • nonKeyAttributes:(可选)项目的非关键属性
  • readCapacity:提供的读取容量单位
  • writeCapacity:提供的写入容量单位

例子:

{
  "tableName": "Users",
  "indexName": "EmailIndex",
  "partitionKey": "email",
  "partitionKeyType": "S",
  "projectionType": "ALL",
  "readCapacity": 5,
  "writeCapacity": 5
}

update_gsi

更新全局辅助索引的配置容量。

参数:

  • tableName:表的名称
  • indexName:要更新的索引的名称
  • readCapacity:新的读取容量单位
  • writeCapacity:新的写入容量单位

例子:

{
  "tableName": "Users",
  "indexName": "EmailIndex",
  "readCapacity": 10,
  "writeCapacity": 10
}

create_lsi

在表上创建本地辅助索引(必须在表创建期间完成)。

参数:

  • tableName:表的名称
  • indexName:新索引的名称
  • partitionKey:表的分区键
  • partitionKeyType:分区密钥类型
  • sortKey:索引的排序键
  • sortKeyType:排序键的类型
  • projectionType:投影类型(ALL、KEYS_ONLY、INCLUDE)
  • nonKeyAttributes:(可选)项目的非关键属性
  • readCapacity:(可选)提供的读取容量单元
  • writeCapacity:(可选)提供的写入容量单元

例子:

{
  "tableName": "Users",
  "indexName": "CreatedAtIndex",
  "partitionKey": "userId",
  "partitionKeyType": "S",
  "sortKey": "createdAt",
  "sortKeyType": "N",
  "projectionType": "ALL"
}

update_容量

更新表的配置容量。

参数:

  • tableName:表的名称
  • readCapacity:新的读取容量单位
  • writeCapacity:新的写入容量单位

例子:

{
  "tableName": "Users",
  "readCapacity": 10,
  "writeCapacity": 10
}

输出项

插入或替换表中的项目。

参数:

  • tableName:表的名称
  • item:要放入表中的项(作为JSON对象)

例子:

{
  "tableName": "Users",
  "item": {
    "userId": "123",
    "name": "John Doe",
    "email": "john@example.com"
  }
}

获取项目

按主键从表中检索项。

参数:

  • tableName:表的名称
  • key:要检索的项目的主键

例子:

{
  "tableName": "Users",
  "key": {
    "userId": "123"
  }
}

update_item

更新表中项目的特定属性。

参数:

  • tableName:表的名称
  • key:要更新的项目的主键
  • updateExpression:更新表达式
  • expressionAttributeNames:属性名称映射
  • expressionAttributeValues:更新表达式的值
  • conditionExpression:(可选)更新条件
  • returnValues:(可选)返回什么值

例子:

{
  "tableName": "Users",
  "key": {
    "userId": "123"
  },
  "updateExpression": "SET #n = :name",
  "expressionAttributeNames": {
    "#n": "name"
  },
  "expressionAttributeValues": {
    ":name": "Jane Doe"
  }
}

查询表

使用关键字条件和可选筛选器查询表。

参数:

  • tableName:表的名称
  • keyConditionExpression:关键条件表达式
  • expressionAttributeValues:关键条件表达式的值
  • expressionAttributeNames:(可选)属性名称映射
  • filterExpression:(可选)筛选结果表达式
  • limit:(可选)要退回的最大项目数

例子:

{
  "tableName": "Users",
  "keyConditionExpression": "userId = :id",
  "expressionAttributeValues": {
    ":id": "123"
  }
}

scan_table

使用可选筛选器扫描整个表。

参数:

  • tableName:表的名称
  • filterExpression:(可选)筛选器表达式
  • expressionAttributeValues:(可选)筛选器表达式的值
  • expressionAttributeNames:(可选)属性名称映射
  • limit:(可选)要退回的最大项目数

例子:

{
  "tableName": "Users",
  "filterExpression": "age > :minAge",
  "expressionAttributeValues": {
    ":minAge": 21
  }
}

例题

以下是使用此DynamoDB MCP服务器时可以向Claude提出的一些示例问题:

表格管理

  • 使用分区键“productId”(字符串)和排序键“timestamp”(数字)创建一个名为“Products”的新DynamoDB表
  • “列出我帐户中的所有DynamoDB表”
  • “用户表的当前配置是什么?”
  • “在Users表的电子邮件字段上添加全局辅助索引”

容量管理

  • “将用户表容量更新为20个读取单元和15个写入单元”
  • “扩大用户表上的EmailIndex GSI容量”
  • “订单表的当前配置容量是多少?”

数据操作

  • “插入ID为'123'、名为'John Doe'、电子邮件为'的新用户john@example.com'"
  • “获取ID为'123'的用户”
  • “将用户'123'的电子邮件地址更新为'john.doe@example.com'"
  • “查找用户'123'下的所有订单”
  • “列出所有21岁以上的用户”
  • “查询EmailIndex以查找具有电子邮件的用户”john@example.com'"

配置

设置AWS凭据

  1. 从AWS管理控制台获取AWS访问密钥ID、秘密访问密钥和区域。
  2. 如果使用临时凭据(例如IAM角色),还需要获取会话令牌。
  3. 确保这些凭据具有DynamoDB操作的适当权限。

使用Claude Desktop

首先,启动主机上的服务器:

npm start

然后将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "dynamodb": {
      "url": "http://your-server-host:3000/sse"
    }
  }
}

对于本地测试,请使用 http://localhost:3000/sse.

安全说明: 确保采取了适当的网络安全措施:

  • 在生产环境中使用HTTPS/TLS
  • 实施身份验证和授权
  • 使用防火墙限制网络访问
  • 考虑使用带有SSL终止的反向代理(nginx、Apache)

建筑

码头工人

塑造形象:

docker build -t mcp/dynamodb-mcp-server -f Dockerfile .

运行服务器:

docker run -d --rm \
  -e AWS_ACCESS_KEY_ID="your_access_key" \
  -e AWS_SECRET_ACCESS_KEY="your_secret_key" \
  -e AWS_REGION="your_region" \
  -p 3000:3000 \
  --name dynamodb-mcp \
  mcp/dynamodb-mcp-server

使用自定义端口:

docker run -d --rm \
  -e MCP_PORT=8080 \
  -e AWS_ACCESS_KEY_ID="your_access_key" \
  -e AWS_SECRET_ACCESS_KEY="your_secret_key" \
  -e AWS_REGION="your_region" \
  -p 8080:8080 \
  --name dynamodb-mcp \
  mcp/dynamodb-mcp-server

发展

要在开发模式下自动重新加载运行:

npm run watch

测试服务器

Linux/Mac:

chmod +x test-remote.sh
./test-remote.sh

Windows(PowerShell):

.\test-remote.ps1

或者手动测试端点:

# Start server
npm start

# In another terminal, test the health endpoint
curl http://localhost:3000/health

# Test SSE connection
curl -N -H "Accept: text/event-stream" http://localhost:3000/sse

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

目录标签

目录标签

JavaScriptClaude数据分析DynamoDB管理本地部署表管理容量管理数据操作云数据库

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP