AWS CLI MCP 服务器

使用说明

项目简介

AWS CLI MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在桥接 MCP 客户端(如 Claude Desktop)和 AWS 命令行工具 (AWS CLI)。它允许 AI 助手通过标准的 MCP 协议,安全、可控地执行 AWS CLI 命令,从而实现 AWS 云资源的管理和信息查询等功能。

主要功能点

  • AWS CLI 命令文档查询: 允许 AI 助手检索 AWS 服务的详细命令文档,帮助用户理解和使用 AWS CLI。
  • AWS CLI 命令执行: 允许 AI 助手执行 AWS CLI 命令,并以结构化的格式返回结果,方便 AI 理解和处理。
  • Docker 部署: 提供 Docker 镜像,支持多架构 (AMD64/ARM64),简化部署流程。
  • Python 部署: 支持 Python 环境部署,方便开发和定制。
  • AWS 认证集成: 利用主机上的 AWS 认证信息,无需额外配置。

安装步骤

方式一:使用 Docker (推荐)

  1. 克隆仓库:

    git clone https://github.com/alexei-led/aws-mcp-server.git
    cd aws-mcp-server
  2. 启动 Docker 容器:

    docker compose -f deploy/docker/docker-compose.yml up -d

    这将会在后台启动 AWS MCP 服务器 Docker 容器。

方式二:使用 Python

  1. 克隆仓库:

    git clone https://github.com/alexei-led/aws-mcp-server.git
    cd aws-mcp-server
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    # venv\Scripts\activate  # Windows
  3. 安装 Python 依赖并运行服务器:

    pip install -e .
    python -m aws_mcp_server

    这将启动 Python 版本的 AWS MCP 服务器。

服务器配置 (MCP 客户端配置)

以下 JSON 配置信息用于配置 MCP 客户端 (例如 Claude Desktop) 连接到 AWS CLI MCP 服务器。您需要将此配置添加到您的 MCP 客户端设置中。

{
  "serverName": "aws-cli",
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-v",
    "/Users/yourusername/.aws:/root/.aws:ro",  //  挂载 AWS 认证信息目录 (请替换为您的用户目录)
    "ghcr.io/alexei-led/aws-mcp-server:latest" // 使用最新的 Docker 镜像
  ],
  "description": "AWS CLI commands and documentation"
}

参数说明:

  • serverName: 服务器名称,在 MCP 客户端中显示,可以自定义,例如 "aws-cli"。
  • command: 运行 MCP 服务器的命令,这里使用 'docker' 命令启动 Docker 容器。
  • args: 'command' 命令的参数列表。
    • 'run -i --rm': Docker 运行参数,'-i' 保持 STDIN 打开,'--rm' 容器退出后自动删除。
    • '-v /Users/yourusername/.aws:/root/.aws:ro': 重要: 将主机上的 AWS 认证信息目录挂载到容器内。请将 '/Users/yourusername/.aws' 替换为您实际的 AWS 认证信息目录路径 (通常是 '~/.aws' )。 ':ro' 表示只读挂载,提高安全性。
    • 'ghcr.io/alexei-led/aws-mcp-server:latest': AWS MCP 服务器的 Docker 镜像地址和标签。':latest' 表示使用最新稳定版本。您也可以指定特定版本,例如 'ghcr.io/alexei-led/aws-mcp-server:1.0.0'。
  • description: 服务器描述,在 MCP 客户端中显示,可以自定义。

注意:

  • Docker 路径替换: 请务必将配置中的 '/Users/yourusername/.aws' 替换为您实际的 AWS 认证信息目录路径。Windows 用户请使用 Windows 路径格式,例如 'C:/Users/yourusername/.aws'。
  • AWS 认证配置: 确保您的 AWS 认证信息 (例如 AWS Access Key ID 和 Secret Access Key,或已配置的 AWS CLI 配置文件) 在主机上已正确配置,以便 Docker 容器内的 AWS CLI 可以使用这些认证信息访问 AWS 服务。

基本使用方法

成功配置并连接 MCP 客户端后,您可以使用以下工具与 AWS MCP 服务器进行交互:

  1. describe_command 工具 (获取 AWS CLI 命令文档)

    在 MCP 客户端中,您可以调用 'describe_command' 工具来获取 AWS CLI 命令的帮助文档。例如,要获取 'aws s3 cp' 命令的文档,您可以发送如下请求:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/describe_command",
      "params": {
        "service": "s3",
        "command": "cp"
      }
    }

    服务器会返回包含 'aws s3 cp' 命令详细文档的 JSON 响应。

  2. execute_command 工具 (执行 AWS CLI 命令)

    您可以使用 'execute_command' 工具来执行 AWS CLI 命令。例如,要列出您的 S3 存储桶,您可以发送如下请求:

    {
      "jsonrpc": "2.0",
      "id": 2,
      "method": "tools/execute_command",
      "params": {
        "command": "aws s3 ls"
      }
    }

    服务器会执行 'aws s3 ls' 命令,并返回包含命令执行结果的 JSON 响应。

请参考仓库 README.md 文件获取更详细的使用说明和安全注意事项。

服务器信息