Skip to main content

MCP server for querying and analyzing AWS Health Events through AI-powered natural language queries

Project description

Chaplin Health Events MCP Server

MCP server for AWS Health Event analysis — AI-powered diagnostics, critical event tracking, and proactive health intelligence across your AWS accounts.

Powered by Chaplin — an agentic AI platform that transforms how organizations understand and respond to AWS health events through natural language queries and real-time analysis.

Features

Health Event Intelligence

  • Event category breakdown: Issue, Account Notification, Scheduled Change, Investigation — with event and service counts
  • Event type classification: Configuration Alerts, Cost Impact Events, Maintenance Updates, Migration Requirements, Operational Notifications, Security Compliance
  • Critical event tracking: Upcoming events in 30-day and 30–60 day windows, plus past due events (120 days)
  • Drill-down details: Filter events by service, category, status, region, account, event type, or ARN

AI-Powered Analysis

  • Natural language queries: Ask questions about your health events in plain English
  • Agentic diagnostics: Same Strands Agent + Bedrock Claude pipeline that powers the Chaplin web dashboard
  • Contextual insights: Impact analysis combining event data with account metadata

Dashboard Parity

Every feature on the Chaplin web dashboard is available as an MCP tool — no browser required.

Prerequisites

  1. AWS Account with appropriate permissions
  2. AWS CLI configured with credentials
  3. Amazon Bedrock: Access to Claude Sonnet 4 in us-east-1
  4. DynamoDB: chaplin-health-events table populated with health event data (see Chaplin setup)
  5. Python: 3.10 or higher

Installation

Kiro Cursor VS Code
Add to Kiro Install MCP Server Install on VS Code

⚡ Quick Install (script)

cd mcp/
chmod +x install.sh
./install.sh

This creates a virtual environment, installs dependencies, and configures the MCP server in ~/.kiro/settings/mcp.json.

🐳 Using Docker

Build the image from the repo root:

docker build -t chaplin-health-mcp-server -f mcp/Dockerfile .

Configure your MCP client:

{
  "mcpServers": {
    "chaplin-health": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "-v", "~/.aws:/home/app/.aws:ro",
        "--env", "FASTMCP_LOG_LEVEL=ERROR",
        "--env", "AWS_REGION=us-east-1",
        "--env", "AWS_PROFILE=default",
        "chaplin-health-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Note: The container mounts ~/.aws as read-only for credentials. Change AWS_PROFILE to use a different profile.

🔧 Manual Configuration

Add to ~/.kiro/settings/mcp.json (Kiro CLI) or your MCP client's config:

For Linux/macOS:

{
  "mcpServers": {
    "chaplin-health": {
      "command": "/path/to/mcp/venv/bin/python3",
      "args": ["/path/to/mcp/mcp_server.py"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Tools

Overview & Summary (instant, no LLM cost)

Tool Description
get_health_summary High-level counts by service, status, category, region
get_critical_events_count Count of critical events in the next 30 days
get_event_categories Event Categories — Issue, Account Notification, Scheduled Change, Investigation
get_event_type_stats Event Types — Configuration Alerts, Cost Impact, Maintenance, Migration, Operational, Security

Detail Views (instant, no LLM cost)

Tool Description
get_event_category_details(category_id) Events for a specific category (e.g. issue, accountNotification)
get_event_type_details(event_type_id) Events for a specific type (e.g. migration-requirements, security-compliance)
get_drill_down_details(...) Filter events by service, category, status, region, account, event_type, arn
get_cached_prompts Previously used prompts with usage counts (Suggested Prompts sidebar)

AI Agent Analysis (30–60s, uses Bedrock Claude)

Tool Description
analyze_health_events(prompt) Free-form natural language analysis — same as AI Agents Diagnostics UI
get_critical_events_30d Upcoming critical events in next 30 days — same as dashboard red card
get_critical_events_60d Upcoming critical events in 30–60 day window
get_past_due_events Past due events (120 days) still open/upcoming

Example Prompts

# Quick data (instant)
Give me a summary of all health events
Show me the event categories breakdown
What are the event type stats?

# AI analysis (30-60s)
What Bedrock models are going end of life?
Give me open Lambda events and highlight critical ones
Can you check upcoming events for RDS?
Show me critical events in the next 30 days
Which accounts have the most open health events?

AWS Authentication

The MCP server requires AWS credentials with the following permissions:

  • dynamodb:Scan, dynamodb:Query, dynamodb:DescribeTable on chaplin-health-events table
  • bedrock:InvokeModel for Claude Sonnet 4 in us-east-1 (required for AI analysis tools only)

Configuration

Environment Variable Description Default
AWS_REGION AWS region for DynamoDB and Bedrock us-east-1
AWS_PROFILE AWS profile from ~/.aws/credentials default
FASTMCP_LOG_LEVEL MCP server log level ERROR

Architecture

MCP Client (Kiro/Cursor/VS Code)
    │
    ▼ (JSON-RPC over stdio)
┌─────────────────────────────┐
│   mcp_server.py (FastMCP)   │
│                             │
│  Summary tools ──► DynamoDB │  (instant, no LLM)
│                             │
│  AI tools ──► Strands Agent │  (30-60s, Bedrock Claude)
│              ──► DynamoDB   │
│              ──► Bedrock    │
└─────────────────────────────┘

The MCP server reuses the same agent pipeline as the Chaplin web dashboard — agentic_analysis_simple.pyDBQueryBuilder.py → DynamoDB + Bedrock Claude. Results are identical.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chaplin_health_mcp-0.1.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chaplin_health_mcp-0.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file chaplin_health_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: chaplin_health_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for chaplin_health_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b87dd56ec51f7dfd91dabba346bf09d8fc90faf86aa4ca2e5c72f5cfd75412f7
MD5 5975eb5612afb81030005808e85723ad
BLAKE2b-256 e16e911090b1bb3c4bbf362846f1d7cfad64928787d3478a2b080088a22a186b

See more details on using hashes here.

File details

Details for the file chaplin_health_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chaplin_health_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76df6a0b60af644320bddb17ffc5a87e4d1bee73e73b35c1c0985d7edd302708
MD5 6bf9320e8c36701205f07b9a88f096d6
BLAKE2b-256 25ff94270824d9547aa8093afff50e303b9952c33c7797254d5c70593ad9ab63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page