1.3 MCP 실전 활용

Claude Code에서 MCP 서버를 활용하여 파일 시스템, GitHub, 데이터베이스를 직접 제어하는 실전 워크플로우를 정리한다. 업데이트: 2026-03-08


핵심 요약

구분내용
📖 정의MCP 서버를 Claude Code에 연결하여 외부 데이터와 도구를 AI 워크플로우에 통합하는 실전 운용법
💡 핵심MCP 연결 후 Claude는 별도 명령 없이 해당 도구를 자동으로 선택하여 사용한다
🎯 대상Claude Code의 기능을 실제 프로젝트 환경에 통합하려는 개발자
⚠️ 주의MCP 서버가 접근할 수 있는 경로와 권한을 최소화하여 보안 위험을 줄인다

문서 탐색


목차

  1. MCP 도입 전후 비교
  2. 실전 워크플로우: 파일 시스템 활용
  3. 실전 워크플로우: GitHub 연동
  4. 실전 워크플로우: 데이터베이스 쿼리
  5. 실전 워크플로우: 멀티 서버 조합
  6. MCP Resources: @ 참조 문법
  7. Claude Code 자체를 MCP 서버로 사용
  8. 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 serve

claude_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 협업의 필요성

문서 탐색


참고 자료