项目简介

CloudWatch MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的后端服务,它允许大型语言模型客户端(如支持MCP的智能体)访问 AWS CloudWatch 中的数据和功能。通过这个服务器,LLM 可以查询日志、检查告警状态、发现日志字段等。

主要功能点

  • 获取日志组列表: 列出所有配置的 CloudWatch 日志组及其相关信息。
  • 获取告警列表: 列出所有 CloudWatch 告警,包括指标告警和复合告警,可选择只列出处于 ALARM 状态的告警。
  • 查询日志: 使用 CloudWatch Logs Insights 语法查询一个或多个日志组,支持指定时间范围,自动解析 JSON 格式的日志消息。
  • 发现日志字段: 分析一个或多个日志组,发现其中可用的字段名称及其类型,尤其擅长识别 JSON 格式日志中的嵌套字段。
  • 检查日志组是否存在: 验证一个或多个指定的 CloudWatch 日志组是否存在。
  • 获取已保存的查询: 列出所有在 CloudWatch Logs Insights 中保存的查询定义。

安装步骤

  1. 确保您的系统安装了 Python 3.12 或更高版本。
  2. 配置 AWS 凭证,例如通过设置环境变量 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION' 或使用 'aws configure' 命令。
  3. (推荐)创建一个Python虚拟环境并激活。
  4. 克隆项目仓库。
  5. 安装项目依赖:
    pip install -r requirements.txt

服务器配置

MCP 客户端需要知道如何启动和连接到此 MCP 服务器。以下是提供给客户端的配置信息示例(请根据您的实际环境调整):

{
  "name": "CloudWatch",
  "command": "python",
  "args": [
    "cloudwatch_server.py"
  ]
}
  • 'name': 服务器的名称,客户端通过此名称识别服务器。
  • 'command': 启动 MCP 服务器进程的命令。通常是 'python'。
  • 'args': 传递给 'command' 的参数列表。这里指向主服务器脚本文件 'cloudwatch_server.py'。

基本使用方法

启动服务器:

python cloudwatch_server.py

或者如果您安装了 MCP CLI 工具 (mcp):

mcp run cloudwatch_server.py

服务器启动后,一个 MCP 客户端即可连接并与之交互。例如,使用 MCP CLI:

  • 列出所有日志组(概念上由 'list_log_groups' 工具提供): 'mcp call list_log_groups'
  • 查询日志(调用 'query_logs' 工具): 'mcp call query_logs --log_group_names '["my-log-group"]' --query_string "fields @timestamp, @message | limit 10"'
  • 列出所有告警(概念上由 'list_alarms' 工具提供): 'mcp call list_alarms'

具体可用的资源和工具及其参数,客户端可以通过 MCP 协议向服务器进行查询。

信息

分类

开发者工具