/ 디렉터리 / 플레이그라운드 / AWS Labs MCP
● 공식 awslabs 🔑 본인 키 필요

AWS Labs MCP

제작: awslabs · awslabs/mcp

AWS Labs 공식 컬렉션 - 각 서비스(S3, Lambda, CloudFormation, ECS, RDS, CloudWatch)마다 하나의 MCP. 기본값은 읽기 전용입니다.

AWS Labs MCP 제품군입니다. 하나의 거대한 서버 대신 AWS는 제품군을 제공합니다: aws-api(일반 CLI 스타일)와 S3, Lambda, CloudFormation, ECS, RDS, CloudWatch, Cost Explorer 등을 위한 특화된 서버들입니다. 모두 읽기 우선입니다. 쓰기는 환경 변수 플래그를 통한 명시적 옵트인이 필요합니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

aws.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "aws",
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "aws": {
      "command": {
        "path": "uvx",
        "args": [
          "awslabs.aws-api-mcp-server"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add aws -- uvx awslabs.aws-api-mcp-server

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: AWS Labs MCP

로그, 메트릭, 최근 배포를 연관지어 CloudWatch 알람 분류하기

👤 SRE 및 온콜 엔지니어 ⏱ ~15 min intermediate

언제 쓸까: 알람이 방금 발동했고, 콘솔을 탭하지 않고 '어느 서비스, 어느 배포, 어느 로그 라인'부터 시작하고 싶을 때 사용합니다.

사전 조건
  • CloudWatch + CloudFormation 읽기 권한이 있는 AWS 자격증명 — ReadOnlyAccess 관리형 정책이 있는 역할로 aws sso login 실행
  • aws-cloudwatch-mcp 서버 실행 중uvx awslabs.cloudwatch-mcp-server 실행 또는 번들 설치
흐름
  1. 알람 세부 정보 및 영향을 받는 리소스 가져오기
    CloudWatch 알람 'prod-api-5xx-high'를 설명합니다. 어떤 리소스를 감시하고, 임계값은 무엇이며, 현재 상태는 무엇입니까?✓ 복사됨
    → 알람 설정 및 상태 기록(언제 변경되었는지)
  2. 위반 주변의 로그 쿼리
    /aws/ecs/prod-api 로그 그룹에서 알람이 발동하기 10분 전부터 지금까지 Logs Insights 쿼리를 실행합니다. 메시지 템플릿으로 그룹화된 ERROR 레벨 로그 라인을 찾습니다.✓ 복사됨
    → 상위 오류 템플릿 및 개수
  3. 최근 배포와 연관짓기
    지난 6시간 동안 prod-api 서비스로의 CodeDeploy 배포 나열합니다. 배포 시간이 오류 스파이크와 연관되어 있습니까?✓ 복사됨
    → 오류 발생에 맞춘 배포 타임라인

결과: '배포 abc123이 14:22 UTC에 발생한 것은 14:23의 5xx 발생과 연관된다'는 것처럼 구체적인 가설(뒷받침 증거 포함).

함정
  • 큰 로그 그룹에 대한 Logs Insights 쿼리가 시간 창 없이 실제 비용을 초래합니다 — 항상 1시간보다 좁은 @timestamp 범위를 포함하십시오. MCP는 청구를 막지 않습니다
  • 교차 계정 리소스에는 올바른 자격증명 프로필이 필요합니다 — 서버 호출당 AWS_PROFILE 환경 변수를 설정합니다. 기본 프로필이 원하는 것이라고 가정하지 마십시오
함께 쓰기: sentry · github

공개 객체 및 암호화 상태에 대한 S3 버킷 감사

👤 보안 엔지니어, 규정 준수 검토자 ⏱ ~20 min intermediate

언제 쓸까: 펜 테스트 또는 감사 전에 버킷 태세의 빠른 인벤토리가 필요할 때.

사전 조건
  • S3:List 및 S3:GetBucket* 권한 — SecurityAudit 관리형 정책(읽기 전용) 연결
흐름
  1. 버킷 나열 및 정책 가져오기
    이 계정의 모든 S3 버킷을 나열합니다. 각각에 대해 공개 액세스 차단 설정, 버킷 ACL, 버킷 정책, 기본 암호화 설정을 가져옵니다.✓ 복사됨
    → 버킷별 태세 테이블
  2. 위험한 버킷 표시
    공개 액세스 차단이 꺼져 있거나 암호화가 꺼져 있거나 버킷 정책에 Principal: '*'가 포함된 버킷을 강조 표시합니다.✓ 복사됨
    → 이유와 함께 위험한 버킷의 짧은 목록
  3. 표시된 버킷에서 몇 개의 객체 샘플링
    각 표시된 버킷에 대해 처음 5개의 객체를 나열하고 해당 ACL을 표시합니다. 실제로 세계적으로 읽을 수 있는 객체가 있습니까?✓ 복사됨
    → 버킷 수준이 아닌 객체 수준의 확인

결과: 보안 검토를 위한 우선순위가 지정된 해결 목록.

함정
  • 버킷 정책은 ACL이 비공개로 보이더라도 공개 액세스를 부여할 수 있습니다 — 둘 다 평가하십시오. ACL뿐만 아니라 GetPublicAccessBlock 및 GetBucketPolicyStatus API를 사용하십시오
함께 쓰기: filesystem

이달 AWS 청구가 증가한 이유 찾기

👤 엔지니어링 리더, 재무 운영 ⏱ ~25 min intermediate

언제 쓸까: 청구가 30% 증가했고 재무에 설명할 48시간이 있을 때.

사전 조건
  • Cost Explorer API 액세스 — 청구 콘솔에서 Cost Explorer 활성화. 역할에 ce:GetCostAndUsage 부여
흐름
  1. 일일 비용 변화 가져오기
    지난 60일 동안 일일 총 혼합 비용을 가져옵니다. 비용이 7일 이동 평균 대비 20% 이상 증가한 날을 식별합니다.✓ 복사됨
    → 일일 비용 계열 및 표시된 이상 현상 일자
  2. 이상 현상에 대한 서비스별 분류
    가장 큰 이상 현상 날에 대해 서비스별로 비용을 분류합니다. 어느 서비스가 스파이크를 주도했습니까?✓ 복사됨
    → 서비스 수준 드라이버 식별
  3. 리소스별로 추가 분류
    해당 서비스에 대해 사용 유형 및 리소스 태그별로 분류합니다. 어느 특정 리소스가 책임이 있습니까?✓ 복사됨
    → 리소스 수준의 원인 - 예: 'us-east-1의 nat 게이트웨이가 12 TB를 처리했습니다'

결과: 재무를 위한 한 단락의 답변: '스파이크는 Y로 인한 X였습니다. 해결책은 Z입니다.'

함정
  • Cost Explorer는 최대 24시간의 지연이 있습니다 - 오늘의 비용은 아직 완전하지 않습니다 — 쿼리를 최소 1일 전에 끝나도록 제한합니다. 답변에서 지연을 명시적으로 언급합니다
  • 각 Cost Explorer API 호출 비용은 $0.01입니다 — 스크립트에서 제한 없이 쿼리를 반복하지 마십시오. MCP는 당신을 막지 않습니다
함께 쓰기: filesystem

최근 호출 및 로그를 읽어 실패한 Lambda 디버그하기

👤 서버리스 엔지니어 ⏱ ~15 min intermediate

언제 쓸까: Lambda가 간헐적으로 오류를 발생시키고 입력, 오류, 지속 시간 추세를 보고 싶을 때.

흐름
  1. 함수 설명
    Lambda 함수 my-api-handler를 설명합니다. 런타임, 메모리, 타임아웃, 마지막 수정은 무엇입니까?✓ 복사됨
    → 설정 스냅샷
  2. CloudWatch Logs에서 최근 오류 가져오기
    Logs Insights: 지난 2시간 동안 /aws/lambda/my-api-handler에 대해 requestId, 지속 시간, 초기화 시간을 포함한 오류 라인을 표시합니다. 오류 유형별로 그룹화합니다.✓ 복사됨
    → 대표적인 requestId가 포함된 오류 범주
  3. 한 요청을 끝에서 끝까지 가져오기
    실패한 requestId 하나를 선택합니다. 해당 호출의 전체 로그 스트림을 가져옵니다 - START, 모든 인쇄, END, REPORT. 무슨 일이 일어났는지 말합니다.✓ 복사됨
    → 콜드 스타트 타이밍 및 오류 원인이 포함된 단일 호출의 서술

결과: 구체적인 오류 원인 및 수정 경로(더 많은 메모리, dep 업그레이드, 재시도 설정 등).

함정
  • 프로비저닝된 동시성은 콜드 스타트 숫자를 왜곡합니다Init Duration이 있는 REPORT 라인을 필터링합니다 - 이들은 콜드 스타트입니다. 따뜻한 호출을 디버그하는 경우 무시합니다
함께 쓰기: github · sentry

CloudFormation 스택과 라이브 리소스 간의 드리프트 감지

👤 플랫폼 엔지니어, DevOps ⏱ ~30 min advanced

언제 쓸까: 누군가 콘솔을 클릭하고 IaC 외부의 리소스를 변경했을 것으로 의심할 때.

흐름
  1. 스택 나열 및 드리프트 감지 트리거
    모든 ACTIVE CloudFormation 스택을 나열합니다. 각각에 대해 드리프트 감지를 시작하고 모두 완료될 때까지 폴링합니다.✓ 복사됨
    → 스택당 드리프트 상태: IN_SYNC / DRIFTED / NOT_CHECKED
  2. 드리프트된 스택 파고들기
    DRIFTED 상태의 각 스택에 대해 어느 리소스가 드리프트되었는지 및 어떤 속성이 다른지 나열합니다.✓ 복사됨
    → 리소스 수준의 차이점(예: 'SG는 0.0.0.0/0을 허용하지만 템플릿은 10.0.0.0/8을 나타냅니다')
  3. 결정: 템플릿 업데이트 또는 되돌리기
    각 드리프트에 대해 권장합니다: 라이브 상태가 의도적(템플릿을 일치시키도록 업데이트)입니까, 아니면 우발적(리소스 되돌리기)입니까? 변경의 특성을 기반으로 합니다.✓ 복사됨
    → 추론이 포함된 드리프트별 권장사항

결과: 의사결정 로그가 포함된 현실과 다시 동기화된 IaC.

함정
  • 드리프트 감지는 모든 리소스 유형의 모든 속성을 catch하지 않습니다 — CloudFormation 문서에서 '지원되지 않는 드리프트' 목록을 확인합니다. 철저한 범위를 위해 AWS Config 규칙으로 보완합니다
함께 쓰기: github

조합

다른 MCP와 조합해 10배 효율

aws + github

배포 PR을 결과 CloudWatch 알람과 연관지어 충돌하는 커밋 식별

CloudWatch 알람 prod-latency-p99이 14:22에 발동했습니다. 그 시간에 가장 가까운 main에 병합된 GitHub PR을 찾아 차이를 요약하고 어느 부분이 회귀를 가장 가능성 있게 유발했는지 말합니다.✓ 복사됨
aws + postgres

RDS 호스팅 Postgres의 경우 AWS 수준의 관찰성과 SQL 액세스 결합

RDS 알람 'cpu > 80%'(prod-db-01에서). pg_stat_statements와 연관지어 - 스파이크 중에 가장 많이 실행된 쿼리는 무엇입니까?✓ 복사됨

AWS 리소스 인벤토리를 로컬 CSV로 내보내기(규정 준수 문서용)

/reports/s3-audit-2026-04.csv로 모든 S3 버킷을 암호화 설정 및 공개 액세스 설정과 함께 내보냅니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
call_aws service: str, operation: str, parameters: object Generic AWS CLI 동등물 - 모든 서비스, 모든 읽기 작업 일반적으로 무료입니다. 일부 서비스(CE)는 호출당 청구합니다
describe_stack stack_name: str CloudFormation 자체 검사 무료
detect_stack_drift / describe_stack_drift_detection_status stack_name: str IaC 대 라이브 드리프트 확인 무료
list_functions / get_function / invoke_function Lambda name, payload? Lambda 관리 및 테스트 - 호출은 쓰기 작업입니다, 제한됩니다 Lambda 가격 책정에 따른 호출 비용
list_buckets / get_object / list_objects_v2 S3 params S3 인벤토리 및 콘텐츠 액세스 표준 S3 요청 가격 책정
start_query / get_query_results (Logs Insights) logGroupName, queryString, startTime, endTime 하나 이상의 로그 그룹 전반의 로그 분석 $0.005/GB 스캔됨
get_metric_data CloudWatch metric query JSON 시계열 메트릭 가져오기 무료 계층 적용
get_cost_and_usage TimePeriod, Granularity, GroupBy, Metrics Cost Explorer 쿼리 API 호출당 $0.01
list_services / describe_services / list_tasks (ECS) cluster params ECS 클러스터/서비스 자체 검사 무료
describe_db_instances (RDS) identifier? RDS 인벤토리. 실제 SQL의 경우 postgres MCP 사용 무료

비용 및 제한

운영 비용

API 쿼터
서비스별. 대부분의 describe/list 호출은 무료입니다. 일부 API는 호출당 청구합니다(Cost Explorer $0.01, Logs Insights $0.005/GB 스캔됨)
호출당 토큰
일반적으로 200-2000 토큰. Logs Insights 결과는 클 수 있습니다 - 항상 행 제한을 설정하십시오
금액
MCP 자체는 무료입니다. AWS 청구는 에이전트가 수행하는 모든 API 호출을 반영합니다.
시간 창 제한, 결과 행 제한, 세션당 describe-* 출력 캐시. 30일간의 자세한 로그에 대한 부주의한 Logs Insights 루프는 TB의 데이터를 스캔할 수 있습니다.

보안

권한, 시크릿, 파급범위

최소 스코프: arn:aws:iam::aws:policy/ReadOnlyAccess (읽기 전용 사용의 경우)
자격 증명 저장: 표준 AWS 자격증명 체인 - 환경 변수, ~/.aws/credentials, SSO 또는 인스턴스 역할. 키를 절대 하드코딩하지 마십시오.
데이터 외부 송신: AWS API 엔드포인트(지역)��� 직접 연결합니다. 제3자 없음
절대 부여 금지: AdministratorAccess iam:* write 범위 지정 없이 민감한 키에 대한 kms:Decrypt

문제 해결

자주 발생하는 오류와 해결

어떤 제공자에서도 자격증명을 로드할 수 없습니다

aws sts get-caller-identity를 실행합니다 - 실패하면 먼저 CLI 설정을 수정합니다. MCP는 동일한 체인을 사용합니다.

확인: aws sts get-caller-identity
Describe 호출에 대한 AccessDenied

역할에 특정 권한이 없습니다. 오류를 읽습니다 - 누락된 작업의 이름을 지정합니다. 역할에 추가하거나 프로필을 전환합니다.

Throttling: 속도 초과

서비스 API 제한에 도달하고 있습니다(예: CloudFormation 1 req/s). 물러남. 대부분의 SDK는 자동 재시도하지만 대량 루프는 통과합니다. 다중 호출 프롬프트에 명시적 sleep을 추가합니다.

uvx가 awslabs.<server>를 찾을 수 없습니다

패키지 이름 형식: awslabs.<name>-mcp-server. awslabs/mcp 저장소 README에서 현재 목록을 확인합니다 - 이름은 2025년 말에 변경되었습니다.

확인: uvx --help | head

대안

AWS Labs MCP 다른 것과 비교

대안언제 쓰나단점/장점
Cloudflare MCPAWS 대신 Cloudflare(Workers/R2/D1)에서 실행하는 경우다른 클라우드. 드롭인 방식이 아닙니다
Terraform MCP (community)클라우드 전반에 걸쳐 IaC 우선 워크플로우를 원하는 경우라이브 상태 디버깅 범위 감소
Direct `aws` CLI via a shell MCPClaude가 사전 승인된 것뿐만 아니라 모든 CLI 명령을 실행하기를 원하는 경우훨씬 더 큰 공격 표면. 샌드박스로 보호하지 않으면 피하십시오

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기