About CloudWatch Logs MCP Server
CloudWatch Logs MCP Server is an MCP server for reading AWS CloudWatch logs, allowing AI assistants to list log groups and retrieve log entries. It is built with FastMCP and the boto3 library.
Key features
- 01List CloudWatch log groups
- 02Read log events by time range and filter pattern
- 03Accept AWS credentials and region per call
- 04Built on the FastMCP class
Use cases
- 01Letting an AI assistant query application logs in CloudWatch
- 02Investigating errors within a specific time window
- 03Connecting AWS logs to Claude Desktop
MCP support
This project is an MCP server that exposes the list_groups and get_logs tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECloudWatch Logs MCP Server
An MCP (Model Context Protocol) server that provides tools for accessing AWS CloudWatch logs. This server allows AI assistants to list log groups and read log entries from AWS CloudWatch.
Available Tools
list_groups
Lists available CloudWatch log groups.
Parameters:
prefix(optional): Log group name prefixregion(optional): AWS regionaccessKeyId(optional): AWS access key IDsecretAccessKey(optional): AWS secret access keysessionToken(optional): AWS session token
Returns: JSON string with the list of log groups, including logGroupName, creationTime, and storedBytes.
get_logs
Gets CloudWatch logs from a specific log group.
Parameters:
logGroupName(required): The name of the log grouplogStreamName(optional): The name of the log streamstartTime(optional): Start time in ISO format or relative time (e.g., "5m", "1h", "1d")endTime(optional): End time in ISO formatfilterPattern(optional): Filter pattern for the logsregion(optional): AWS regionaccessKeyId(optional): AWS access key IDsecretAccessKey(optional): AWS secret access keysessionToken(optional): AWS session token
Returns: JSON string with the log events, including timestamp, message, and logStreamName.
Setup
AWS Credentials
Ensure you have AWS credentials configured. You can set them up using the AWS CLI or by setting environment variables:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"cloudwatch-logs": {
"command": "python3",
"args": ["/path/to/cloudwatch-logs-mcp/main.py"],
"env": {
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
},
"disabled": false,
"autoApprove": []
}
}
}
Docker
If you prefer to run the server in a Docker container, you can set up a Dockerfile and use the following configuration:
{
"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": "<YOUR_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
}
}
}
}
Implementation Details
This server is built using the FastMCP class from the MCP SDK, which provides a simple way to create MCP servers. The server exposes two main tools:
list_groups: Lists available CloudWatch log groupsget_logs: Reads log entries from specific log groups
Each tool is implemented as an async function decorated with @mcp.tool(). The server uses the boto3 library to interact with the AWS CloudWatch Logs API.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.