article
README
🚀 动态数据库 MCP 服务器指南
本指南提供的基于 Node.js 的动态数据库(DynamoDB)管理控制台(MCP),能让用户通过命令轻松进行表管理和数据操作,极大提升管理效率。
🚀 快速开始
本指南提供了一个基于 Node.js 的动态数据库 (DynamoDB) 管理控制台 (MCP),允许用户通过命令进行表管理和数据操作。
✨ 主要特性
- 表管理:可创建、列出和描述表,方便对表进行全面管理。
- 索引管理:支持添加、删除和描述全局二次索引 (GSI),优化数据检索性能。
- 容量规划:能更新读写容量,还可查看当前容量信息,合理规划资源。
- 数据操作:支持基本的增删改查功能,满足日常数据处理需求。
- 查询与扫描:可使用条件过滤进行数据检索,精准定位所需数据。
- 工具支持:配备交互式控制台和命令行接口,操作方式灵活。
📦 安装指南
设置 AWS 凭据
- 从 AWS 管理控制台获取访问密钥 ID、秘密访问密钥和区域信息。
- 如果使用临时凭证(例如 IAM 角色),还需获取会话令牌。
- 确保这些凭证具备进行 DynamoDB 操作的适当权限。
使用 Claude Desktop
在 claude_desktop_config.json 中添加以下内容:
Docker(推荐)
{
"mcpServers": {
"dynamodb": {
"command": "docker",
"image": "amazon/dynamodb-local:latest"
}
}
}
💻 使用示例
表管理命令
基础用法
# 创建表
create_table <tableName> <partitionKey> <sortKey> [< gsiDefinitions...>]
# 列出所有表
list_tables
# 描述特定表
describe_table <tableName>
# 删除表
delete_table <tableName>
索引管理命令
基础用法
# 创建索引
create_index <tableName> <indexName> <partitionKey> [<sortKeys...>]
# 列出所有索引
list_indexes <tableName>
# 描述特定索引
describe_index <tableName> <indexName>
# 删除索引
delete_index <tableName> <indexName>
容量规划命令
基础用法
# 更新表容量
update_capacity <tableName> <readCapacity> <writeCapacity>
# 查看当前容量
get_capacity <tableName>
# 获取容量预置详情
get_throughput <tableName>
数据操作命令
基础用法
# 插入数据
put_item <tableName> <jsonItem>
# 查询单个项
get_item <tableName> <partitionKey> <sortKey>
# 删除数据
delete_item <tableName> <partitionKey> <sortKey>
# 更新数据
update_item <tableName> <partitionKey> <sortKey> <expression> <attributeNames...> <attributeValues...>
# 批量写入
batch_write <tableName> <jsonItems...>
# 批量读取
batch_read <tableName> <keys...>
查询与扫描命令
基础用法
# 表查询
query_table <tableName> <partitionKey> [<sortKeys...>]
# 表扫描
scan_table <tableName> [<filters...>]
📚 详细文档
示例问题
表管理
- "创建一个名为 'Products' 的 DynamoDB 表,使用分区键 'productId'(字符串)和排序键 'timestamp'(数字)"
- "列出我账户下的所有 DynamoDB 表"
- "获取 'Users' 表的当前配置信息"
- "在 'Users' 表上添加一个全局二次索引到 email 字段"
容量规划
- "将 'Users' 表的容量更新为 20 读取单位和 15 写入单位"
- "提升 'Users' 表 EmailIndex 索引的容量"
- "获取 'Orders' 表的当前预置容量信息"
数据操作
- "插入一个新用户,ID 为 '123',名称 'John Doe',邮箱 'john@example.com'"
- "获取 ID 为 '123' 的用户"
- "将用户 '123' 的邮箱地址更新为 'john.doe@example.com'"
- "查找所有由用户 '123' 下单的订单"
- "列出所有年龄超过 21 岁的用户"
- "通过 EmailIndex 索引查询邮箱为 'john@example.com' 的用户"
📄 许可证
本项目采用 Apache License 2.0 许可证。
项目地址
- GitHub:https://github.com/...
- Gitee:https://gitee.com/...
⚠️ 重要提示
本文档是为使用和理解 DynamoDB MCP 服务器而编写的参考指南。
Scan to join WeChat group