본문 바로가기
-- 오늘 있었던 개발 일기

MCP 연결에 대해!

by code study 2025. 12. 26.

 

Claude를 사용하다 보면 "이거 내 GitHub 레포 바로 연결해서 작업하면 얼마나 좋을까?"라는 생각을 한 번쯤 해봤을 거예요. 저도 그랬거든요. 그러던 중 MCP(Model Context Protocol) 라는 걸 여러 영상들을 보면서 알게되었고 다음날 바로 , 직접 여러 서비스들을 연결해봤습니다.

이 글에서는 제가 왜 MCP가 필요하다고 느꼈는지, 어떻게 연결했는지, 그리고 사용하면서 느낀 점들을 공유해보려고 합니다.


1. MCP가 왜 필요한가?

기존의 불편함

Claude를 사용할 때 이런 경험 있으셨나요?

  • "내 GitHub 레포 내용 확인해줘" → 링크 복사 → 코드 복사 → 붙여넣기
  • "Notion 페이지에 정리해줘" → Claude 응답 복사 → Notion 열기 → 붙여넣기
  • "Slack에 공지 올려줘" → 내용 복사 → Slack 열기 → 붙여넣기

매번 이런 복사-붙여넣기를 반복하는 게 너무 번거로웠어요.

그런데 MCP 연결이면 한 번의 명령으로 끝. 이게 바로 MCP의 핵심 가치입니다.


2. 실제 연결 과정

제가 연결한 MCP 서비스는 총 5개입니다:

  1. Context7 - 대화 컨텍스트 관리
  2. GitHub - 코드 저장소 접근
  3. Notion - 문서 작업
  4. Slack - 팀 커뮤니케이션
  5. Playwright - 웹 자동화

 

2.1 기본 설정 (공통)

① Claude Desktop 앱 설치

② 설정 파일 찾기

Windows: %APPDATA%\Claude\claude_desktop_config.json
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

③ JSON 파일 구조

{
  "mcpServers": {
    "서버이름": {
      "command": "npx",
      "args": [...],
      "env": {...}
    }
  }
}

 

2.2 GitHub MCP 연결

1) Personal Access Token 발급

  • GitHub → Settings → Developer settings → Personal access tokens
  • 필요한 권한: repo, read:user

2) JSON 설정

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxx..."
      }
    }
  }
}

 

3) 테스트
Claude Desktop에서: "내 깃허브 레파지토리 목록 확인해줘"

결과:

  • 10개 레포 목록이 바로 조회됨
  • Diary-Project-Jpa, GymHub_Project 등 전부 확인 가능
  • 파일 내용까지 바로 읽을 수 있음!

주의!  토큰을 절대 공개 채팅에 올리지 마세요. 저는 실수로 노출시켜서 바로 삭제하고 재발급했습니다...

 

2.3 Slack MCP 연결

1) Slack Bot 생성

  • https://api.slack.com/apps → Create New App
  • OAuth & Permissions에서 스코프 추가:
    • channels:history
    • channels:read
    • chat:write
    • users:read

2) Team ID 확인

  • Slack 웹 URL에서 T로 시작하는 부분 (예: T0123456789)

3) JSON 설정

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxx...",
        "SLACK_TEAM_ID": "T0123456789"
      }
    }
  }
}

4) 테스트

  • 채널 목록 조회: "연결된 슬랙 채널 목록 보여줘"
  • 메시지 작성: "파이널 채널에 '테스트 메시지' 보내줘"

결과:

  • 채널 목록 확인 
  • 메시지 작성 
  • 파일 업로드는 지원 안 됨

2.4 Notion MCP 연결

포트폴리오 작성할 때 특히 유용했어요.

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@notionhq/client"],
      "env": {
        "NOTION_API_KEY": "secret_xxxxx..."
      }
    }
  }
}

Claude가 바로 Notion 페이지에 내용을 추가할 수 있어서 편했습니다.

2.5 Playwright MCP (시도)

웹 자동화를 위해 설치했는데, 이건 좀 애를 먹었어요.

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

 

재시작을 해야 연결이 되는데 단순히 까먹고 재시작을 하지못하고 이유를 찾고 있었습니다. 하하하......

 


3. 사용하면서 느낀 점

3.1 좋았던 점 ✅

① 워크플로우 단축

기존: Claude 질문 → 응답 복사 → GitHub/Notion/Slack 붙여넣기 (3단계)
MCP: Claude 한 번에 명령 (1단계)

② 실제 업무 적용 가능성

  • 코드 리뷰 자동화
  • 문서 작업 자동화
  • 팀 공지 자동화

③ 생각보다 쉬운 설정

  • JSON 파일 하나만 수정
  • 토큰 발급만 하면 끝

3.2 아쉬웠던 점 

① 토큰 소비가 엄청남

이게 가장 큰 문제였어요. MCP 서버를 5개 연결하고 나니:

평소: "안녕" → 토큰 약간 소비
MCP 연결 후: "안녕" → 모든 MCP 도구 정보 로드 → 토큰 폭증

실제 경험:

  • 간단한 질문에도 토큰이 많이 소모됨
  • 프롬프트에 5개 MCP의 모든 도구 정보가 포함되어서 그런 듯

해결:
필요 없는 MCP는 전부 비활성화했습니다. 실제로 쓸 때만 켜는 방식으로 변경.

 


4. 결론

MCP, 써야 할까?

추천하는 경우:

  • 반복적인 복사-붙여넣기가 많은 경우
  • GitHub/Notion/Slack을 자주 사용하는 경우
  • 워크플로우 자동화에 관심이 있는 경우
  • Claude Pro 이상 플랜 사용자 (토큰 여유 있음)

비추천하는 경우:

  • 가끔 Claude 사용하는 경우
  • 토큰 소비가 부담되는 경우
  • 단순 질문 위주로 사용하는 경우

개인적인 생각

저는 MCP를 연결하고 나서 "이거다!" 싶었지만, 막상 써보니 토큰 소비 문제가 생각보다 컸어요.

그래서 지금은:

  • 평소: 전부 비활성화
  • 코드 작업 시: GitHub만 활성화
  • 문서 작업 시: Notion만 활성화

이런 식으로 선택적으로 사용하고 있습니다.

앞으로의 기대

  • 토큰 최적화 (필요한 도구만 로드)
  • 더 다양한 MCP 서버 출시
  • 기능 확장 (Slack 파일 업로드 등)

MCP는 분명 미래의 AI 워크플로우를 보여주는 기술이에요. 아직은 초기 단계지만, 앞으로 더 발전하면 정말 강력한 도구가 되어 개발 공부 큰 도움이 될것 같습니다!

 

'-- 오늘 있었던 개발 일기' 카테고리의 다른 글

2026년도 새해가 왔다  (0) 2026.01.05
RESTful Api란?  (0) 2026.01.04
Spring 프레임워크가 무엇인가  (0) 2025.12.26
NoSql에서 트랜잭션이 가능한가?  (0) 2025.12.22
RDBMS란 무엇인가?  (0) 2025.12.21