CloudWatch MCP Server

by CharlieFng
2
  • Linux
  • Apple

CloudWatch MCP 서버

이 간소화된 MCP 서버는 MCP 프로토콜을 통해 AWS CloudWatch 리소스와 상호 작용하는 간소화된 방법을 제공합니다. CloudWatch 로그 그룹, 로그 쿼리 및 알람을 리소스 및 도구로 제공합니다.

특징

  • 메타데이터와 함께 모든 CloudWatch 로그 그룹을 나열합니다.
  • 현재 상태와 함께 모든 CloudWatch 알람을 나열합니다.
  • CloudWatch Insights를 사용하여 여러 로그 그룹에 걸쳐 CloudWatch 로그 쿼리
  • 공유 스키마를 사용하여 여러 로그 그룹에서 사용 가능한 필드를 검색합니다.
  • 로그 쿼리의 @message 필드에 대한 자동 JSON 구문 분석
  • 특정 로그 그룹이 존재하는지 확인하세요
  • 특정 로그 그룹에 대한 자세한 정보를 얻으세요
  • 상태별로 알람 필터링(모든 알람 또는 ALARM 상태의 알람만)
  • 저장된 모든 CloudWatch Logs Insights 쿼리 검색

필수 조건

  • Python 3.12 이상
  • AWS 자격 증명이 구성됨(환경 변수, AWS CLI 또는 IAM 역할을 통해)
  • MCP CLI(버전 0.1.1 이상)
  • Boto3(Python용 AWS SDK)

설정

  1. Python 3.12 이상이 설치되어 있는지 확인하세요.
  2. 가상 환경을 만듭니다(선택 사항이지만 권장됨):지엑스피1
  3. 종속성 설치:
    pip install -r requirements.txt
  4. 아직 AWS 자격 증명을 구성하지 않았다면 다음을 수행합니다.
    aws configure
    또는 환경 변수를 설정합니다.
    export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_REGION="your-region"

프로젝트 구조

  • cloudwatch_server.py - CloudWatch 통합을 위한 MCP 서버 구현
  • aws_cloudwatch.py - 간소화된 AWS CloudWatch 통합 모듈
  • test_cloudwatch.py - CloudWatch 통합을 테스트하는 명령줄 유틸리티

서버 실행

MCP 서버를 시작합니다.

python cloudwatch_server.py

또는 MCP CLI를 사용합니다.

mcp run cloudwatch_server.py

MCP 서버 사용

자원

서버는 다음과 같은 리소스를 제공합니다.

  • cloudwatch://log-groups - 모든 CloudWatch 로그 그룹을 나열합니다.
  • cloudwatch://log-groups/{log_group_name} - 특정 로그 그룹에 대한 자세한 정보를 가져옵니다.
  • cloudwatch://alarms - 모든 CloudWatch 알람을 나열합니다.
  • cloudwatch://alarms/in-alarm - 현재 ALARM 상태인 CloudWatch 알람만 나열합니다.
  • cloudwatch://saved-queries - 저장된 모든 CloudWatch Logs Insights 쿼리를 나열합니다.

도구

서버는 다음과 같은 도구를 제공합니다.

  • query_logs - CloudWatch Insights를 사용하여 CloudWatch 로그 쿼리
    • 매개변수:
      • log_group_names : 쿼리할 단일 로그 그룹 이름 또는 로그 그룹 이름 목록
      • query_string : CloudWatch Insights 쿼리 문자열
      • start_time : (선택 사항) Unix 타임스탬프(밀리초) 단위의 쿼리 시작 시간
      • end_time : (선택 사항) Unix 타임스탬프(밀리초) 단위의 쿼리 종료 시간
    • 특징:
      • @message 필드에서 JSON을 자동으로 구문 분석합니다.
      • JSON 메시지에 대한 구조화된 데이터를 반환합니다.
      • 단일 쿼리에서 여러 로그 그룹을 처리합니다.
  • discover_log_fields - 여러 로그 그룹에서 사용 가능한 필드를 검색합니다.
    • 매개변수:
      • log_group_names : 분석할 단일 로그 그룹 이름 또는 로그 그룹 이름 목록
    • 특징:
      • 여러 로그 그룹에서 필드를 효율적으로 검색합니다.
      • 로그 그룹 간에 공유 스키마를 가정합니다.
      • @message에서 중첩된 JSON 필드를 감지합니다.
      • 필드 유형(숫자, 부울, 문자열, 배열)을 식별합니다.
  • log_group_exists - CloudWatch 로그 그룹이 있는지 확인
    • 매개변수:
      • log_group_names : 확인할 단일 로그 그룹 이름 또는 로그 그룹 이름 목록
    • 보고:
      • 각 로그 그룹을 해당 존재 상태에 매핑하는 사전
  • get_saved_queries - 저장된 모든 CloudWatch Logs Insights 쿼리를 가져옵니다.
    • 매개변수가 필요하지 않습니다

CloudWatch 통합 테스트

제공된 테스트 스크립트를 사용하여 CloudWatch 통합을 직접 테스트할 수 있습니다.

# Make the test file executable chmod +x test_cloudwatch.py # List all log groups ./test_cloudwatch.py log-groups # List all alarms ./test_cloudwatch.py alarms # Use a specific AWS profile ./test_cloudwatch.py log-groups --profile my-profile # Enable verbose logging ./test_cloudwatch.py alarms -v

MCP CLI를 사용한 예

MCP CLI 사용:

# List all log groups mcp inspect cloudwatch://log-groups # Get details about a specific log group mcp inspect cloudwatch://log-groups/my-log-group-name # List all alarms mcp inspect cloudwatch://alarms # List alarms currently in ALARM state mcp inspect cloudwatch://alarms/in-alarm # List all saved CloudWatch Logs Insights queries mcp inspect cloudwatch://saved-queries # Query logs from multiple log groups using CloudWatch Insights mcp call query_logs --log_group_names '["log-group-1", "log-group-2"]' --query_string "fields @timestamp, @message | limit 10" # Query logs from a single log group (still supported) mcp call query_logs --log_group_names "my-log-group" --query_string "fields @timestamp, @message | limit 10" # Discover fields across multiple log groups mcp call discover_log_fields --log_group_names '["log-group-1", "log-group-2"]' # Check if multiple log groups exist mcp call log_group_exists --log_group_names '["log-group-1", "log-group-2"]' # Get all saved CloudWatch Logs Insights queries mcp call get_saved_queries

특허

MIT

-
security - not tested
F
license - not found
-
quality - not tested

MCP 프로토콜을 통해 AWS CloudWatch 리소스(로그 그룹, 로그 쿼리, 알람)와 상호 작용하는 간소화된 방법을 제공하는 간소화된 MCP 서버입니다.

  1. 특징
    1. 필수 조건
      1. 설정
        1. 프로젝트 구조
          1. 서버 실행
            1. MCP 서버 사용
              1. 자원
              2. 도구
            2. CloudWatch 통합 테스트
              1. MCP CLI를 사용한 예
                1. 특허

                  Related MCP Servers

                  • Amazon Web Services
                    aws-mcp

                    A
                    security
                    F
                    license
                    A
                    quality
                    A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.
                    Last updated -
                    3
                    222
                    TypeScript
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    The Seq MCP Server enables interaction with Seq's API endpoints for logging and monitoring, providing tools for managing signals, events, and alerts with extensive filtering and configuration options.
                    Last updated -
                    3
                    13
                    3
                    JavaScript
                    MIT License
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
                    Last updated -
                    14
                    322
                    36
                    TypeScript
                    Apache 2.0
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    An MCP server that allows AI assistants to access AWS CloudWatch logs by listing log groups and reading log entries.
                    Last updated -
                    4
                    Python

                  View all related MCP servers

                  ID: kq3vp7y75o