DynamoDB管理工具

AWS DynamoDB MCP Server 是一个全面的服务器,提供DynamoDB的操作管理和专家设计指导,包含30多种工具用于管理表、项目、索引、备份等。

  • by ascending-llc
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ascending-llc/dynamodb-mcp-server

使用说明

AWS DynamoDB MCP 服务器

用于与AWS DynamoDB交互的官方MCP服务器

这款综合服务器既提供DynamoDB的运营管理功能,也提供专业的设计指导,特色在于包含30多种运营管理工具,用于管理DynamoDB表、项目、索引、备份等,以及专业的数据建模指导。

可用的MCP工具

设计与建模

  • dynamodb_data_modeling - 获取完整的DynamoDB数据建模专家提示

表操作

  • create_table - 创建一个带有可选二级索引的新DynamoDB表
  • delete_table - 删除一个表及其所有项目
  • describe_table - 返回表信息,包括状态、创建时间、键模式和索引
  • list_tables - 返回您账户中表格名称的分页列表
  • update_table - 修改表设置,包括预置吞吐量、全局二级索引和DynamoDB Streams配置

项目运营

  • get_item - 返回具有给定主键的项目的属性
  • put_item - 在表中创建新项或替换现有项
  • update_item - 编辑现有项目的属性,或如果该项目尚不存在,则添加一个新项目
  • delete_item - 通过主键删除表中的单个条目

查询和扫描操作

  • query - 从表或索引中返回与分区键值匹配的项目,可选排序键过滤
  • scan - 通过扫描表或二级索引来返回项目和属性

备份与恢复

  • create_backup - 创建DynamoDB表的备份
  • describe_backup - 描述一个现有表的备份
  • list_backups - 返回表备份的列表
  • restore_table_from_backup - 从备份中创建一个新表
  • describe_continuous_backups - 返回连续备份和时间点恢复状态
  • update_continuous_backups - 启用或禁用时间点恢复功能

生存时间(TTL)

  • update_time_to_live - 启用或禁用指定表的生存时间(TTL)
  • describe_time_to_live - 返回表的生存时间(TTL)设置

出口业务

  • describe_export - 返回有关表导出的信息
  • list_exports - 返回一个表格导出列表

标签和资源策略

  • put_resource_policy - 将基于资源的策略文档附加到表或流上
  • get_resource_policy - 返回附加到表或流上的基于资源的策略文档
  • tag_resource - 为DynamoDB资源添加标签
  • untag_resource - 从DynamoDB资源中移除标签
  • list_tags_of_resource - 返回 DynamoDB 资源的标签

杂项

  • describe_limits - 返回您AWS账户当前的已配置容量配额
  • describe_endpoints - 返回当前区域的 DynamoDB 端点

说明/指示

用于与AWS DynamoDB交互的官方MCP服务器提供了一套全面的工具,既可用于设计DynamoDB资源,也可用于管理这些资源。

要使用这些工具,请确保您已配置了适当的AWS凭证,并且这些凭证具有对DynamoDB操作的相应权限。服务器将自动使用环境变量(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN)或其他标准的AWS凭证来源中的凭证。

所有工具均支持可选功能 region_name 参数用于指定要在哪个AWS区域进行操作。如果未提供该参数,它将使用AWS_REGION环境变量,或者默认使用'us-west-2'区域。

先决条件

  1. 安装 uv 来自 星界(或星体) 或者 GitHub 的 README 文件
  2. 使用以下方法安装Python uv python install 3.10
  3. 设置AWS凭据以访问AWS服务
    • 如果您不希望大型语言模型(LLM)修改任何资源,请考虑设置只读权限

安装

光标 VS Code

将MCP添加到您喜欢的代理工具中。(例如,对于Amazon Q Developer CLI MCP, ~/.aws/amazonq/mcp.json):

{
  "mcpServers": {
    "awslabs.dynamodb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.dynamodb-mcp-server@latest"],
      "env": {
        "DDB-MCP-READONLY": "true",
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows 安装

对于Windows用户,MCP服务器的配置格式略有不同:

{
  "mcpServers": {
    "awslabs.dynamodb-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.dynamodb-mcp-server@latest",
        "awslabs.dynamodb-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

或在成功后运行 Docker docker build -t awslabs/dynamodb-mcp-server .:

  {
    "mcpServers": {
      "awslabs.dynamodb-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "--interactive",
          "--env",
          "FASTMCP_LOG_LEVEL=ERROR",
          "awslabs/dynamodb-mcp-server:latest"
        ],
        "env": {},
        "disabled": false,
        "autoApprove": []
      }
    }
  }