1.3 MCP 실전 활용
Claude Code에서 MCP 서버를 활용하여 파일 시스템, GitHub, 데이터베이스를 직접 제어하는 실전 워크플로우를 정리한다. 업데이트: 2026-03-08
핵심 요약
| 구분 | 내용 |
|---|---|
| 📖 정의 | MCP 서버를 Claude Code에 연결하여 외부 데이터와 도구를 AI 워크플로우에 통합하는 실전 운용법 |
| 💡 핵심 | MCP 연결 후 Claude는 별도 명령 없이 해당 도구를 자동으로 선택하여 사용한다 |
| 🎯 대상 | Claude Code의 기능을 실제 프로젝트 환경에 통합하려는 개발자 |
| ⚠️ 주의 | MCP 서버가 접근할 수 있는 경로와 권한을 최소화하여 보안 위험을 줄인다 |
문서 탐색
목차
- MCP 도입 전후 비교
- 실전 워크플로우: 파일 시스템 활용
- 실전 워크플로우: GitHub 연동
- 실전 워크플로우: 데이터베이스 쿼리
- 실전 워크플로우: 멀티 서버 조합
- MCP Resources: @ 참조 문법
- Claude Code 자체를 MCP 서버로 사용
- MCP 활용 시 주의사항
1. MCP 도입 전후 비교
| 상황 | MCP 없이 | MCP 있을 때 |
|---|---|---|
| 파일 내용 분석 | 사용자가 파일 내용을 복사해 붙여넣기 | Claude가 직접 파일 읽기 |
| GitHub 이슈 파악 | 사용자가 이슈 내용을 직접 설명 | Claude가 이슈 목록을 직접 조회 |
| DB 데이터 분석 | 사용자가 쿼리 결과를 복사해 전달 | Claude가 직접 쿼리 실행 및 분석 |
| 반복 작업 자동화 | 매번 수동 개입 필요 | Claude가 도구 체이닝으로 자동 처리 |
2. 실전 워크플로우: 파일 시스템 활용
사전 설정
claude mcp add filesystem --scope user \
-- npx -y @modelcontextprotocol/server-filesystem /Users/me/projects활용 예시
프로젝트 구조 분석:
"src 폴더 전체 구조를 분석하고 중복 컴포넌트가 있는지 확인해줘"
→ Claude가 filesystem MCP로 디렉토리 탐색 후 분석 결과 제공
자동 파일 생성:
"현재 프로젝트의 컴포넌트 구조를 기반으로 ARCHITECTURE.md 문서를 생성해줘"
→ Claude가 파일 읽기 → 분석 → 새 파일 생성을 자동으로 수행
일괄 수정:
"src/components 아래 모든 tsx 파일에서 deprecated된 `componentDidMount`를 `useEffect`로 변환해줘"
→ Claude가 파일들을 순차적으로 읽고 수정
3. 실전 워크플로우: GitHub 연동
사전 설정
# GitHub Copilot 공식 MCP 서버 (HTTP + OAuth, 권장)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# 등록 후 Claude Code 내에서 /mcp 입력 → 브라우저 OAuth 인증활용 예시
이슈 요약 및 대응:
"이번 주 열린 GitHub 이슈들을 분류하고, 버그/기능요청/질문으로 나눠서 정리해줘"
→ Claude가 이슈 목록 조회 → 분류 → 요약 보고서 생성
PR 리뷰 보조:
"PR #142의 변경 내용을 리뷰하고 잠재적인 버그나 개선점을 알려줘"
→ Claude가 PR diff 조회 후 코드 리뷰 수행
릴리스 노트 자동화:
"지난 태그(v1.2.0)부터 현재까지의 커밋을 분석해서 CHANGELOG 초안을 작성해줘"
→ Claude가 커밋 히스토리 조회 → 카테고리 분류 → 문서 생성
4. 실전 워크플로우: 데이터베이스 쿼리
사전 설정
# PostgreSQL 연동 (읽기 전용 계정 권장)
claude mcp add --transport stdio db \
-- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly_user:pass@localhost:5432/mydb"활용 예시
데이터 탐색:
"users 테이블의 구조와 최근 가입한 사용자 10명을 보여줘"
→ Claude가 스키마 조회 → 데이터 쿼리 → 결과 설명
성능 분석:
"현재 실행 중인 쿼리 중 500ms 이상 걸리는 것들을 찾아서 최적화 방법을 제안해줘"
→ Claude가 느린 쿼리 조회 → 실행 계획 분석 → 인덱스 제안
데이터 검증:
"orders 테이블에서 user_id가 존재하지 않는 고아 레코드를 찾아줘"
→ Claude가 JOIN 쿼리 실행 후 이상 데이터 식별
5. 실전 워크플로우: 멀티 서버 조합
여러 MCP 서버를 동시에 사용하면 복잡한 작업을 자동화할 수 있다.
예시: GitHub 이슈 → 코드 수정 → 커밋 자동화
"GitHub 이슈 #88에서 설명한 버그를 src 코드에서 찾아서 수정하고,
수정 내용을 요약한 커밋 메시지도 작성해줘"
Claude의 자동 처리 흐름:
flowchart TD A["GitHub MCP: 이슈 #88 내용 조회"] A --> B["Filesystem MCP: 관련 파일 탐색 및 버그 코드 식별"] B --> C["Filesystem MCP: 코드 수정"] C --> D["Git MCP: diff 확인 후 커밋 메시지 생성"]
예시: DB 데이터 → 문서 자동 생성
"현재 products 테이블에 있는 카테고리 분류를 기반으로
docs/product-catalog.md 문서를 자동 생성해줘"
flowchart TD A["Postgres MCP: 카테고리 데이터 쿼리"] A --> B["Filesystem MCP: docs 폴더 확인"] B --> C["Filesystem MCP: product-catalog.md 파일 생성"]
6. MCP Resources: @ 참조 문법
MCP 서버가 노출하는 Resources는 @서버명:타입://식별자 형식으로 직접 참조할 수 있다.
@github:issue://123 의 내용을 분석하고 수정 방법을 제안해줘
@postgres:schema://users 테이블과 @docs:file://database/user-model 을 비교해줘
@sentry:error://abc123 의 스택 트레이스를 분석해서 원인을 찾아줘
이 방식을 사용하면 Claude가 특정 리소스를 정확히 지정하여 불필요한 데이터 조회 없이 효율적으로 작업할 수 있다.
7. Claude Code 자체를 MCP 서버로 사용
Claude Code는 다른 MCP 클라이언트(예: Claude Desktop)에서 사용할 수 있는 MCP 서버로도 동작할 수 있다.
# Claude Code를 MCP 서버로 실행
claude mcp serveclaude_desktop_config.json에 아래와 같이 등록하면 Claude Desktop에서 Claude Code의 도구를 활용할 수 있다:
{
"mcpServers": {
"claude-code": {
"type": "stdio",
"command": "claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}8. ⚠️ MCP 활용 시 주의사항
| 주의 항목 | 내용 | 권장 조치 |
|---|---|---|
| 접근 경로 최소화 | filesystem 서버는 필요한 디렉토리만 허용한다 | 전체 / 경로 대신 특정 프로젝트 폴더만 지정 |
| API 키 보안 | 환경변수로 관리하고 코드나 설정 파일에 하드코딩하지 않는다 | ${ENV_VAR} 참조 방식 사용 |
| DB 권한 분리 | 읽기 전용 작업에는 읽기 전용 DB 사용자 계정을 사용한다 | GRANT SELECT 권한만 부여한 전용 계정 생성 |
| 승인 모드 | 중요한 파일 수정이나 DB 변경은 Claude가 자동으로 실행하지 않도록 확인 프롬프트 유지 | allowedTools 설정으로 민감한 도구 제한 가능 |
| 서버 업데이트 | npx -y 방식은 매번 최신 버전을 가져오므로 예기치 않은 동작 변화에 주의한다 | 중요 환경에서는 버전을 고정하여 사용 |
| 프롬프트 인젝션 | 외부 콘텐츠(웹 페이지, 이메일 등)를 가져오는 MCP 서버는 악성 프롬프트가 주입될 수 있다 | 신뢰할 수 없는 출처의 콘텐츠를 다루는 서버는 주의하여 사용 |
| 써드파티 서버 검증 | Anthropic이 모든 커뮤니티 서버를 검증하지 않는다 | 신뢰도 높은 출처(공식·유명 오픈소스)의 서버만 사용 |
| MCP 출력 크기 | MCP 도구 출력 기본 상한은 25,000 토큰이다 | 필요 시 MAX_MCP_OUTPUT_TOKENS 환경변수로 조정 |
allowedTools 설정으로 도구 제한
.claude/settings.json에서 특정 MCP 도구만 허용하도록 제한할 수 있다:
{
"allowedTools": [
"mcp__filesystem__read_file",
"mcp__filesystem__list_directory",
"mcp__github__list_issues"
]
}쓰기·삭제 도구를 허용 목록에서 제외하면 읽기 전용 모드로 운용할 수 있다.
관련 노트
| 주제 | 문서 |
|---|---|
| MCP 개념과 아키텍처 | 1.1 MCP란 무엇인가 |
| MCP 서버 설치·설정 | 1.2 MCP 서버 종류와 설정 |
| Gemini와의 AI 협업 | 2.1 AI 협업의 필요성 |
문서 탐색
참고 자료
- Claude Code MCP 공식 가이드
- Anthropic MCP 공식 문서
- MCP 공식 서버 저장소 (GitHub)
- TrueFoundry - MCP Servers in Claude Code 가이드