infra
Platform

모듈 맵

[AI활용] n8n과 Claude/MCP로 운영 업무 자동화 — 알람→AI분류→Slack→티켓

0 / 64 완료

펼치기
0 / 64 완료0%

IT 서비스·프로젝트 관리 · 58 / 64

[AI활용] n8n과 Claude/MCP로 운영 업무 자동화 — 알람→AI분류→Slack→티켓

n8n(노드·트리거·Webhook·Cron·AI 노드)으로 반복 운영 업무를 자동화하고, Claude의 MCP/Tool Use로 대화형 운영을 구성하는 법을 다룹니다. 검증된 워크플로우(모니터링 알람→AI 분류·요약→Slack→Jira 티켓)를 단계로 따라가며, 셀프호스트가 폐쇄망 정답인 이유와 '발행 전 사람 승인·권한 최소화' 안전수칙을 한국 SI/SM 맥락으로 정리합니다

🚨INCIDENT ALERT
HIGH

야간 SM 운영. 모니터링에서 알람이 분당 수십 건씩 올라옵니다. 대부분은 일시적 스파이크라 무시해도 되지만, 그 사이에 진짜 장애 한 건이 섞여 있습니다. 당직자는 알람을 하나씩 열어 읽고, 심각도를 가늠하고, 메신저에 공유하고, 티켓을 손으로 만듭니다. 새벽 4시, 손이 느려지고 진짜 한 건을 놓칩니다.

옆 팀은 다릅니다. 알람이 오면 n8n 워크플로우가 받아서, AI 노드가 본문을 읽고 "Sev-2, 결제 API 타임아웃 급증"이라고 한 줄로 분류·요약합니다. 심각도별로 갈라져 Slack 채널에 온콜을 멘션하고, Jira에 티켓 초안이 자동으로 만들어집니다. 당직자는 "이미 분류된 것"만 봅니다. 사람의 일이 "전부 읽기"에서 "분류된 것 검토·판단"으로 옮겨갔습니다.

또 다른 운영자는 자동화를 미리 짜 두는 대신, Slack에서 Claude에게 직접 말합니다. "지난주 P1 티켓 다 모아서 RCA 표로 만들어 줘." Claude가 MCP로 연결된 Jira 도구를 호출해 티켓을 모으고 표를 돌려줍니다. 워크플로우를 그리지 않고 대화로 즉석 처리한 것입니다.

이 모듈은 이 두 가지 — 미리 짜는 n8n 정형 자동화와 대화로 즉석 처리하는 Claude/MCP 자동화 — 를, "발행은 사람이 승인한다"는 안전선 위에서 다룹니다.

이번 챕터에서 배울 것
  • 1n8n의 핵심 빌딩블록(노드·트리거·Webhook·Cron·HTTP·IF·AI 노드)을 구분해 설명할 수 있다
  • 2폐쇄망·기밀 환경에서 n8n 셀프호스트가 정답이고 Zapier/Make는 어디에 적합한지 판단할 수 있다
  • 3Claude의 MCP/Tool Use 3역할(Host·Server·Tool use)을 설명하고 n8n 정형 자동화와 대비할 수 있다
  • 4"모니터링 알람→AI 분류·요약→Slack→Jira 티켓" 워크플로우를 단계로 설계할 수 있다
  • 5운영 자동화에 "발행 전 사람 승인·권한 최소화·감사로그·중복 제거" 안전수칙을 적용할 수 있다

n8n — 운영 자동화의 빌딩블록

💡개념

워크플로우 = 노드들이 선으로 연결된 그래프

운영 업무에는 "이 일이 생기면 → 저걸 하고 → 그다음 이걸 한다"는 반복 절차가 많습니다. 알람이 오면 분류하고, 메신저에 알리고, 티켓을 만드는 일이 매번 똑같이 반복됩니다. n8n은 이런 절차를 사람 대신 실행해 주는 워크플로우 자동화 도구입니다.

n8n에서 워크플로우는 노드(node)들이 선으로 연결된 방향 그래프입니다. 각 노드는 데이터(item 배열)를 받아 작업하고, 결과를 다음 노드로 내보냅니다. 절차를 코드로 길게 쓰는 대신, 블록을 선으로 잇듯 조립합니다.

가장 먼저 알아야 할 두 종류는 트리거 노드(워크플로우의 시작점)와 액션 노드(중간 처리)입니다.

구분노드하는 일운영 예
트리거Webhook고유 URL로 HTTP 요청이 들어오면 실행모니터링 알람·외부 시스템 연동의 출발점
트리거Cron/Schedule주기 실행. cron 5필드(분·시·일·월·요일)0 9 * * 1 = 매주 월 09:00 정기 리포트
액션HTTP Request거의 모든 REST API 호출(전용 통합 없어도)Jira/Redmine·메신저 API 직접 호출
액션IF / Switch조건 분기 / 다분기심각도별 라우팅
액션Set / Function필드 변환 / 커스텀 JS알람 본문 정규화
액션AI 노드(LangChain)워크플로우 안에서 LLM 호출알람 분류·요약, AI 에이전트

핵심은 AI 노드입니다. n8n은 LangChain 노드로 OpenAI·Anthropic·셀프호스트 모델을 워크플로우 안에 끼워 넣을 수 있습니다. 그래서 "알람 본문을 LLM이 읽고 심각도를 매긴다" 같은 판단을 자동화 중간에 넣을 수 있습니다.

💡개념

셀프호스트 vs SaaS — 폐쇄망에서는 n8n 셀프호스트가 정답

자동화 도구는 n8n만 있는 게 아닙니다. Zapier(완전 관리형 SaaS)와 Make도 있습니다. 무엇을 고를지는 "기술 난이도"가 아니라 **"데이터가 어디로 흐르는가"**로 먼저 갈립니다.

항목n8nZapierMake
호스팅셀프호스트 무료·무제한 실행 (데이터 외부 유출 없음)완전 관리형 SaaS관리형
AI/에이전트LangChain 노드로 AI 에이전트 구축AI API 호출은 되나 자율 에이전트는 한계중간
대상개발자·기술팀, 복잡 로직비기술 사용자 no-code중간
적합폐쇄망·기밀·복잡 워크플로우사내 비민감 업무·빠른 PoC중·대량 균형

한국 SI/SM 현장의 결론은 분명합니다. 고객사 폐쇄망·기밀 데이터(고객 정보·소스·계약)가 걸리면 n8n 셀프호스트가 정석입니다. 워크플로우 엔진과 데이터가 사내 인프라 안에 머물러 외부로 나가지 않기 때문입니다. Zapier/Make는 사내 비민감 업무나 빠른 PoC에 좋습니다.

다만 셀프호스트에는 숨은 비용이 있습니다 — 서버 운영·업데이트·모니터링은 결국 사람 시간입니다. "무료"는 라이선스 비용일 뿐, 운영 비용은 따로라는 점을 같이 판단해야 합니다.

검증된 워크플로우 — 알람 → AI 분류·요약 → Slack → Jira 티켓

💡개념

이벤트 구동형 장애 대응 파이프라인

가장 많이 쓰이는 검증된 패턴은 모니터링 알람을 받아 AI가 분류·요약하고, 메신저와 티켓으로 흘려보내는 파이프라인입니다. 사람은 "이미 분류·요약된 것"만 보게 되어, 야간 무인 모니터링에서도 진짜 한 건을 놓치지 않습니다.

각 노드의 역할은 이렇게 나뉩니다.

노드종류하는 일
모니터링 알람Webhook 트리거Grafana/Zabbix/SNS 알람이 n8n URL을 때려 워크플로우 시작
AI 분류·요약AI 노드(LangChain)LLM이 알람 본문을 읽고 심각도 분류 + 한 줄 요약 생성
심각도별 라우팅IF / SwitchSev-1/2/3로 분기
Slack / 잔디액션 노드채널에 요약+심각도 알림, 온콜 담당자 멘션
Jira / Redmine액션 노드머신 정보 포함한 티켓 자동 생성
(선택) Sheets 로깅액션 노드타임라인·상태 로깅, 사후 리포트

역할을 한 줄로 요약하면 — n8n=오케스트레이터(접착제), LLM=판단·요약 엔진, Slack=휴먼 인터페이스, Jira=기록 시스템입니다.

저비용 모델 라우팅도 여기서 실증됩니다. 알람 분류·요약처럼 대량·단순한 의도 처리는 Claude Haiku 같은 빠르고 저렴한 모델로 충분합니다. "RFP 100쪽 분석"에는 상위 모델을, "알람 한 건 요약"에는 하위 모델을 — 작업별로 모델을 배분하는 사고가 비용을 좌우합니다.

모니터링 알람(Webhook 트리거)이 n8n으로 들어오면 AI 노드(LangChain, Claude Haiku)가 심각도 분류와 한 줄 요약을 만들고, IF/Switch가 심각도별로 라우팅해 Slack(온콜 멘션)과 Jira(티켓 자동 생성)로 흘려보내는 좌→우 데이터 흐름. 하단에는 n8n=오케스트레이터·LLM=판단엔진·Slack=휴먼 인터페이스·Jira=기록 시스템 역할 분담과, 쓰기는 권한 최소화·감사로그·발행 전 사람 승인 안전수칙을 보여 주는 아키텍처 다이어그램

그림: 이벤트 구동형 장애 대응 파이프라인 — n8n이 알람을 받아 AI로 분류·요약한 뒤 Slack과 Jira로 분기시킨다. 사람은 "이미 분류된 것"만 검토한다.

💡개념

알람 분류·요약 AI 노드 프롬프트와 흐름 예시

AI 노드에 들어가는 프롬프트는 "단정 금지·구조화 출력"을 박아 두는 것이 핵심입니다. 자동으로 티켓이 만들어지므로, 출력 형식이 흔들리면 뒤 노드가 깨집니다.

AI 노드 프롬프트 예시:

TEXT
너는 SM 운영 알람 분류기다. 아래 모니터링 알람 본문을 읽고 JSON으로만 답하라.

[출력 형식]
{ "severity": "Sev-1|Sev-2|Sev-3", "summary": "한 줄 요약(40자 이내)",
  "service": "추정 영향 서비스", "confidence": "높음|중간|낮음" }

[규칙]
- severity는 영향 범위·지속성 기준. 불확실하면 한 단계 보수적으로(더 심각하게) 잡고 confidence를 낮춤.
- 알람 본문에 없는 내용은 추측하지 마라. service를 모르면 "불명".
- JSON 외 다른 텍스트는 출력하지 마라.

[알람 본문]
"""{{$json.alert_body}}"""

n8n이 이 JSON을 받아 다음처럼 흐릅니다.

TEXT
Webhook 트리거 → Set(알람 본문 정규화) → AI 노드(위 프롬프트)
  → Switch(severity 기준 분기)
      ├─ Sev-1/2 → Slack(온콜 멘션 + summary) + Jira(티켓 "초안" 생성)
      └─ Sev-3   → Sheets 로깅만(티켓 미생성)

confidence가 "낮음"이면 티켓을 바로 만들지 않고 Slack에 "사람 확인 필요"로만 보내는 분기를 두는 것이 안전합니다 — AI 분류는 제안이고, 시스템 반영은 사람이 본 뒤로 미룰 수 있습니다.

Claude의 자동화 — MCP / Tool Use

💡개념

MCP 3역할 — 대화로 도구를 부리는 자동화

n8n이 미리 짜 두는 워크플로우형 자동화라면, Claude의 **MCP(Model Context Protocol)**는 대화로 즉석 처리하는 자동화입니다. MCP는 Anthropic이 공개한 오픈 표준으로, "AI를 위한 USB-C"라고도 불립니다 — LLM이 Jira·Drive·DB 같은 외부 도구·데이터에 안전하게 접근하게 하는 규약입니다.

MCP는 세 역할로 구성됩니다.

역할무엇인가
Host사용자가 쓰는 AI 앱. 여러 MCP 서버 연결을 관리Claude Desktop, Cursor, 사내 앱
Server특정 기능을 도구로 노출하는 경량·단일 책임 프로그램Jira MCP, DB MCP, 파일시스템 MCP
Tool use서버가 JSON Schema로 정의한 도구를 Claude가 맥락 따라 호출"티켓 조회"·"티켓 생성" 도구 호출

흐름은 이렇습니다. 운영자가 자연어로 명령하면 → Host(Claude)가 어떤 도구를 쓸지 추론하고 → MCP 서버의 도구를 호출하고 → 서버가 결과를 돌려주면 → Claude가 종합해 답합니다. 워크플로우를 미리 그리지 않아도, "지난주 P1 티켓 다 모아서 RCA 표 만들어"를 그 자리에서 수행할 수 있습니다.

n8n vs MCP: 반복·정형 업무는 n8n으로 미리 짜고, 비정형·탐색 업무는 MCP 대화로 즉석 처리합니다. 둘은 경쟁이 아니라 용도가 다릅니다 — 그리고 둘 다 "쓰기·발행은 사람 승인"이라는 안전선은 공통입니다.

왼쪽은 n8n 정형 자동화(트리거→AI→분기→Slack/Jira를 미리 노드로 설계, 같은 입력엔 같은 처리, 사람은 분류된 것만 검토, 셀프호스트=폐쇄망 정답), 오른쪽은 Claude+MCP 대화형 자동화(자연어 명령, MCP 서버=도구 어댑터, LLM이 도구를 골라 호출, 권한 최소화)를 나란히 대비하고, 하단에 반복·정형은 n8n·비정형·탐색은 MCP·발행은 사람 승인은 공통이라는 결론을 보여 주는 비교 다이어그램

그림: 워크플로우형 자동화(n8n)와 대화형 자동화(Claude+MCP)의 대비 — 정형 반복은 n8n, 비정형 탐색은 MCP. "발행은 사람 승인"은 양쪽 공통 안전선이다.

무엇을 어떻게 자동화할지 — 판단 기준

이 운영 업무, 어떻게 자동화하나
알람이 올 때마다 같은 분류·알림·티켓 절차를 반복한다n8n 정형 자동화(Webhook 트리거)이벤트 구동, 재현·감사 쉬움
매주 월요일 운영 리포트를 정기 생성한다n8n Cron/Schedule 트리거수집→LLM 초안→문서툴, 발행은 사람
그때그때 다른 비정형 질의(티켓 모아 표 만들기 등)Claude + MCP 대화형워크플로우 없이 자연어로
고객사 폐쇄망·기밀 데이터가 흐른다n8n 셀프호스트 / 온프레미스 LLM데이터가 인프라 밖으로 안 나감
사내 비민감 업무를 빠르게 PoC하고 싶다Zapier/Make 등 SaaS민감 데이터는 금지
AI 판단으로 티켓 생성·상태변경을 한다초안/제안까지만 자동, 발행은 사람 승인쓰기 권한 최소화·감사로그

직접 해보기 — 알람 자동화 워크플로우 설계

1알람→AI분류→Slack→Jira 워크플로우를 종이 위에서 설계한다

아래 흐름을 종이 위에서 직접 설계해 보세요. 정답 방향과 체크리스트는 ObserveBlock에 있습니다.

TEXT
(1) 트리거: 모니터링 시스템이 알람을 보낼 때 시작하려면 어떤 트리거를 쓰는가?
    Cron 트리거를 쓰면 안 되는 이유를 한 줄로 적어 보세요.

(2) AI 노드: 알람 본문을 받아 {severity, summary, service, confidence}를
    JSON으로만 출력하게 하는 프롬프트의 "규칙" 3줄을 적어 보세요.
    (단정 금지 / JSON 외 출력 금지 / 추측 금지가 들어가야 함)

(3) 분기: severity와 confidence를 어떻게 분기에 쓸지 적어 보세요.
    특히 confidence="낮음"일 때 티켓을 바로 만들면 안 되는 이유는?

(4) 안전장치: 이 자동화에 반드시 넣어야 할 안전수칙 3가지를 적어 보세요.
    (권한 / 발행 승인 / 중복·폭주 관점)
노드 나열 → 트리거 선택 → AI 프롬프트 → 분기 → 안전장치
🔍실행 후 확인할 것
  • 트리거 정답: 외부 알람은 "이벤트가 올 때" 시작해야 하므로 Webhook 트리거. Cron은 정해진 주기로만 돌아 알람 발생 시점에 즉시 반응하지 못한다(지연·누락)
  • AI 규칙 정답 방향: (a) 알람에 없는 내용 추측 금지·모르면 "불명", (b) JSON 외 텍스트 출력 금지(뒤 노드가 깨짐), (c) 불확실하면 보수적으로(더 심각하게) 잡고 confidence를 낮춤
  • 분기 정답: severity로 라우팅(Sev-1/2는 온콜 멘션+티켓, Sev-3는 로깅만). confidence="낮음"이면 티켓 자동 생성 대신 Slack "사람 확인 필요"로만 — AI 분류는 제안이고, 시스템 반영(티켓)은 오판 위험이 있어 사람 확인 뒤로 미룬다
  • 안전장치 정답: (1) Jira 토큰은 쓰기 최소 권한 + 감사로그, (2) 고위험은 초안/제안까지만·발행은 사람 승인, (3) 트리거 디바운스·중복 제거로 알람 폭주·무한루프 방지
  • 핵심 감각: 자동화는 사람의 일을 "전부 처리"에서 "분류된 것 검토·승인"으로 옮긴다. AI는 분류·요약·초안을 빠르게 주고, 시스템에 박는 결정은 사람이 한다

운영 자동화 특유의 위험 — 안전수칙

💡개념

자동 쓰기는 오판이 시스템에 직접 반영된다

자동 요약·알림까지는 틀려도 사람이 거르면 됩니다. 그러나 자동 티켓 생성·상태 변경부터는 다릅니다 — AI의 오판이 운영 시스템에 직접 반영됩니다. 잘못 분류된 Sev-1이 새벽 온콜을 깨우거나, 멀쩡한 티켓이 자동으로 "해결됨" 처리될 수 있습니다. 그래서 자동화에는 처음부터 안전장치를 코드처럼 박아 둡니다.

위험무슨 일이 나나안전수칙
자동 쓰기 오판AI 오분류가 티켓·상태로 바로 반영초기엔 "초안/제안"만, 발행은 사람 승인
과도한 권한토큰 유출·오작동 시 피해 큼토큰은 읽기 위주·쓰기 최소, 감사로그
알람 폭주·무한루프같은 알람 반복, 자동화가 자동화를 트리거트리거 디바운스·중복 제거, 루프 차단
데이터 유출민감 알람이 외부 SaaS·외부 LLM으로셀프호스트·온프레미스 LLM, 입력 전 마스킹
환각AI가 없는 원인·정보를 지어냄confidence 낮으면 사람 확인, 근거 없는 항목 보류

핵심 한 줄은 장애 대응 모듈과 같습니다 — AI는 초안 작성자이지 결정권자가 아닙니다. 자동화로 사람의 일이 사라지는 게 아니라, 검증·승인으로 이동합니다. "사람을 빼는 자동화"가 아니라 "사람이 더 중요한 판단에 집중하게 하는 자동화"가 목표입니다.

현장에서 자주 보는 함정

증상: 알람→AI분류→Jira 티켓+온콜 호출을 사람 개입 없이 완전 자동화했습니다. 어느 새벽, 일시적 네트워크 스파이크 알람을 AI가 "Sev-1 결제 전면 장애"로 오분류했고, 워크플로우가 그대로 P1 티켓을 만들고 전체 온콜을 호출했습니다. 사람들이 깨어 모였지만 실제로는 5분 만에 자동 회복된 일시 현상이었습니다. 신뢰가 깨지고, 이후 진짜 Sev-1 호출도 "또 오탐 아냐?"로 의심받기 시작했습니다.

원인: confidence가 낮은 분류까지 사람 확인 없이 시스템에 직접 반영했습니다. AI 분류는 본질적으로 제안인데, 그 제안을 곧바로 "온콜 호출"이라는 고비용 행동으로 연결한 것입니다. 안전장치(낮은 confidence는 사람 확인, 디바운스로 일시 스파이크 흡수)가 없었습니다.

해결 방향:

  • confidence="낮음" 또는 Sev-1 같은 고비용 액션은 초안/제안으로만 보내고, 온콜 호출·티켓 발행은 당직자 승인 버튼을 한 단계 둔다.
  • 디바운스: 같은 서비스 알람이 N분 내 반복·자동 회복되면 호출하지 않는다(일시 스파이크 흡수).
  • 중복 제거: 동일 알람 다건을 하나의 티켓으로 묶는다.
  • 쓰기 토큰은 최소 권한 + 감사로그로, "누가/무엇을 자동 생성했는지" 추적 가능하게 한다.
  • 교훈을 절차로: **"AI 분류의 고비용 액션은 사람 승인을 거친다"**를 자동화 표준에 박는다. 완전 자동화의 매력보다, 신뢰를 잃지 않는 게 운영에서는 더 비싸다.
💼
실무 맥락
현업 패턴

한국의 SM·운영 현장에서 자동화는 "사람을 줄이는 도구"로 오해되기 쉽지만, 관리자 자리에서 보면 자동화의 진짜 가치는 야간·반복 업무의 누락을 줄이고 사람을 더 중요한 판단으로 옮기는 것입니다. 알람 1차 분류·요약·티켓 초안을 n8n+AI로 돌리면 MTTR이 줄고 야간 누락이 줄지만, 그 대가로 "오판이 시스템에 직접 반영될 위험"을 떠안습니다. 관리자의 일은 이 둘의 균형을 잡는 절차를 세우는 것입니다.

특히 폐쇄망·고객사 보안규정 아래에서는 도구 선택 자체가 보안 의사결정입니다. "이 알람·로그를 외부 SaaS 자동화에 흘려도 되는가"를 데이터 분류로 먼저 정하고, 민감 데이터가 걸리면 n8n 셀프호스트·온프레미스 LLM으로 가는 판단을 관리자가 내려야 합니다. 협력사 엔지니어가 편의로 외부 SaaS 자동화에 운영 데이터를 붙이는 일을 막는 것도 관리자의 몫입니다.

그리고 발주사·원청 보고 자리에서 자동화 성과를 말할 때, "완전 자동화로 사람을 뺐다"가 아니라 **"위험한 쓰기는 사람 승인을 거치도록 설계했다"**가 신뢰를 만듭니다. AI 거버넌스 기조(능력이 아니라 신뢰성·거버넌스로 평가)에서, 검증·승인·권한최소화·감사로그를 파이프라인에 코드처럼 내장한 자동화가 진짜 성숙한 자동화입니다.


관련 모듈로 더 깊이:

다음 모듈에서는 이렇게 만든 자동화와 AI 도구들을 PM·운영 업무 전체에 어떻게 연계하고, 도구별 적합 작업과 보안 경계를 어떻게 정리해 "AI 활용" 트랙을 마무리하는지를 다룹니다.

지식 확인

퀴즈 — 4문제

Q1

고객사 폐쇄망에서 운영하는 SM 현장에서, 모니터링 알람을 AI로 분류해 Slack·Jira로 보내는 자동화를 만들려고 한다. 자동화 도구로 가장 적절한 선택과 이유는?

Q2

n8n 워크플로우에서 '외부 모니터링 시스템이 알람을 보낼 때 워크플로우를 시작'하게 하려면 어떤 트리거를 써야 하는가?

Q3

Claude의 MCP(Model Context Protocol)에서 '서버(Server)'의 역할로 가장 정확한 것은?

Q4

운영 자동화에서 'AI가 분류한 결과로 Jira 티켓을 자동 생성·상태 변경'하는 파이프라인을 만들 때, 이 트랙이 강조하는 안전수칙으로 가장 적절한 것은?

0 / 4 답변

🧪 실습으로 확인하기

Jira 이슈·스프린트·백로그 — 일을 티켓으로 굴리기

초급

Jira(클라우드 무료 플랜)에서 프로젝트를 만들고 이슈 타입·워크플로우를 구성한 뒤, 백로그를 스프린트로 끊어 보드로 운영하고 JQL·번다운으로 현황을 읽는 전 과정을 직접 구성한다.

60📋 4단계💻 직접 환경
실습 시작하기 →

이것도 배워보세요