Claude Code에 날개 달기: Model Context Protocol(MCP) 완벽 가이드와 실무 추천 도구 연동

2026. 10. 3. 17:03ㆍMCP & 도구 연동

반응형

대형 언어 모델(LLM)이 아무리 똑똑해져도 근본적으로 해결하기 어려웠던 두 가지 한계가 있었습니다.

  1. 학습 컷오프 이후의 실시간 최신 정보를 모른다.
  2. 사내 DB, 슬랙, GitHub, 파일 시스템 등 격리된 외부 세상과 상호작용할 수 없다.

그동안 우리는 이를 해결하기 위해 LangChain 같은 프레임워크로 복잡한 Function Calling 코드를 직접 짜거나, 각 도구마다 독자 규격의 커스텀 API 브릿지를 만들어야 했습니다. 하지만 Anthropic이 Model Context Protocol(MCP)을 오픈소스로 공개하면서 판도가 완전히 바뀌었습니다.

MCP는 마치 전자 기기의 'USB-C 포트'처럼, AI 모델과 외부 데이터/도구를 단 하나의 표준 규격으로 이어주는 개방형 프로토콜입니다.

이번 글에서는 MCP가 무엇인지, 어떤 아키텍처로 작동하는지 깊이 있게 살펴보고, Claude Code에 MCP를 연동해 실무 개발 생산성을 극대화하는 실전 가이드를 정리합니다.


1. MCP(Model Context Protocol)란 무엇인가?

MCP는 AI 애플리케이션(클라이언트)이 로컬 파일, 데이터베이스, 웹 서비스 등 다양한 데이터 소스 및 도구(서버)와 안전하고 표준화된 방식으로 통신할 수 있도록 설계된 JSON-RPC 2.0 기반 프로토콜입니다.

기존 Function Calling vs MCP의 차이

  • 기존 방식 (N:M의 비효율): 새로운 모델이나 새로운 AI 툴이 나올 때마다 모든 외부 서비스(GitHub, Jira, DB 등)와의 연동 코드를 별도로 개발해야 했습니다.
  • MCP 방식 (1:1 표준화): 외부 서비스는 MCP 서버 하나만 만들어두면, Claude Desktop, Claude Code, Cursor, 그리고 수많은 오픈소스 AI 에이전트(MCP 클라이언트)가 별도 수정 없이 즉시 그 도구를 사용할 수 있습니다.

MCP의 3대 핵심 프리미티브 (Primitives)

  1. 도구 (Tools): 모델이 외부 세계에 부수 효과(Side-effect)를 일으키는 실행 함수 (예: git commit, DB 쿼리 실행, 슬랙 메시지 발송)
  2. 리소스 (Resources): 모델이 읽을 수 있는 데이터 조각 (예: 특정 파일 내용, API 스키마, 시스템 로그)
  3. 프롬프트 (Prompts): 재사용 가능한 사전 정의된 프롬프트 템플릿 (예: 버그 분석 템플릿, 코드 리뷰 워크플로우)

2. MCP의 통신 아키텍처와 트랜스포트 방식

MCP는 주로 두 가지 트랜스포트(Transport) 계층을 통해 통신합니다.

(1) 표준 입출력 (Stdio Transport)

로컬 머신에서 가장 흔하게 쓰이는 방식입니다. 클라이언트가 MCP 서버 프로세스를 자식 프로세스(Subprocess)로 실행하고, 표준 입력(stdin)과 표준 출력(stdout)을 통해 JSON 메시지를 주고받습니다.

  • 장점: 네트워크 포트를 열 필요가 없어 보안상 매우 안전하며, 설정이 간편합니다.
  • 대표 예시: npx나 uvx로 실행되는 로컬 유틸리티 도구들.

(2) HTTP / SSE (Server-Sent Events Transport)

원격 서버나 사내 네트워크에 구축된 공유형 MCP 서버와 통신할 때 사용됩니다.

  • 장점: 팀원들이 하나의 사내 MCP 서버(예: 사내 DB 조회기)를 공동으로 활용할 수 있습니다.
  • 단점: 인증(API Key, Bearer Token)과 네트워크 인바운드 보안을 신경 써야 합니다.

3. Claude Code에서 MCP 서버 관리하기

Claude Code는 자체적으로 강력한 MCP 관리 CLI 명령어를 내장하고 있습니다.

(1) MCP 서버 추가: Scope 이해하기

MCP 서버를 추가할 때 가장 중요한 것은 설정 스코프(Scope)를 지정하는 것입니다.

  • User Scope (-s user): 내 컴퓨터의 모든 프로젝트에서 공통으로 사용할 도구 등록 (글로벌 ~/.claude.json에 저장)
  • Project Scope (-s project): 팀원들과 git으로 공유할 프로젝트 전용 도구 등록 (프로젝트 루트의 .mcp.json에 저장)
  • Local Scope (-s local, 기본값): 현재 디렉토리에서 나만 사용할 도구 등록
# 글로벌 유저 스코프로 MCP 서버 추가 예시
claude mcp add -s user [서버이름] -- [실행명령어] [인자...]

# 예: Brave 검색 MCP 추가
claude mcp add -s user brave-search -e BRAVE_API_KEY=*** -- npx -y @modelcontextprotocol/server-brave-search

(2) 상태 확인 및 헬스체크

claude mcp list

등록된 서버들의 연결 상태가 Connected로 뜨는지 즉시 확인하고, 필요 없는 서버는 claude mcp remove [서버이름]으로 제거할 수 있습니다.


4. 실무 생산성을 3배 올려주는 추천 MCP 도구 4선

1) GitHub MCP Server (@modelcontextprotocol/server-github)

터미널 안에서 Claude가 직접 GitHub 이슈를 읽고, 브랜치를 생성하고, PR을 열고, 리뷰 코멘트를 달게 만듭니다.

claude mcp add -s user github -e GITHUB_PERSONAL_ACCESS_TOKEN=*** -- npx -y @modelcontextprotocol/server-github
  • 활용 프롬프트: "Issue #42번 요구사항 읽고 새 브랜치 파서 구현한 뒤 PR 올려줘."

2) SQLite / PostgreSQL MCP Server

로컬 개발 DB의 테이블 스키마를 직접 조회하고 테스트 쿼리를 실행해 볼 수 있습니다.

# SQLite 예시
claude mcp add -s user sqlite -- uvx mcp-server-sqlite --db-path ./dev.db
  • 활용 프롬프트: "users 테이블과 orders 테이블 조인해서 지난달 구매액 1위 뽑는 쿼리 짜줘."

3) Fetch / Web Search MCP Server

최신 라이브러리 공식 문서나 변경된 API 스펙을 웹에서 실시간으로 긁어와 컨텍스트에 주입합니다.

claude mcp add -s user fetch -- uvx mcp-server-fetch
  • 활용 프롬프트: "Next.js 최신 15 버전 문서에서 Server Actions 변경점 긁어와서 우리 코드 마이그레이션해줘."

4) 커스텀 서비스 MCP (예: 티스토리, 슬랙, 사내 API)

블로그 포스팅, 사내 배포 알림, 모니터링 등 내가 필요한 기능을 직접 래핑한 MCP입니다. 앞선 글에서 다룬 tistory-mcp처럼, 말 한마디로 글 발행부터 카테고리 관리까지 수행하는 자동화가 가능해집니다.


5. MCP 사용 시 주의해야 할 보안 수칙

  1. 무차별적인 권한 부여 금지: DB 삭제(DROP), 운영 환경 결제 API 등 파괴적인 작업을 수행할 수 있는 MCP는 에이전트의 확인 승인(Human Approval) 프롬프트를 켜두어야 합니다.
  2. 환경 변수(API Key) 격리: MCP 서버에 토큰을 넘길 때는 .env 파일에 안전하게 보관하고, 불필요한 시스템 환경 변수가 서버 프로세스로 누출되지 않도록 필터링되는지 점검해야 합니다.
  3. 컨텍스트 윈도우 과부하 관리: 너무 많은 MCP 서버(10개 이상)를 한 번에 등록하면 도구 스키마를 읽어오는 것만으로 수천 개의 토큰이 사전 소모됩니다. 프로젝트 성격에 맞는 도구 위주로 슬림하게 구성하는 것이 유리합니다.

마치며: 에이전트의 손발이 완성되는 순간

Claude Code가 뛰어난 두뇌라면, MCP는 그 두뇌에 세상과 상호작용할 수 있는 손과 발을 달아주는 작업입니다.

단순히 코드만 물어보는 AI 챗봇의 단계에서 벗어나, 내 컴퓨터의 파일, 데이터베이스, 클라우드 서비스를 종횡무진 누비며 문제를 해결하는 진정한 자율 에이전트 워크플로우를 경험해 보세요.

다음 글에서는 "Node.js와 Python으로 30분 만에 나만의 커스텀 MCP 서버 직접 개발하고 배포하기" 실전 튜토리얼을 이어가겠습니다.

반응형