AWS CLI 聊天助手 MCP 服务器

使用说明

项目简介

本项目是一个基于 Amazon Bedrock 构建的 AWS 云资源对话式助手。它利用 Model Context Protocol (MCP) 服务器作为桥梁,将自然语言指令转换为 AWS CLI 命令执行,帮助用户通过聊天的方式管理和查询 AWS 资源。用户可以通过友好的 Web 界面与 AI 助手对话,实现例如查看 S3 存储桶、创建 EC2 实例、查询账单等操作。

主要功能点

  • 自然语言操作 AWS 云资源: 用户可以使用自然语言提问或下达指令,例如 “列出我的 S3 存储桶” 或 “创建一个 EC2 实例”,无需手动编写 AWS CLI 命令。
  • 集成 AWS CLI 工具: 通过 MCP 服务器集成 AWS CLI,AI 助手可以实际执行 AWS 命令,与 AWS 云平台进行交互。
  • AI 驱动的智能助手: 利用 Amazon Bedrock 的强大语言模型(如 Claude),理解用户意图,并生成和执行相应的 AWS CLI 命令。
  • 实时思考过程展示: Web 界面可以实时展示 AI 助手的思考过程,帮助用户理解 AI 如何将自然语言问题转化为 AWS CLI 命令。
  • 友好的 Web 界面: 使用 Streamlit 构建交互式 Web 界面,用户可以方便地进行对话和操作。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/blait/mcp-bedrock-inline-agent
    cd mcp-bedrock-inline-agent
  2. 创建并激活虚拟环境:

    python3 -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    # 或
    .venv\Scripts\activate  # Windows
  3. 安装 Python 依赖:

    pip install -r requirements.txt

    'requirements.txt' 文件包含了 'streamlit', 'boto3', 'mcp' 等必要的 Python 库。

  4. 安装 Amazon Bedrock Inline Agent SDK:

    git clone https://github.com/awslabs/amazon-bedrock-agent-samples.git
    cd amazon-bedrock-agent-samples/src/InlineAgent
    pip install -e .
    cd ../../../mcp-bedrock-inline-agent # 返回主仓库目录
  5. 拉取 Docker 镜像:

    docker pull ghcr.io/alexei-led/aws-mcp-server:latest

    此 Docker 镜像包含了 MCP 服务器和 AWS CLI 工具。

  6. 配置 AWS 凭证:

    • 确保您的 AWS 凭证已配置在 '~/.aws/credentials' 文件中,并具有操作 AWS 资源的权限。
    [default]
    aws_access_key_id = YOUR_ACCESS_KEY
    aws_secret_access_key = YOUR_SECRET_KEY
    region = YOUR_PREFERRED_REGION

服务器配置

本项目实际使用 Docker 镜像 'ghcr.io/alexei-led/aws-mcp-server:latest' 作为 MCP 服务器,并在 'aws_chat_with_thoughts_stream.py' 脚本中通过以下配置启动:

{
  "server name": "awscli-mcp-server",
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-v",
    "~/.aws:/home/appuser/.aws:ro",
    "ghcr.io/alexei-led/aws-mcp-server:latest"
  ],
  "description": "配置用于连接 AWS CLI MCP 服务器的 Docker 命令",
  "notes": [
    "'-i':  保持STDIN打开,即使没有连接。",
    "'--rm': 容器退出后自动删除。",
    "'-v ~/.aws:/home/appuser/.aws:ro':  将宿主机的 AWS 凭证目录挂载到容器中,以只读方式挂载,确保容器内 AWS CLI 可以使用您的 AWS 凭证。"
    "'ghcr.io/alexei-led/aws-mcp-server:latest':  使用的 Docker 镜像,包含了 MCP 服务器和 AWS CLI 工具。"
  ]
}

注意: 上述 JSON 配置信息描述了 MCP 客户端 ('aws_chat_with_thoughts_stream.py') 如何配置并启动 MCP 服务器 (Docker 镜像)。 实际的 MCP 服务器代码和配置存在于 'ghcr.io/alexei-led/aws-mcp-server:latest' Docker 镜像中,用户无需直接配置 MCP 服务器。

基本使用方法

  1. 激活虚拟环境 (如果尚未激活):

    source .venv/bin/activate  # Linux/macOS
    # 或
    .venv\Scripts\activate  # Windows
  2. 运行 Streamlit 应用:

    streamlit run aws_chat_with_thoughts_stream.py
  3. 在浏览器中打开应用:

    • 默认地址为 http://localhost:8501。
    • 在 Web 界面中,您可以输入关于 AWS 的问题或指令,与 AI 助手进行对话,管理您的 AWS 云资源。

服务器信息