Token导航 LogoToken导航TokenDH.com
DynamoDB MCP Server logo
开发工具stdio官方级别未说明来源级核验

DynamoDB MCP Server

MCP Server

Model Context Protocol server for managing Amazon DynamoDB resources

工具数

0

提示词数

0

GitHub Stars

16

资源数

0
JavaScriptClaude开发工具Claude DesktopClaude

安装说明

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

作者 / 组织

imankamyabi

提供方

imankamyabi

最后核验

2026/5/18 02:16

快速接入

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

详细介绍

DynamoDB MCP服务器

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

作者

Iman Kamyabi(ikmyb@icloud.com)

特性

表格管理

  • 使用可定制的配置创建新的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. 启动服务器:
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

将此添加到您的 claude_desktop_config.json:

Docker(推荐)

{
  "mcpServers": {
    "dynamodb": {
      "command": "docker",
      "args": [ "run", "-i", "--rm", "-e", "AWS_ACCESS_KEY_ID", "-e", "AWS_SECRET_ACCESS_KEY", "-e", "AWS_REGION", "-e", "AWS_SESSION_TOKEN", "mcp/dynamodb-mcp-server" ],
      "env": {
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key",
        "AWS_REGION": "your_region",
        "AWS_SESSION_TOKEN": "your_session_token"  
      }
    }
  }
}

建筑

Docker:

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

发展

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

npm run dev

许可证

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

目录标签

目录标签

JavaScriptClaude开发工具developer-toolsdynamodbawsservermcpDynamoDB管理本地部署表管理容量管理数据操作索引管理

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP