AWS CloudTrail
官方该AWS Labs模型上下文协议(MCP)服务器用于CloudTrail,使您的AI代理能够查询AWS账户活动,以进行安全调查、合规审计和运维故障排查。
你可以用 AWS Cloud Trail MCP 做什么?
- 查找最近的CloudTrail事件 — 使用
lookup_events按用户名、事件名称或资源搜索最近90天的管理事件。 - 对CloudTrail Lake运行SQL分析 — 使用
lake_query对事件数据存储执行兼容Trino的SQL查询,进行聚合和过滤。 - 列出可用的事件数据存储 — 通过
list_event_data_stores发现已配置的CloudTrail Lake数据存储及其功能。 - 监控长时间运行的Lake查询 — 使用
get_query_status检查已提交查询的状态,并使用get_query_results检索分页结果。
文档
AWS Labs CloudTrail MCP 服务器
此 AWS Labs 模型上下文协议 (MCP) 服务器专为 CloudTrail 打造,可让您的 AI 代理查询 AWS 账户活动,用于安全调查、合规审计和运维排错。它提供对 CloudTrail 事件和 CloudTrail Lake 分析的全面访问,使代理能够跟踪 API 调用、分析用户活动并执行高级安全分析。该服务器通过标准化的 MCP 接口为 AI 代理提供对 CloudTrail 数据的无缝访问,无需自定义 API 集成,并支持强大的安全洞察和审计能力。
使用说明
CloudTrail MCP 服务器提供了专用工具来应对常见的安全和运维场景,包括事件查找、用户活动分析、API 调用跟踪以及高级 CloudTrail Lake 分析。每个工具都将一个或多个 CloudTrail API 封装为面向任务的操作。
功能特性
事件查找 - 按用户名、事件名称、资源名称等多种属性搜索 CloudTrail 事件。可访问最近 90 天的管理事件,用于安全调查和排错。
CloudTrail Lake 分析 - 针对 CloudTrail Lake 执行高级 SQL 查询,进行复杂分析、筛选和聚合。支持 Trino 兼容的 SQL 语法,用于全面的事件分析。
用户活动分析 - 通过按用户名、访问密钥或其他用户相关属性筛选事件,跟踪和分析 AWS 服务中的用户活动。
API 调用跟踪 - 监控 AWS 环境中特定 API 调用及其模式,用于安全和合规目的。
事件数据存储管理 - 列出并探索可用的 CloudTrail Lake 事件数据存储,以了解数据源和功能。
前提条件
- 一个已启用 CloudTrail 的 AWS 账户。CloudTrail 事件历史记录默认启用。如需高级 SQL 查询,需启用 CloudTrail Lake。
- 此 MCP 服务器只能在本地运行,且需与您的 LLM 客户端位于同一主机。
- 设置具有 AWS 服务访问权限的 AWS 凭证
- 您需要一个具有适当权限的 AWS 账户(请参阅下方所需权限)
- 使用
aws configure或环境变量配置 AWS 凭证
可用工具
CloudTrail 事件工具
lookup_events- 根据用户名、事件名称、资源名称等多种条件查找 CloudTrail 事件。可访问最近 90 天的管理事件,并支持分页
CloudTrail Lake 分析工具
lake_query- 针对 CloudTrail Lake 执行 SQL 查询,进行复杂分析和筛选。支持 Trino 兼容的 SQL 语法,用于高级分析list_event_data_stores- 列出可用的 CloudTrail Lake 事件数据存储及其功能和事件选择器get_query_status- 获取 CloudTrail Lake 查询的状态,以监控长时间运行的查询get_query_results- 获取已完成的 CloudTrail Lake 查询结果,支持对大型结果集进行分页
所需 IAM 权限
cloudtrail:LookupEventscloudtrail:ListEventDataStorescloudtrail:GetEventDataStorecloudtrail:StartQuerycloudtrail:DescribeQuerycloudtrail:GetQueryResults
安装
方式一:Python (UVX)
前提条件
- 从 Astral 或 GitHub README 安装
uv - 使用
uv python install 3.10安装 Python
一键安装
| Kiro | Cursor | VS Code |
|---|---|---|
MCP 配置 (Kiro, Cline)
- 对于 Kiro,更新 MCP 配置文件 Kiro MCP (~/.kiro/settings/mcp.json)
- 对于 Cline,从 MCP 选项卡点击“配置 MCP 服务器”选项
{
"mcpServers": {
"awslabs.cloudtrail-mcp-server": {
"autoApprove": [],
"disabled": false,
"command": "uvx",
"args": [
"awslabs.cloudtrail-mcp-server@latest"
],
"env": {
"AWS_PROFILE": "[The AWS Profile Name to use for AWS access]",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"transportType": "stdio"
}
}
}
请参考 AWS 文档 来创建和管理您的凭证配置文件
方式二:Docker 镜像
前提条件
在 LLM 客户端所在的同一主机上本地构建并安装 Docker 镜像
- 安装 Docker
git clone https://github.com/awslabs/mcp.git- 进入子目录
cd src/cloudtrail-mcp-server/ - 运行
docker build -t awslabs/cloudtrail-mcp-server:latest .
一键 Cursor 安装
使用 Docker 镜像的 MCP 配置 (Kiro, Cline)
{
"mcpServers": {
"awslabs.cloudtrail-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"-v ~/.aws:/root/.aws",
"-e AWS_PROFILE=[The AWS Profile Name to use for AWS access]",
"awslabs/cloudtrail-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
请参考 AWS 文档 来创建和管理您的凭证配置文件
贡献
欢迎贡献!请参阅 monorepo 根目录下的 CONTRIBUTING.md 了解指南。
反馈与问题
我们重视您的反馈!请在 GitHub issues 提交您的反馈、功能请求和任何错误,标题中需包含前缀 cloudtrail-mcp-server。