14장 — MCP 통합
CHAPTER 14

MCP 통합: Claude Code를 외부 세계와 연결한다

5파일+ 위에 외부 세계를 얹는 방법 — Supabase MCP 설치부터 자연어 DB 조작까지

📑 이 챕터에서 다룰 내용

새 11장에서 5파일+ 체계가 완성됐고, 새 12·13장에서 Context Engineering과 프롬프트 라이브러리 P1~P50을 다뤘습니다. 이 장은 Claude Code의 능력을 외부 세계로 확장하는 것 — MCP (Model Context Protocol) 입니다.

사전 지식 체크이 장의 목적완료 후 결과물
새 11장 CLAUDE.md 완성 / 5파일+ 체계 가동 핵심 MCP 서버 8개 이해 + Supabase MCP 설치 + 자연어로 DB 조작 + 5파일+ 사이클의 어디에 MCP가 결합되는가 Supabase MCP 연결 + 자연어 DB 조회·수정 성공 + CLAUDE.md §7 Common Commands에 MCP 명령 추가
📘 이론적 배경 — Metcalfe의 법칙 (로버트 멧칼프, 1980)

네트워크 연구자 멧칼프가 발견한 법칙: "네트워크의 가치는 연결된 노드 수의 제곱에 비례한다."

전화기가 1대만 있으면 쓸모없지만, 10대가 연결되면 45개의 연결이 생기고, 100만 대가 연결되면 5,000억 개의 연결이 생깁니다.

MCP 서버도 같습니다. Supabase MCP를 연결하면 자연어로 DB를 조작할 수 있고, GitHub MCP를 더하면 코드 커밋도 자동화됩니다. 연결이 늘수록 Claude Code의 능력이 제곱으로 커집니다.

💡 스마트홈 허브 비유

스마트홈 허브에 전등을 연결하면 "불 꺼줘"가 됩니다. 에어컨까지 연결하면 "자기 전에 시원하게 해줘"가 됩니다. 냉장고까지 연결하면 "오늘 뭐 사야 해?"가 됩니다.

MCP는 Claude Code의 스마트홈 허브입니다. 연결된 서비스가 많을수록 자연어로 할 수 있는 일이 폭발적으로 늘어납니다. → 처음에는 Supabase MCP 하나만 연결하세요. 그것만으로도 자연어 DB 조작이 됩니다.

📘 표준 도구의 자리 — MCP 통합도 도구마다 다릅니다
도구MCP 통합 방식
Taskmaster AIMCP first-class — Cursor MCP에 가장 매끄럽게 통합
CursorMCP 패널 + 직접 통합 (Taskmaster·GitHub 등)
GSD (TÂCHES)86 skills + 33 subagents에 MCP 결합 가능
Spec-Kitagent-agnostic — Claude Code · Copilot · Cursor 모두 MCP 활용
5파일+ (이 책)Claude Code 직접 통합 (claude mcp add)

Taskmaster는 "MCP 우선"으로 설계됐고, 우리 5파일+는 "Claude Code 직접 통합"으로 사용합니다. 둘 다 MCP의 동일한 가치 (외부 시스템 자연어 통신)를 활용합니다.

14-1 MCP가 5파일+ 사이클의 어디에 결합되는가 🔗

새 4장에서 본 5파일+ 사이클 7단계 중 MCP는 단계 ⑦ (BUILD) 부터 작동합니다.

💻 MCP 작동 위치
[① SPEC v1] [② 외부 검토] [③ SPEC v2] [④ 사용자 직관]
[⑤ 두 검토자 SPEC v4] [⑥ PLAN v2.1]
                                          ↓
          [⑦ REVIEW READY] → [⑦+ BUILD ◀ MCP 작동 시작]

MCP가 BUILD 단계에서 하는 일

단계MCP 역할적용 MCP
Day 1: 인프라DB 스키마 자동 생성Supabase MCP / PostgreSQL MCP
Day 4~7: 데이터 수집외부 API 호출 자동화Filesystem + HTTP MCP
Day 8~10: 핵심 로직자연어로 SQL 작성·검증Supabase MCP
Day 11~14: 게이트 검증자동 E2E 테스트Playwright MCP
매일: BUILD.md 갱신git commit + PR 자동화GitHub MCP
운영 단계: 모니터링에러 알림 + 분석Sentry MCP / Slack MCP

MCP × 5확장 결합

확장MCP 결합
E1 회색지대직접 결합 없음. MCP 자동화도 회색지대 결정 본문을 따릅니다.
E2 1인 페이스MCP 자동화 = 시간 절감 — 1인 운영자 페이스 보호의 핵심
E3 두 검토자직접 결합 없음. MCP는 BUILD 단계 도구입니다.
E4 LogOnTableMCP 호출 결정도 LogOnTable에 — "Supabase MCP vs 직접 SQL 비교 → MCP 채택" 트레이스
E5 콘텐츠 SSOTMCP 호출 시 SSOT 인터페이스 일관성 유지 — Supabase MCP가 페르소나의 단일 출처
💡 E2 (1인 페이스) 와의 결합이 핵심입니다

MCP 자동화 = 매일 30분~2시간 시간 절감. 그 시간이 R4 번아웃 방지에 직접 기여합니다.

14-2 MCP 없을 때 vs 있을 때 🔗

MCP의 가치를 가장 직접적으로 느끼는 순간은 Supabase MCP를 처음 설치하고 "이 테이블의 데이터를 조회해줘"라고 했을 때입니다. SQL을 입력하거나 Supabase 대시보드에 접속할 필요 없이, Claude가 직접 DB에서 데이터를 가져와 보여줍니다.

MCP 없이Supabase MCP 있을 때
"users 테이블 조회해줘" → Claude: "SQL을 직접 실행하세요: SELECT * FROM users..." "users 테이블 조회해줘" → Claude가 직접 Supabase에 접속해 조회하고 결과를 보여줍니다
Supabase 대시보드 접속 → SQL 입력 → 결과 확인 (3분) 자연어 한 문장으로 DB 조작 완료 (10초)

1인 운영자에게 MCP가 가지는 의미

매일 DB 조회 / 코드 커밋 / 테스트 실행 / 모니터링 — 이 4가지 작업이 1인 운영자의 "매일 1시간" 정도를 차지합니다.

MCP 자동화 적용 후:

  • DB 조회: 자연어 (10초/회)
  • 코드 커밋: 자연어 (5초/회)
  • 테스트 실행: 자연어 (10초/회)
  • 모니터링: 자동 알림
🎉 매일 약 30~50분 절감

이게 R4 (1인 번아웃)의 가장 큰 완화책입니다.

14-3 핵심 MCP 서버 8개 🔗
MCP 서버연결 후 할 수 있는 것설치 명령5파일+ 적용
Supabase ⭐자연어로 DB 조회·수정·테이블 생성claude mcp add supabase [URL]줍줍·TSV 둘 다 (DB)
GitHub코드 커밋·PR·이슈 자동화claude mcp add github모든 프로젝트
Playwright브라우저 자동 테스트claude mcp add playwrightE2E 테스트 (TSV Day 14 게이트)
Filesystem로컬 파일 읽기·쓰기claude mcp add filesystem모든 프로젝트
Brave Search웹 검색 결과 활용claude mcp add brave-search외부 정보 수집 (TSV 리그 정보)
Linear이슈 트래킹 자동화claude mcp add linear선택 (1인 운영자에게는 과도)
Slack메시지 전송·채널 관리claude mcp add slack운영 알림 (E2 자동화)
PostgreSQL직접 SQL 실행claude mcp add postgresql [URL]Supabase 외 직접 DB

줍줍·TSV가 사용하는 MCP 조합

📘 두 프로젝트의 MCP 구성

줍줍 (B2C 앱)

  • 필수 — Supabase + GitHub + Playwright (3개)
  • 선택 — Slack (앱스토어 심사 알림용)

TotalSportsView (미디어 플랫폼)

  • 필수 — Supabase + GitHub + Playwright (3개)
  • 필수 — Sentry (운영 모니터링, R12~R14 트리거)
  • 선택 — Cloudflare (WAF 관리, 보안 강화)
  • 선택 — Brave Search (리그 외부 정보 수집)

두 프로젝트 모두 3~5개 MCP가 적정선입니다. 더 많이 설치하면 비용이 증가하고 컨텍스트가 무거워집니다.

14-4 Supabase MCP 연결 — 단계별 🔗
💻 Supabase MCP 설치 및 연결
# STEP 1: Supabase 연결 문자열 복사
# Supabase Dashboard → Project Settings → Database
# → Connection string → Transaction pooler 복사

# STEP 2: Claude Code에서 설치
claude mcp add supabase "postgresql://[USER]:[PW]@[HOST]:5432/[DB]"

# STEP 3: 연결 확인
/context    # 목록에 'supabase' 보이면 성공

# STEP 4: 자연어로 사용하기 (예시)
# [Claude Code에서]
# users 테이블의 모든 행을 조회해줘
# benefits 테이블에 새 지원금을 추가해줘: name='청년 창업 지원금', deadline='2026-12-31'
# jupjups 테이블에서 result가 'SUCCESS'인 행만 카운트해줘
⚠️ MCP를 많이 설치할수록 비용이 늘어납니다

MCP 서버는 설치만 해도 컨텍스트에 포함됩니다. MCP 하나당 약 6만 토큰이 추가됩니다.

  • 현재 활성 MCP 확인: /context
  • 미사용 MCP는 설정에서 토글 off

줍줍·TSV처럼 3~5개 MCP만 활성 유지를 권장합니다.

CLAUDE.md §7 Common Commands에 추가

새 11장의 CLAUDE.md 10 섹션 중 §7 Common Commands에 MCP 활용 명령을 추가합니다:

💻 CLAUDE.md §7 Common Commands 예시
## 7. Common Commands

### 일반 개발
- npm test
- npm run dev
- npm run build

### MCP 자동화 (자연어 명령)
- "benefits 테이블 마감일 임박 5건 조회"
- "현재 변경사항을 commit해줘. 메시지: [내용]"
- "localhost:3000 로그인 E2E 테스트 실행"
- "Supabase의 jupjups 테이블 마지막 7일 통계"

이 항목들이 매 세션 자동 입력되므로 Claude가 "MCP를 자연스럽게 활용하는 패턴"을 인지합니다.

14-5 MCP로 할 수 있는 것들 — 두 프로젝트 실전 예시 🔗

줍줍 사례

📘 Day 5 — 공공데이터 API 연결 + Supabase 시딩
[Claude Code에서, Supabase + Filesystem MCP 활성]
"기업마당 API에서 최근 7일 공고 50개를 가져와서 LLM 분류 후
benefits 테이블에 시딩해줘. confidence 0.7 미만 필드는 NULL 처리.

진행 상황을 매 10건마다 보고해줘."

→ Claude의 처리 흐름:

  1. Filesystem MCP로 LLM 분류 프롬프트 lib/parser/prompts.ts 읽음
  2. fetch로 기업마당 API 호출 (50건)
  3. 50건 각각 LLM 분류 (Sonnet 4.6)
  4. Supabase MCP로 benefits 테이블에 INSERT (UNIQUE name+deadline)
  5. confidence 분포 보고 + 검수 큐 5건 알림
📘 Day 17 — 마이페이지 + FCM 연동
[Claude Code에서, Supabase + GitHub MCP 활성]
"마이페이지의 *내가 줍줍한 지원금 총액* 쿼리를 작성하고 git commit해줘.

쿼리는 SUM(benefits.total_jupjups WHERE jupjups.user_id = X)이 아니라
직접 jupjups 테이블에서 user_id별 COUNT + 평균 days_taken으로.
이유: BUILD.md Day 17 LogOnTable 트레이스 참조."

→ Claude가 두 MCP를 결합:

  1. Supabase MCP로 쿼리 작성 + EXPLAIN ANALYZE
  2. GitHub MCP로 git add + commit
  3. BUILD.md Day 17 트레이스 자동 갱신 (LogOnTable 4 요소)

TSV 사례

📘 Day 8 — SSOT 메커니즘 작성
[Claude Code에서, Supabase + Filesystem + Playwright MCP 활성]
"lib/match_facts.ts의 SSOT 인터페이스를 만들고, 자동 일관성 테스트
tests/persona_consistency.test.ts 5개 케이스를 Playwright로 작성해줘.

페르소나 system prompt에 cache_control 추가도 같이.

CLAUDE.md §5 Project-Specific Rules의 7개 규칙을 모두 준수."

→ Claude가 세 MCP를 결합:

  1. Filesystem MCP로 lib/match_facts.ts 작성 (14줄, stats optional)
  2. Supabase MCP로 EPL 5경기 sample 데이터 가져옴
  3. Playwright MCP로 5 페르소나 일관성 테스트 작성
  4. cache_control 헤더 추가 (ANTHROPIC_API_BETA)
  5. CLAUDE.md §5 7개 규칙 검증 → 모두 PASS
📘 Day 25 — Sentry 알림 자동화 (R12 트리거)
[Claude Code에서, Sentry MCP 활성]
"Sentry에서 최근 1시간 동안 페르소나 자동 일관성 테스트 fail이
1건이라도 발생하면 cron/publish.ts를 정지하는 헤드리스 스크립트를
.claude/commands/persona-emergency.md에 작성해줘."

→ Claude의 처리:

  1. Sentry MCP로 실시간 에러 모니터링 쿼리 작성
  2. .claude/commands/persona-emergency.md 작성 (헤드리스)
  3. CLAUDE.md §3 Critical Constraints에 추가 (테스트 fail = 자동 정지)
14-6 MCP 사용 시 주의사항 — 5파일+ 운영 매뉴얼 관점 🔗

MCP 호출이 5파일에 어떻게 반영되는가

MCP 자동화는 "사람의 손을 대신"합니다. 그러나 MCP 호출 결과가 자동으로 5파일에 반영되지는 않습니다. 5파일+의 운영 매뉴얼 정체성을 유지하려면 다음 의식이 필요합니다.

작업MCP 자동화5파일+ 의식
DB 스키마 변경Supabase MCP가 즉시 반영SPEC.md DB 스키마 섹션도 동시 갱신
코드 commitGitHub MCP가 자동 commitBUILD.md Day N 트레이스 1~3줄 추가
테스트 실행 결과Playwright MCP가 결과 출력REVIEW.md 또는 BUILD.md에 결과 명시
MCP 호출 결정자동 진행LogOnTable 트레이스에 "왜 MCP를 호출했는가" 1줄
⚠️ 이 의식이 없으면 5파일이 비어갑니다

MCP 자동화가 깊어질수록 "5파일이 비어있는 상태"가 됩니다. 6개월 후 동업자가 펼치면 "무엇이 결정됐는지" 모릅니다.

운영 매뉴얼 보호 원칙

📘 4가지 보호 원칙

[원칙 1] MCP 호출 = 5파일 갱신 (둘 다 필수)

[원칙 2] LogOnTable 트레이스 = MCP 호출의 "왜" 보존

[원칙 3] CLAUDE.md §7 Common Commands에 자주 쓰는 MCP 자연어 명령 명시

[원칙 4] CLAUDE.md §3 Critical Constraints에 MCP 권한 한계 명시
예: "Supabase MCP는 SELECT만 자동 허용, INSERT/UPDATE/DELETE는 명시적 확인"

비용 관리 — E2 1인 페이스

MCP 비용이 폭주하면 R4 번아웃 트리거를 한 단계 앞당깁니다 ("MCP 청구서가 무서워서 멈춤"). 비용 관리는 E2의 일부입니다.

💻 주간 MCP 사용량 점검
# 매주 일요일 회고 시 점검
claude --print "이번 주 MCP 사용량 요약: Supabase·GitHub·Playwright 각각
호출 횟수와 추정 토큰. 평균 비교."

# 결과 → CLAUDE.md §10 Current State에 누적 기록

📌 14장 정리

  • 핵심 한 줄: MCP = Claude Code의 외부 세계 연결 (스마트홈 허브). Metcalfe 법칙. 처음엔 Supabase 하나만으로 충분합니다.
  • 핵심 8개 MCP 서버: Supabase ⭐ · GitHub · Playwright · Filesystem · Brave Search · Linear · Slack · PostgreSQL
  • 5파일+ 사이클에서 MCP의 자리: 단계 ⑦+ BUILD부터 작동. E2 1인 페이스 핵심 완화책 (매일 30~50분 절감)
  • 두 프로젝트 MCP 조합: 줍줍 Supabase + GitHub + Playwright (3개) + Slack (선택) / TSV 4개 필수 + Cloudflare·Brave Search (선택)
  • 운영 매뉴얼 보호 4 원칙: ① MCP 호출 = 5파일 갱신 ② LogOnTable 트레이스 ③ CLAUDE.md §7 명시 ④ CLAUDE.md §3 권한 한계
  • 비용 관리: MCP 하나당 약 6만 토큰. 사용 안 하는 MCP 토글 off. 주간 회고 시 사용량 점검.
🎉 이 장을 마치면

Claude Code가 외부 세계와 자연어로 통신합니다. 매일 30~50분이 절감되고, 5파일+ 사이클의 BUILD 단계가 가벼워졌습니다.

다만 "MCP 자동화 = 5파일 갱신" 의식을 잊지 마세요. 운영 매뉴얼 정체성이 흔들리면 MCP의 가치도 약해집니다.

다음 장에서 자동화 계층을 더 깊이 — Channels · Subagents · Hooks를 다룹니다.

📘
1탄 도우미
질문하기 OK
안녕하세요! MCP 통합에 대해 무엇이든 물어보세요. 본문에서 찾아 답변해드릴게요. 👇