项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使AI助手能够安全、便捷地访问和分析AWS CloudWatch Logs。通过标准化的MCP协议,该服务器将CloudWatch Logs的各项功能以资源和工具的形式暴露给AI助手,例如 Claude,从而扩展AI在云日志分析和问题诊断方面的能力。

主要功能点

  • 日志组浏览与搜索: 支持列出和搜索CloudWatch Log Groups,方便AI助手快速定位目标日志。
  • 日志内容检索: 利用CloudWatch Logs Insights 查询语法,AI助手可以执行复杂的日志搜索和分析。
  • 日志分析与摘要: 提供日志摘要生成、错误模式识别、日志结构分析等功能,帮助AI助手理解日志数据。
  • 跨服务日志关联: 支持跨多个AWS服务的日志关联分析,用于追踪和诊断分布式系统问题。
  • Prompt模板定制: 内置Prompt模板,支持用户自定义与AI助手交互的指令,优化分析流程。

安装步骤

  1. 安装 uv 包管理器: 确保已安装 uv Python 包和项目管理器,参考 uv installation guide
  2. 配置 AWS 账户: 确保拥有 AWS 账户,并已配置 CloudWatch Logs 权限和 AWS credentials
  3. 克隆仓库:
    git clone https://github.com/awslabs/Log-Analyzer-with-MCP.git
    cd Log-Analyzer-with-MCP
  4. 创建虚拟环境并安装依赖:
    uv sync
    source .venv/bin/activate   # Linux/macOS
    # .venv\Scripts\activate  # Windows

服务器配置

为了让MCP客户端(如 Claude)连接到此MCP服务器,您需要提供如下服务器配置信息。在客户端配置中,填入以下JSON,确保 'command' 和 'args' 配置正确指向服务器启动脚本。

{
  "serverName": "CloudWatch Logs Analyzer MCP Server",
  "command": "python3",
  "args": ["src/cw-mcp-server/server.py"]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义,用于在客户端标识服务器。
  • 'command': 启动 MCP 服务器的命令,这里使用 'python3' 来运行 Python 脚本。
  • 'args': 传递给启动命令的参数列表,这里指定了服务器脚本的相对路径 'src/cw-mcp-server/server.py'。客户端程序将通过标准输入输出 (stdio) 与该服务器进程通信。

基本使用方法

  1. 启动 MCP 服务器: 无需手动启动服务器,MCP客户端 (如 Claude) 会根据配置自动启动。
  2. 配置 MCP 客户端: 根据 AI integration guide 配置 Claude Desktop 或其他 MCP 客户端,填入上述服务器配置信息。
  3. 与 AI 助手交互: 在 Claude 等 AI 助手的对话界面中,即可开始使用 CloudWatch Logs 分析功能。例如,您可以提问 "分析最近24小时内的 ECS 服务日志",AI 助手将调用 MCP 服务器提供的工具和资源来完成日志分析任务。
  4. 使用客户端命令行工具 (可选): 仓库也提供了一个 'src/client.py' 命令行工具用于测试和直接与 MCP 服务器交互。 可以使用 'python src/client.py --help' 查看客户端工具的命令和参数。

通过以上步骤,您可以利用此 MCP 服务器,结合 AI 助手的自然语言交互能力,高效地分析和利用 AWS CloudWatch Logs 数据。

信息

分类

开发者工具