캡스톤: 나만의 MCP 에이전트 만들기
8개 레슨을 총정리 — 여러 MCP 서버를 조합해서 실무 워크플로우를 설계하고, 보안 체크리스트로 검증, 배포까지.
🔄 7개 레슨 동안 MCP 개념, 설정, 서버 활용, 커스텀 서버 구축, Claude Code 연동, 보안까지 다뤘습니다. 이제 전부 합쳐서 실무에서 돌아가는 워크플로우를 만듭니다.
프로젝트: 나만의 MCP 워크플로우
이번 캡스톤에서 만드는 것:
- 문제 정의 — 자동화할 실무 작업을 구체적으로 기술
- 서버 구성 — 기존 서버 + (필요하면) 커스텀 서버 조합
- 워크플로우 설계 — 에이전틱 루프의 각 단계 정의
- 보안 검증 — 레슨 7 체크리스트로 점검
Step 1: 문제 정의
좋은 MCP 워크플로우는 명확한 문제에서 시작합니다.
예시 — 개발팀 주간 리포트 자동화:
문제: 매주 월요일마다 지난주 GitHub 활동(PR, 이슈, 커밋)을
정리해서 슬랙에 올리는 데 30분 걸림
필요한 데이터:
- GitHub: 지난주 머지된 PR 목록
- GitHub: 새로 열린/닫힌 이슈
- GitHub: 주요 커밋 요약
필요한 액션:
- 데이터를 종합해서 리포트 작성
- 슬랙 채널에 리포트 전송
필요한 서버:
- GitHub MCP (기존 서버)
- Slack MCP (기존 서버)
- 커스텀 서버: 불필요
다른 예시:
| 워크플로우 | 필요한 서버 | 커스텀 서버 필요? |
|---|---|---|
| 주간 코드 리포트 | GitHub + Slack | 아니오 |
| DB 모니터링 알림 | PostgreSQL + Slack | 아니오 |
| 고객 문의 분석 | 이메일 MCP + Notion | 아마도 (이메일 MCP) |
| 내부 API 연동 | 커스텀 서버 | 예 (레슨 5 방식) |
✅ Quick Check: 워크플로우를 설계할 때 커스텀 서버가 필요한지 판단하는 기준은? (기존 공개 서버로 커버되지 않는 내부 시스템이나 특수한 비즈니스 로직이 있을 때만 커스텀 서버를 만듭니다.)
Step 2: 서버 구성
주간 리포트 예시의 서버 구성:
# GitHub MCP 추가
claude mcp add github -e GITHUB_TOKEN=$GITHUB_TOKEN \
-- npx -y @modelcontextprotocol/server-github
# Slack MCP 추가
claude mcp add slack -e SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN \
-- npx -y @modelcontextprotocol/server-slack
# 연결 확인
claude mcp list
Step 3: 워크플로우 설계
에이전틱 루프의 각 단계를 정의합니다:
[시작] 사용자 명령: "지난주 개발 리포트 만들어줘"
[1단계: 컨텍스트 수집]
├── GitHub 도구: 지난주 머지된 PR 목록 가져오기
├── GitHub 도구: 새로 열린 이슈 목록 가져오기
└── GitHub 도구: 닫힌 이슈 목록 가져오기
[2단계: 분석 및 생성]
├── PR을 카테고리별로 분류 (기능, 버그 수정, 리팩토링)
├── 주요 변경 사항 요약
└── 리포트 형식으로 정리
[3단계: 액션]
└── Slack 도구: #dev-updates 채널에 리포트 전송
[완료] 결과 보고
이 설계를 MCP 프롬프트로 만들면 매주 반복 사용할 수 있습니다.
Step 4: 보안 검증
레슨 7의 체크리스트를 적용합니다:
□ GitHub 토큰: 환경 변수로 관리, .env에 저장, .gitignore 확인
□ Slack 토큰: 최소 스코프 (channels:read, chat:write만)
□ GitHub 토큰: repo 스코프만 (admin 권한 불필요)
□ 설정 파일에 평문 키 없음
□ 커뮤니티 서버 사용 시 코드 확인 완료
코스 복습
8개 레슨에서 배운 것을 정리합니다:
| 레슨 | 주제 | 핵심 개념 |
|---|---|---|
| 1 | MCP란 무엇인가 | M×N → M+N, USB-C 비유, 한국 기업 도입 |
| 2 | Claude Desktop 설정 | claude_desktop_config.json, 첫 연결, env 블록 |
| 3 | 필수 서버 10선 | GitHub, PostgreSQL, Brave Search, Memory 등 |
| 4 | 3대 핵심 요소 | 도구(model), 리소스(app), 프롬프트(user) |
| 5 | 서버 만들기 | FastMCP, @mcp.tool(), @mcp.resource() |
| 6 | Claude Code + MCP | claude mcp add, 에이전틱 루프, Tool Search |
| 7 | 보안 | API 키 관리, 최소 권한, 프롬프트 인젝션 방어 |
| 8 | 캡스톤 | 워크플로우 설계, 서버 조합, 보안 검증 |
이번 주에 해볼 것
- 현재 업무에서 자동화할 작업 하나를 고르세요. 반복적이고, 여러 시스템에 걸쳐 있는 작업이 가장 좋은 후보.
- 기존 MCP 서버로 해결 가능한지 확인하세요. mcp-awesome.com에서 검색.
- Claude Desktop 또는 Claude Code에 서버를 연결하고 테스트하세요. 레슨 2, 6의 방법.
- 보안 체크리스트를 적용하세요. 특히 API 키 관리와 최소 권한.
MCP를 배운 것과 실제로 쓰는 것 사이의 차이는 — 딱 하나의 워크플로우를 만들어보는 것입니다.
더 배우려면
- MCP 공식 문서: modelcontextprotocol.io
- 한국어 MCP 가이드: WikiDocs (wikidocs.net/268792)
- awesome-mcp-servers 한국어: GitHub README-ko.md
- OWASP MCP 보안: OWASP GenAI Security Project
핵심 정리
- 워크플로우 설계: 문제 정의 → 필요한 데이터/액션 분류 → 서버 선택 → 보안 검증
- 대부분의 일반 용도는 기존 공개 서버로 해결 가능 — 커스텀 서버는 내부 시스템 연동 시에만
- 에이전틱 루프: 컨텍스트 수집 → 분석/생성 → 액션 → 반복
- 유지보수: API 키 만료 확인, 서버 동작 테스트, 보안 재검증을 주기적으로
- MCP 3대 핵심을 기억: 도구(AI가 호출), 리소스(앱이 제공), 프롬프트(사용자가 실행)
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!