반응형
MCP 서버 하나씩 쓰면 편해요. 근데 여러 개를 조합하면 차원이 달라져요.
혼자: "DB 조회해줘" → 결과 반환
조합: "DB에서 결제 실패 급증하면
GitHub 이슈 자동 생성하고
Slack으로 팀에 알림 보내줘"
→ 한 번의 명령으로 3개 서비스 동시 처리
전체 MCP 설정
// .claude/mcp.json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["@anthropic/mcp-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
},
"github": {
"command": "npx",
"args": ["@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"slack": {
"command": "npx",
"args": ["@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
"SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
}
},
"notion": {
"command": "npx",
"args": ["@notionhq/notion-mcp-server"],
"env": {
"NOTION_API_KEY": "${NOTION_API_KEY}"
}
},
"google-sheets": {
"command": "uvx",
"args": ["mcp-google-sheets@latest"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_CREDS_PATH}"
}
}
}
}
.env:
DATABASE_URL=postgresql://user:pass@localhost/mydb
GITHUB_TOKEN=ghp_...
SLACK_BOT_TOKEN=xoxb-...
SLACK_TEAM_ID=T0123456
NOTION_API_KEY=ntn_...
GOOGLE_CREDS_PATH=/path/to/service-account.json
실전 시나리오 1 — 장애 대응 자동화
나: "결제 실패율 모니터링하고 이상하면 대응해줘"
Claude:
(postgres) 결제 실패율 조회
→ SELECT
COUNT(*) FILTER (WHERE status = 'failed') * 100.0 / COUNT(*) as fail_rate,
DATE_TRUNC('hour', created_at) as hour
FROM payments
WHERE created_at > NOW() - INTERVAL '3 hours'
GROUP BY hour
ORDER BY hour DESC
→ 조회 결과:
14:00 - 실패율 2.1% (정상)
15:00 - 실패율 3.4% (정상)
16:00 - 실패율 18.7% ← 급증!
(github) 이슈 자동 생성
→ 제목: "🚨 결제 실패율 급증 - 16:00 18.7%"
→ 내용: DB 조회 결과 + 영향 범위 + 조회 쿼리
→ 라벨: critical, payment
(slack) 팀 알림
→ #dev-alert 채널:
"🚨 결제 실패율 급증
16:00 기준 18.7% (정상: 3% 이하)
GitHub 이슈 #89 생성됨
담당자 확인 부탁드립니다"
→ "✅ 완료: 이슈 #89 생성, #dev-alert 알림 발송"
DB 이상 감지 → 이슈 생성 → 알림까지 한 번에 돼요.
실전 시나리오 2 — 주간 리포트 자동화
매주 월요일 아침 명령 하나로 리포트 완성이에요.
나: "지난주 개발 현황 리포트 만들어줘"
Claude:
(github) 지난주 머지된 PR 조회
→ PR #85: feat: 쿠폰 적용 API
→ PR #83: fix: 로그인 버그 수정
→ PR #81: refactor: 결제 로직 개선
→ 총 3개 PR, 기여자: cell(2), dev1(1)
(github) 지난주 생성/해결된 이슈 조회
→ 생성: 7건 / 해결: 5건 / 미해결: 2건
(postgres) 지난주 주요 지표 조회
→ 총 주문: 1,247건
→ 결제 성공률: 97.3%
→ 평균 응답시간: 234ms
(notion) 이번 주 스프린트 목표 조회
→ "결제 취소 API 개발, 테스트 커버리지 80% 달성"
(google-sheets) 주간 리포트 시트에 데이터 입력
→ 4월 2주차 행에 모든 지표 자동 입력
(slack) #weekly-report 채널에 요약 발송
→ "📊 4월 2주차 개발 현황
PR 머지: 3건 | 이슈 해결: 5건
결제 성공률: 97.3% ✅
이번 주 목표: 결제 취소 API 개발
상세 내용: [Notion 리포트 링크]"
→ "✅ 주간 리포트 완료"
GitHub + DB + Notion + Sheets + Slack 5개가 동시에 돌아요.
실전 시나리오 3 — 스프린트 시작 자동화
나: "새 스프린트 시작해줘. Notion 스프린트 24 기획서 기반으로"
Claude:
(notion) 스프린트 24 기획서 읽기
→ 작업 목록:
- 결제 취소 API (3일, cell)
- 정기결제 API (5일, dev1)
- 테스트 커버리지 80% (2일, cell)
(github) 각 작업에 대한 이슈 자동 생성
→ 이슈 #90: feat: 결제 취소 API 구현
담당자: cell, 라벨: sprint-24, feature
→ 이슈 #91: feat: 정기결제 API 구현
담당자: dev1, 라벨: sprint-24, feature
→ 이슈 #92: chore: 테스트 커버리지 80% 달성
담당자: cell, 라벨: sprint-24
(google-sheets) 스프린트 트래킹 시트 업데이트
→ 스프린트 24 탭에 작업 목록 + 담당자 + 상태 자동 입력
(slack) #dev 채널에 스프린트 시작 알림
→ "🚀 스프린트 24 시작!
총 3개 작업, 예상 10일
GitHub 이슈 #90~#92 생성됨
트래킹 시트: [링크]"
→ "✅ 스프린트 24 시작 완료"
실전 시나리오 4 — 배포 후 자동 처리
나: "v2.3.1 프로덕션 배포 완료. 후속 처리 해줘"
Claude:
(github) 릴리즈 생성
→ v2.3.1 태그 + 릴리즈 노트 자동 작성
→ 해당 버전 PR들에서 변경사항 추출
(notion) 배포 기록 페이지 업데이트
→ "배포 이력" 페이지에 행 추가
→ 날짜, 버전, 변경사항, 배포자 자동 기록
(postgres) 배포 전후 지표 비교
→ 응답시간: 234ms → 198ms (-15%)
→ 에러율: 2.1% → 1.8% (-14%)
(slack) 배포 완료 알림
→ #releases 채널:
"✅ v2.3.1 배포 완료
응답시간 15% 개선, 에러율 14% 감소
릴리즈 노트: [GitHub 링크]"
→ "✅ 배포 후속 처리 완료"
슬래시 커맨드로 시나리오 저장
자주 쓰는 조합은 커맨드로 만들어요.
# .claude/commands/weekly-report.md
지난주 개발 현황 리포트를 만들어줘.
순서:
1. GitHub에서 지난주 PR, 이슈 통계 조회
2. DB에서 주요 지표 조회 (주문, 결제 성공률, 응답시간)
3. Notion에서 이번 주 스프린트 목표 확인
4. Google Sheets 주간 리포트 시트에 데이터 입력
5. Slack #weekly-report에 요약 발송
리포트 형식:
- PR 머지 건수
- 이슈 생성/해결 건수
- 주요 지표 (전주 대비)
- 이번 주 목표
# .claude/commands/deploy-done.md
$ARGUMENTS 버전 프로덕션 배포 완료. 후속 처리 해줘.
1. GitHub에 릴리즈 생성 ($ARGUMENTS 버전)
2. Notion 배포 이력 업데이트
3. DB에서 배포 전후 지표 비교 (최근 30분 vs 이전 30분)
4. Slack #releases에 배포 완료 알림 (지표 변화 포함)
사용:
/weekly-report
/deploy-done v2.3.1
전후 비교
MCP 조합 전:
주간 리포트 만들기:
1. GitHub 수동 확인 (10분)
2. DB 직접 쿼리 (5분)
3. Notion 확인 (3분)
4. Sheets에 수동 입력 (5분)
5. Slack 메시지 직접 작성 (5분)
총: ~30분
MCP 조합 후:
/weekly-report
총: ~1분
반응형
'MCP' 카테고리의 다른 글
| MCP 서버 팀 배포 가이드 — 로컬에서 서버로 올려서 팀 전체가 쓰기 (0) | 2026.04.14 |
|---|---|
| MCP 서버 보안 설정 완전 가이드 — 인증, 권한 제한, 위험 차단 (0) | 2026.04.14 |
| GitHub MCP 연동 실전 가이드 — 이슈 분석부터 PR 생성까지 자동화 (1) | 2026.04.14 |
| Notion + Google Sheets MCP 연동 실전 가이드 — Claude Code로 문서/데이터 자동화 (1) | 2026.04.14 |
| MCP 서버 직접 만들기 — 내 서비스를 Claude에 연동하는 법 (1) | 2026.04.14 |