Production-ready MCP server for monitoring AWS Health events and service status
Project description
AWS Health MCP Server
Disclaimer: This AWS content is provided subject to the terms of the AWS Customer Agreement available at https://aws.amazon.com/agreement or other written agreement between the Customer and Amazon Web Services. This is sample code for demonstration purposes only. It is not intended for production use. You should work with your security and legal teams to meet your organizational security, regulatory, and compliance requirements before any deployment.
MCP server that exposes AWS Health API as tools. Works with Claude Desktop, Kiro or any MCP-compatible client.
📖 Blog: Building an AWS Health MCP Server for Agentic Operations
Prerequisites
- Python 3.10+
- AWS credentials configured (
aws configureor environment variables) - AWS Business or Enterprise Support plan (required for Health API)
- For org-level tools: AWS Organizations with Health service access enabled
Setup
Add this to your MCP config file:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Kiro:
~/.kiro/settings/mcp.json - Amazon Q CLI:
~/.aws/amazonq/mcp.json
Using uvx from PyPI (recommended)
{
"mcpServers": {
"aws-health": {
"command": "uvx",
"args": ["aws-health-mcp-server"],
"env": {
"AWS_PROFILE": "default"
}
}
}
}
Using pip
pip install aws-health-mcp-server
From a local clone
{
"mcpServers": {
"aws-health": {
"command": "uv",
"args": ["run", "--directory", "/path/to/aws-health-mcp-server", "aws-health-mcp-server"],
"env": {
"AWS_PROFILE": "default"
}
}
}
}
That's it. uv handles the venv and dependencies automatically.
Tools
Account-Level
| Tool | Description |
|---|---|
get_service_health |
All active health events |
get_affected_entities |
Resources impacted by open events |
get_service_events(service) |
Events for a specific service (e.g., EC2, RDS) |
get_completed_events(service?) |
Recently resolved events |
get_scheduled_changes |
Upcoming maintenance |
Organization-Level
| Tool | Description |
|---|---|
get_org_health_events(service?, account_id?, status?) |
Events across all accounts |
get_org_service_health |
Active events org-wide |
get_org_affected_entities(account_id?, event_arn?) |
Impacted resources across accounts |
get_org_service_events(service) |
Service-specific events org-wide |
get_org_account_events(account_id) |
Events for a specific account |
get_org_scheduled_changes |
Org-wide scheduled maintenance |
Example Prompts
- "Are there any active AWS health events?"
- "What's happening with EC2 right now?"
- "Show me scheduled maintenance across my organization"
- "What resources are affected by current issues in account 123456789012?"
Environment Variables
| Variable | Default | Description |
|---|---|---|
AWS_PROFILE |
none | AWS credentials profile |
AWS_REGION |
us-east-1 |
Region (Health API is us-east-1 only) |
LOG_LEVEL |
INFO |
Logging level (DEBUG, INFO, WARNING) |
HEALTH_API_TIMEOUT |
30 |
API timeout in seconds |
Troubleshooting
"SubscriptionRequiredException" — You need AWS Business or Enterprise Support.
"AccessDeniedException" — Your IAM user/role needs health:Describe* permissions.
Org tools return access error — Enable Health service access from your management account:
aws health enable-health-service-access-for-organization
Server not starting — Check the MCP client logs. Common issues:
- Wrong Python path in config (use the full
.venv/bin/pythonpath) - Missing dependencies (run
pip install -e .in the venv)
Development
git clone https://github.com/aws-samples/sample-health-mcp-server.git
cd aws-health-mcp-server
uv sync --extra dev
uv run pytest tests/ -v
License
MIT-0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws_health_mcp_server-2.0.0.tar.gz.
File metadata
- Download URL: aws_health_mcp_server-2.0.0.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb1102bc629371f850f69d76e9ddcee9167f543a81d9c55667a010c7a8a2ae40
|
|
| MD5 |
760849bde3ad8d8696960b9b773d1236
|
|
| BLAKE2b-256 |
7b5e4da297d4ca13bc2055685b90a443aadfa5c0fe76b6babbf386dbddf1ed0f
|
File details
Details for the file aws_health_mcp_server-2.0.0-py3-none-any.whl.
File metadata
- Download URL: aws_health_mcp_server-2.0.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fe155bd11fb02a4b2102bcaa6f0732f3243b19ff7da190f38e7b1aac197db01
|
|
| MD5 |
cc00cf2f69c6a556a5de04cd807a4503
|
|
| BLAKE2b-256 |
dd5113b21a663b023e0b68c65b86d6334387f7e251199a98629060be2cc36594
|