使用说明

项目简介

DynamoDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供与 Amazon DynamoDB 数据库交互的能力。通过此服务器,LLM 可以安全、便捷地管理 DynamoDB 资源和数据。

主要功能点

  • 表管理: 创建、列出和描述 DynamoDB 表,配置表设置。
  • 索引管理: 创建和管理全局二级索引 (GSI) 和本地二级索引 (LSI),更新 GSI 容量。
  • 容量管理: 更新表和 GSI 的预置读/写容量单位。
  • 数据操作: 插入、获取、更新、查询和扫描 DynamoDB 表中的数据项。

安装步骤

  1. 安装依赖: 在服务器仓库根目录下运行 'npm install' 命令安装项目依赖。
    npm install
  2. 配置 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"
  3. 构建服务器: 运行 'npm run build' 命令构建服务器代码。
    npm run build
  4. 启动服务器: 运行 '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 岁以上的用户"

信息

分类

数据库与文件