Cloudwatch Logs Mcp

Cloudwatch Logs Mcp

🚀 CloudWatch日志MCP服务器

CloudWatch日志MCP服务器是一个提供工具以访问AWS CloudWatch日志的MCP(模型上下文协议)服务器。它允许AI助手列出CloudWatch日志组,并从AWS CloudWatch读取日志条目,为日志管理和分析提供了便利。

🚀 快速开始

在使用该服务器前,需要确保已配置好AWS凭证,可通过AWS CLI或设置环境变量AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY来完成配置。之后根据自身需求,选择与Claude Desktop一起使用或者使用Docker运行服务器。

✨ 主要特性

  • 日志组管理:提供list_groups工具,可列出可用的CloudWatch日志组。
  • 日志读取:提供get_logs工具,能从特定日志组中获取CloudWatch日志。
  • 灵活配置:支持通过AWS CLI、环境变量、Claude Desktop配置文件以及Docker容器等多种方式进行配置。

📦 安装指南

AWS凭证

确保已配置AWS凭证。您可以使用AWS CLI或通过设置环境变量来配置:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

与Claude Desktop一起使用

将以下内容添加到您的claude_desktop_config.json文件中:

{
"mcpServers": {
"cloudwatch-logs": {
"command": "python3",
"args": ["/path/to/cloudwatch-logs-mcp/main.py"],
"env": {
"AWS_ACCESS_KEY_ID": "",
"AWS_SECRET_ACCESS_KEY": "",
},
"disabled": false,
"autoApprove": []
}
}
}

Docker

如果您更愿意在Docker容器中运行服务器,可以设置一个Dockerfile并使用以下配置:

{
"mcpServers": {
"cloudwatch-logs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"mcp/cloudwatch-logs"
],
"env": {
"AWS_ACCESS_KEY_ID": "",
"AWS_SECRET_ACCESS_KEY": "",
}
}
}
}

💻 使用示例

基础用法

list_groups

列出可用的CloudWatch日志组:

# 调用list_groups工具
# 此处假设存在调用该工具的函数
result = list_groups()
print(result)

get_logs

从特定日志组中获取CloudWatch日志:

# 调用get_logs工具
# 此处假设存在调用该工具的函数
result = get_logs(logGroupName='your_log_group_name')
print(result)

高级用法

list_groups

列出特定前缀和区域的CloudWatch日志组:

# 调用list_groups工具,指定前缀和区域
# 此处假设存在调用该工具的函数
result = list_groups(prefix='your_prefix', region='your_region')
print(result)

get_logs

从特定日志组和日志流中,在指定时间范围内获取过滤后的CloudWatch日志:

# 调用get_logs工具,指定日志组、日志流、时间范围和过滤模式
# 此处假设存在调用该工具的函数
result = get_logs(logGroupName='your_log_group_name', logStreamName='your_log_stream_name', startTime='2024-01-01T00:00:00Z', endTime='2024-01-02T00:00:00Z', filterPattern='your_filter_pattern')
print(result)

📚 详细文档

可用工具

list_groups

列出可用的CloudWatch日志组。 参数

参数 是否可选 详情
prefix 可选 日志组名称前缀
region 可选 AWS区域
accessKeyId 可选 AWS访问密钥ID
secretAccessKey 可选 AWS秘密访问密钥
sessionToken 可选 AWS会话令牌

返回值:包含logGroupNamecreationTimestoredBytes的JSON字符串。

get_logs

从特定日志组中获取CloudWatch日志。 参数

参数 是否可选 详情
logGroupName 必填 日志组名称
logStreamName 可选 日志流名称
startTime 可选 ISO格式时间或相对时间(例如,“5m”、“1h”、“1d”)
endTime 可选 ISO格式结束时间
filterPattern 可选 日志过滤模式
region 可选 AWS区域
accessKeyId 可选 AWS访问密钥ID
secretAccessKey 可选 AWS秘密访问密钥
sessionToken 可选 AWS会话令牌

返回值:包含timestampmessagelogStreamName的JSON字符串。

🔧 技术细节

此服务器使用MCP SDK中的FastMCP类构建,该类提供了一种简单的方式来创建MCP服务器。服务器主要公开了两个工具:

  1. list_groups:列出可用的CloudWatch日志组
  2. get_logs:从特定的日志组中读取日志条目

每个工具都实现了为@mcp.tool()装饰的异步函数。服务器使用boto3库与AWS服务进行交互。

📄 许可证

本项目采用MIT许可证。

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-10-05 15:21

相似服务问题

相关AI产品