AWS CloudTrail
官方此 AWS Labs 的 Model Context Protocol (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 針對 CloudTrail 的模型上下文協定 (MCP) 伺服器,能讓您的 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 呼叫追蹤 - 監控特定的 API 呼叫及其在 AWS 環境中的模式,以滿足安全與合規需求。
事件資料存放區管理 - 列出並探索可用的 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
安裝方式
選項 1: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 頁籤點擊「Configure MCP Servers」選項
{
"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 文件 來建立和管理您的憑證設定檔
選項 2: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。