使用说明
项目简介
DynamoDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供与 Amazon DynamoDB 数据库交互的能力。通过此服务器,LLM 可以安全、便捷地管理 DynamoDB 资源和数据。
主要功能点
- 表管理: 创建、列出和描述 DynamoDB 表,配置表设置。
- 索引管理: 创建和管理全局二级索引 (GSI) 和本地二级索引 (LSI),更新 GSI 容量。
- 容量管理: 更新表和 GSI 的预置读/写容量单位。
- 数据操作: 插入、获取、更新、查询和扫描 DynamoDB 表中的数据项。
安装步骤
- 安装依赖: 在服务器仓库根目录下运行 'npm install' 命令安装项目依赖。
npm install - 配置 AWS 凭证: 配置 AWS 访问密钥 ID、秘密访问密钥和区域作为环境变量。您需要从 AWS 管理控制台获取这些凭证,并确保它们具有操作 DynamoDB 的适当权限。
export AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" # 替换为您的 AWS Access Key ID export AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" # 替换为您的 AWS Secret Access Key export AWS_REGION="YOUR_AWS_REGION" # 替换为您的 AWS 区域 # 如果使用临时凭证(例如 IAM 角色),还需要设置 AWS_SESSION_TOKEN 环境变量 # export AWS_SESSION_TOKEN="YOUR_AWS_SESSION_TOKEN" - 构建服务器: 运行 'npm run build' 命令构建服务器代码。
npm run build - 启动服务器: 运行 'npm start' 命令启动 MCP 服务器。
npm start
服务器配置
对于 MCP 客户端(如 Claude),您需要配置 'claude_desktop_config.json' 文件以连接到 DynamoDB MCP Server。以下是 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": { // 仅为示例,实际环境变量应在运行 Docker 时设置,此处配置仅供参考,MCP客户端不需要读取 env "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID", // 替换为您的 AWS Access Key ID "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY", // 替换为您的 AWS Secret Access Key "AWS_REGION": "YOUR_AWS_REGION", // 替换为您的 AWS 区域 "AWS_SESSION_TOKEN": "YOUR_AWS_SESSION_TOKEN" // 如果使用临时凭证,请替换为您的 AWS Session Token,否则删除此行 } } } }
配置参数说明:
- 'server name': 'dynamodb' (用户自定义,用于在 MCP 客户端中引用此服务器)
- 'command': 'docker' (指定启动服务器的命令为 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"]' (docker 运行参数,'-i' 保持STDIN打开,'-rm' 容器退出后自动删除,'-e' 设置环境变量,'mcp/dynamodb-mcp-server' 为 Docker 镜像名称)
- 'env': (仅为示例参考) MCP 客户端 不需要 读取 'env' 配置,实际 AWS 凭证应在 Docker 运行环境中通过 '-e' 参数设置,或者直接在宿主机环境中设置。 此处的 'env' 仅为在 'claude_desktop_config.json' 中 示例 如何配置环境变量,并非 MCP 客户端实际使用的配置。
基本使用方法
配置完成后,您可以在 MCP 客户端中通过自然语言指令调用 DynamoDB MCP Server 提供的工具,例如:
- "创建一个名为 'Products' 的 DynamoDB 表,分区键为 'productId' (字符串),排序键为 'timestamp' (数字)"
- "列出我账户中所有的 DynamoDB 表"
- "获取 'Users' 表的当前配置信息"
- "在 'Users' 表的 'email' 字段上添加一个全局二级索引"
- "将 'Users' 表的容量更新为 20 个读单位和 15 个写单位"
- "插入一个新用户,ID 为 '123',姓名为 'John Doe',邮箱为 '[email protected]'"
- "获取 ID 为 '123' 的用户信息"
- "将用户 '123' 的邮箱地址更新为 '[email protected]'"
- "查找用户 '123' 下的所有订单"
- "列出所有 21 岁以上的用户"
信息
分类
数据库与文件