使用说明

项目简介

AWS MCP Server 是一个开源项目,它实现了 Model Context Protocol (MCP) 服务器,旨在为大型语言模型(LLM)客户端提供访问和操作 Amazon Web Services (AWS) 资源的标准化接口。目前,该服务器主要支持 AWS S3 (对象存储) 和 DynamoDB (NoSQL 数据库) 这两种核心服务。通过预定义的工具,LLM 客户端可以安全、便捷地与 AWS 云服务进行交互,例如创建 S3 存储桶、上传/下载 S3 对象、创建/查询 DynamoDB 表格等。所有操作都会被详细记录在审计日志中,方便用户追踪和管理。

主要功能点

  • S3 服务集成: 提供了一系列工具,允许 LLM 客户端执行常见的 S3 操作,包括:
    • 创建、列出和删除 S3 存储桶
    • 上传、删除和列出 S3 对象
    • 读取 S3 对象内容
  • DynamoDB 服务集成: 提供全面的 DynamoDB 工具集,支持:
    • 表格操作:创建、描述、列出、删除和更新 DynamoDB 表格
    • 项目操作:在 DynamoDB 表格中进行项目的 增、删、改、查 (CRUD) 操作,包括单项和批量操作
    • TTL (Time To Live) 操作:管理 DynamoDB 表格的 TTL 设置
    • PartiQL 批量执行:支持批量执行 PartiQL 语句
  • 审计日志: 所有通过该 MCP 服务器执行的 AWS 操作都会被记录在审计日志中,LLM 客户端可以通过读取 'audit://aws-operations' 资源来查看详细的操作历史。
  • 标准 MCP 协议: 遵循 Model Context Protocol 规范,确保与兼容 MCP 协议的 LLM 客户端无缝对接。
  • Stdio 传输: 使用标准输入/输出 (stdio) 作为默认的通信协议,易于部署和集成。

安装步骤

  1. 克隆仓库
    git clone https://github.com/MCP-Mirror/rishikavikondala_mcp-server-aws.git
    cd rishikavikondala_mcp-server-aws
  2. 配置 AWS 凭证 该服务器需要 AWS 账户的读写 (RW) 权限才能操作 S3 和 DynamoDB 服务。您可以通过以下两种方式配置 AWS 凭证:
    • 环境变量: 设置以下环境变量:
      • 'AWS_ACCESS_KEY_ID'
      • 'AWS_SECRET_ACCESS_KEY'
      • 'AWS_REGION' (默认为 'us-east-1')
    • AWS 凭证链: 如果您已经配置了 AWS CLI,可以使用默认的 AWS 凭证链。
  3. 安装 Python 包 建议使用 'uv' 或 'pip' 包管理器安装项目依赖和自身。在仓库根目录下执行:
    uv pip install .
    或者
    pip install .

服务器配置

为了让 MCP 客户端(例如 Claude 桌面应用)连接到 AWS MCP Server,您需要在客户端的配置文件中添加服务器配置信息。以 'claude_desktop_config.json' 文件为例,您需要添加 'mcpServers' 配置段,示例如下:

{
  "mcpServers": {
    "mcp-server-aws": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/repo/mcp-server-aws",
        "run",
        "mcp-server-aws"
      ]
    }
  }
}

配置参数说明:

  • '"mcp-server-aws"': MCP 服务器的名称,您可以自定义,客户端通过此名称引用该服务器。
  • '"command": "uv"': 启动服务器的命令。这里假设您使用 'uv' 运行 Python 项目。如果您使用 'pip install .' 安装的包,并且确保 'mcp-server-aws' 命令在您的系统 PATH 环境变量中,您可以将 'command' 简化为 '"mcp-server-aws"'。
  • '"args"': 传递给启动命令的参数列表。
    • '"--directory"': 指定项目仓库的路径。请将 '/path/to/repo/mcp-server-aws' 替换为您实际的仓库路径。
    • '"run"': 使用 'uv run' 命令来运行指定的 Python 包。
    • '"mcp-server-aws"': 指定要运行的 Python 包名称。这个名称应该与您项目中的包名称一致 (通常在 'setup.py' 或 'pyproject.toml' 中定义)。

请注意: 您需要根据您的实际环境和安装方式调整 'command' 和 'args' 配置。

基本使用方法

  1. 启动 MCP 服务器: 根据您在客户端配置文件中设置的 'command' 和 'args',启动 AWS MCP Server。例如,如果使用上面的 'uv' 配置,在终端中执行配置的 'command' 和 'args' 即可。

  2. 配置 MCP 客户端: 打开您的 MCP 客户端 (例如 Claude 桌面应用),并确保已加载包含 AWS MCP Server 配置的 'claude_desktop_config.json' 文件。

  3. 使用 LLM 客户端与 AWS 交互: 现在,您可以使用 LLM 客户端通过 AWS MCP Server 提供的工具来操作 AWS S3 和 DynamoDB 服务了。例如,您可以指示 Claude 执行以下操作:

    • "创建一个名为 'my-test-bucket' 的 S3 存储桶"
    • "列出我所有的 S3 存储桶"
    • "在 DynamoDB 中创建一个名为 'my-table' 的表格"
    • "查询 'my-table' 表格中的数据"

    服务器会将所有操作记录在审计日志中。您可以通过指示 LLM 客户端读取 'audit://aws-operations' 资源来查看审计日志内容。

信息

分类

数据库与文件