项目简介
CloudWatch MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的后端服务,它允许大型语言模型客户端(如支持MCP的智能体)访问 AWS CloudWatch 中的数据和功能。通过这个服务器,LLM 可以查询日志、检查告警状态、发现日志字段等。
主要功能点
- 获取日志组列表: 列出所有配置的 CloudWatch 日志组及其相关信息。
- 获取告警列表: 列出所有 CloudWatch 告警,包括指标告警和复合告警,可选择只列出处于 ALARM 状态的告警。
- 查询日志: 使用 CloudWatch Logs Insights 语法查询一个或多个日志组,支持指定时间范围,自动解析 JSON 格式的日志消息。
- 发现日志字段: 分析一个或多个日志组,发现其中可用的字段名称及其类型,尤其擅长识别 JSON 格式日志中的嵌套字段。
- 检查日志组是否存在: 验证一个或多个指定的 CloudWatch 日志组是否存在。
- 获取已保存的查询: 列出所有在 CloudWatch Logs Insights 中保存的查询定义。
安装步骤
- 确保您的系统安装了 Python 3.12 或更高版本。
- 配置 AWS 凭证,例如通过设置环境变量 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION' 或使用 'aws configure' 命令。
- (推荐)创建一个Python虚拟环境并激活。
- 克隆项目仓库。
- 安装项目依赖:
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 协议向服务器进行查询。
信息
分类
开发者工具