Skip to main content
Glama
CharlieFng

CloudWatch MCP Server

by CharlieFng

CloudWatch MCP 서버

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

특징

  • 메타데이터와 함께 모든 CloudWatch 로그 그룹을 나열합니다.

  • 현재 상태와 함께 모든 CloudWatch 알람을 나열합니다.

  • CloudWatch Insights를 사용하여 여러 로그 그룹에 걸쳐 CloudWatch 로그 쿼리

  • 공유 스키마를 사용하여 여러 로그 그룹에서 사용 가능한 필드를 검색합니다.

  • 로그 쿼리의 @message 필드에 대한 자동 JSON 구문 분석

  • 특정 로그 그룹이 존재하는지 확인하세요

  • 특정 로그 그룹에 대한 자세한 정보를 얻으세요

  • 상태별로 알람 필터링(모든 알람 또는 ALARM 상태의 알람만)

  • 저장된 모든 CloudWatch Logs Insights 쿼리 검색

Related MCP server: CloudWatch Logs MCP Server

필수 조건

  • 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CharlieFng/cloudwatch-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server