DynamoDB MCP 服务器
用于管理 Amazon DynamoDB 资源的模型上下文协议服务器。此服务器提供用于表管理、容量管理和数据操作的工具。
作者
伊曼·卡米亚比 ( ikmyb@icloud.com )
特征
表管理
- 使用可自定义的配置创建新的 DynamoDB 表
- 列出现有表
- 获取表的详细信息
- 配置表设置
指数管理
- 创建和管理全局二级索引 (GSI)
- 更新 GSI 容量
- 创建本地二级索引 (LSI)
容量管理
- 更新预配置的读/写容量单位
- 管理表吞吐量设置
数据操作
- 插入或替换表中的项目
- 按主键检索项目
- 更新特定项目属性
- 带条件的查询表
- 使用过滤器扫描表格
注意:不支持删除操作,以防止意外数据丢失。
设置
- 安装依赖项:
- 将 AWS 凭证配置为环境变量:
- 构建服务器:
- 启动服务器:
工具
创建表
使用指定的配置创建一个新的 DynamoDB 表。
参数:
tableName
:要创建的表的名称partitionKey
:分区键的名称partitionKeyType
:分区键的类型(S=字符串,N=数字,B=二进制)sortKey
:(可选)排序键的名称sortKeyType
:(可选)排序键的类型readCapacity
:预配置的读取容量单位writeCapacity
:预配置的写入容量单位
例子:
列表表
列出账户中的所有 DynamoDB 表。
参数:
limit
:(可选)返回的最大表数exclusiveStartTableName
:(可选)分页起始表的名称
例子:
描述表
获取有关 DynamoDB 表的详细信息。
参数:
tableName
:要描述的表的名称
例子:
创建_gsi
在表上创建全局二级索引。
参数:
tableName
:表的名称indexName
: 新索引的名称partitionKey
:索引的分区键partitionKeyType
:分区键的类型sortKey
:(可选)索引的排序键sortKeyType
:(可选)排序键的类型projectionType
:投影类型(ALL、KEYS_ONLY、INCLUDE)nonKeyAttributes
:(可选)项目的非关键属性readCapacity
:预配置的读取容量单位writeCapacity
:预配置的写入容量单位
例子:
更新_gsi
更新全局二级索引的预配置容量。
参数:
tableName
:表的名称indexName
:要更新的索引的名称readCapacity
:新的读取容量单位writeCapacity
:新的写入容量单位
例子:
创建lsi
在表上创建本地二级索引(必须在表创建期间完成)。
参数:
tableName
:表的名称indexName
: 新索引的名称partitionKey
:表的分区键partitionKeyType
:分区键的类型sortKey
:索引的排序键sortKeyType
:排序键的类型projectionType
:投影类型(ALL、KEYS_ONLY、INCLUDE)nonKeyAttributes
:(可选)项目的非关键属性readCapacity
:(可选)预配置的读取容量单位writeCapacity
:(可选)预配置的写入容量单位
例子:
更新容量
更新表的预配置容量。
参数:
tableName
:表的名称readCapacity
:新的读取容量单位writeCapacity
:新的写入容量单位
例子:
放置物品
在表中插入或替换项目。
参数:
tableName
:表的名称item
:要放入表中的项目(作为 JSON 对象)
例子:
获取项目
通过主键从表中检索项目。
参数:
tableName
:表的名称key
:要检索的项目的主键
例子:
更新项目
更新表中项目的特定属性。
参数:
tableName
:表的名称key
:要更新的项目的主键updateExpression
:更新表达式expressionAttributeNames
:属性名称映射expressionAttributeValues
:更新表达式的值conditionExpression
:(可选)更新条件returnValues
:(可选)返回什么值
例子:
查询表
使用关键条件和可选过滤器查询表。
参数:
tableName
:表的名称keyConditionExpression
:关键条件表达式expressionAttributeValues
:关键条件表达式的值expressionAttributeNames
:(可选)属性名称映射filterExpression
:(可选)结果的过滤表达式limit
:(可选)返回的最大项目数
例子:
扫描表
使用可选过滤器扫描整个表。
参数:
tableName
:表的名称filterExpression
:(可选)过滤表达式expressionAttributeValues
:(可选)过滤表达式的值expressionAttributeNames
:(可选)属性名称映射limit
:(可选)返回的最大项目数
例子:
示例问题
以下是您在使用此 DynamoDB MCP 服务器时可以向 Claude 询问的一些示例问题:
表管理
- “创建一个名为‘Products’的新 DynamoDB 表,其分区键为‘productId’(字符串),排序键为‘timestamp’(数字)”
- “列出我的账户中的所有 DynamoDB 表”
- “用户表的当前配置是什么?”
- “在用户表的电子邮件字段上添加全局二级索引”
容量管理
- “将用户表容量更新为 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凭证
- 从 AWS 管理控制台获取 AWS 访问密钥 ID、秘密访问密钥和区域。
- 如果使用临时凭证(例如 IAM 角色),还可以获取会话令牌。
- 确保这些凭证具有 DynamoDB 操作的适当权限。
与 Claude Desktop 一起使用
将其添加到您的claude_desktop_config.json
中:
Docker(推荐)
建筑
Docker:
发展
要在开发模式下运行并自动重新加载:
执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates interaction with Elasticsearch clusters by allowing users to perform index operations, document searches, and cluster management via a Model Context Protocol server and natural language commands.Last updated -6178PythonApache 2.0
- -securityFlicense-qualityProvides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.Last updated -
- -securityFlicense-qualityA Model Context Protocol server that enables SQL query execution, database management, and business intelligence capabilities through MySQL connections.Last updated -JavaScript
- -securityAlicense-qualityAn implementation of the Model Context Protocol that enables interaction with ArangoDB databases, allowing users to perform queries, list databases and collections through natural language.Last updated -04JavaScriptMIT License