Labsco
MCP SERVER · OFFICIAL PROJECT

AWS CloudTrail

by awslabs

Investigate who did what in an AWS account — attribute lookup over the last 90 days, and SQL over CloudTrail Lake for everything wider.

Threat Intelligence & Digital ForensicsVerified
Summary
Two depths of investigation: attribute lookup when you know what you are chasing, SQL when you do not.

lookup_events is the fast path once you have a username or an API name, and it reaches back 90 days over management events. Anything aggregate — how often, by whom, in what order — becomes a Lake query, which runs asynchronously: start it, check the status, then page the results out. Every tool reads; none of them can change the account being examined.

What it is

A read-only server over AWS CloudTrail. It looks up account activity events by attribute, and runs SQL against CloudTrail Lake for the aggregate questions a lookup cannot answer.

What you get
  • Events looked up by attribute — username, event name, resource name and more — across the last 90 days of management events, with a time range and paging — lookup_events
  • SQL over CloudTrail Lake in Trino-compatible syntax, for filtering and aggregation across stored events — lake_query
  • A running query's status checked, so a long one can be started and picked up later — get_query_status
  • Completed query results retrieved page by page for large result sets — get_query_results
  • The Event Data Stores available, with their capabilities and event selectors — list_event_data_stores
Requirements

An AWS account with CloudTrail. Event History is on by default; CloudTrail Lake has to be enabled separately before the SQL tools have anything to query. Configure credentials with aws configure or environment variables, and grant cloudtrail:LookupEvents, ListEventDataStores, GetEventDataStore, StartQuery, DescribeQuery and GetQueryResults. Install uv, install Python with uv python install 3.10, and run awslabs.cloudtrail-mcp-server through uvx — it runs on the same host as the client.

Setup effort

One command — uvx awslabs.cloudtrail-mcp-server@latest