본문 바로가기
claudecode.to
문서 목록
MCP와 확장

MCP — 외부 도구 연결하기

MCP(Model Context Protocol)는 AI 모델과 외부 도구·데이터 소스를 연결하는 오픈 표준 프로토콜입니다. 구조와 서버 종류, GitHub·DB·Slack·브라우저 연동 예, 스코프와 인증 관리까지 정리합니다.

11분2026-08-22 갱신

MCP(Model Context Protocol)는 AI 모델과 외부 도구·데이터 소스를 안전하게 연결하는 오픈 표준 프로토콜입니다. Anthropic이 발표했고, 현재는 Linux Foundation 산하 Agentic AI Foundation(AAIF)이 관리합니다. USB-C가 기기마다 다르던 충전 단자를 하나로 통일했듯, MCP는 여러 외부 도구를 하나의 규격으로 묶어 줍니다.

MCP를 쓰면 Claude Code가 파일과 터미널 너머의 GitHub, 데이터베이스, Slack, 브라우저까지 자연어로 조작할 수 있게 됩니다.

핵심 요약

  • MCP는 AI 도구와 외부 시스템을 잇는 오픈 표준입니다. 서버를 한 번 만들면 규격을 지키는 모든 클라이언트에서 쓸 수 있습니다.
  • Claude Code가 MCP 클라이언트로 동작하고, 각 MCP 서버가 GitHub·DB·Slack 같은 서비스와의 다리 역할을 합니다.
  • 서버는 로컬(stdio)과 리모트(HTTP) 두 종류가 있습니다.
  • 한번 설정하면 "PR #456 리뷰해줘" 같은 자연어로 외부 서비스를 다룹니다.
  • 도구 정의는 컨텍스트를 차지하므로 실제로 쓰는 서버만 남깁니다.

왜 표준이 필요했나

MCP 이전에는 도구마다 연동을 따로 만들어야 했습니다. Slack 연동을 만들었어도 다른 AI 도구에서는 쓸 수 없었습니다. MCP는 이 구조를 바꿉니다. 서버를 한 번 만들면 규격을 지키는 모든 클라이언트에서 쓸 수 있습니다.

Claude Code 단독으로도 파일 읽기·쓰기와 명령 실행은 가능합니다. 하지만 다음은 MCP 없이는 직접 대응하지 못합니다.

  • 데이터베이스에 직접 접근해 쿼리 실행
  • GitHub의 Issue나 PR 조작
  • Slack으로 메시지 전송
  • 외부 API 호출
  • 브라우저 자동 조작

GitHub CLI 같은 도구를 쓰면 터미널에서 다루듯 Claude Code에서도 일부 조작은 가능합니다. 다만 MCP를 붙이면 Claude가 외부 도구의 기능을 미리 파악하고 더 간결하게 조작하므로, 자주 쓰는 연동은 MCP가 유리합니다.

MCP는 어떻게 구성되나

MCP는 클라이언트-서버 구조입니다. Claude Code가 MCP 클라이언트로 동작하고, 각종 MCP 서버에 접속합니다. 예를 들어 GitHub MCP 서버는 Claude Code가 보낸 요청을 GitHub API 호출로 바꿔 실행합니다.

이름역할
호스트사용자가 쓰는 애플리케이션 (Claude Code, 데스크톱 앱)
클라이언트호스트 안에서 서버 하나와 1:1로 연결되는 부분
서버실제 기능을 제공하는 프로그램 (GitHub, DB, 사내 API)

서버가 제공하는 것은 세 종류입니다.

  • 도구(Tools) — 실행할 수 있는 동작. "이슈 만들기", "쿼리 실행"
  • 리소스(Resources) — 읽을 수 있는 데이터. 문서, 로그, 스키마
  • 프롬프트(Prompts) — 재사용 가능한 지시 템플릿

로컬 서버와 리모트 서버의 차이

종류실행 장소설정 방법유지보수
로컬(stdio)내 머신npx나 Docker로 기동직접 관리
리모트(HTTP)벤더의 서버URL만 추가벤더가 관리

로컬 서버는 내 머신에서 실행되므로 세밀한 커스터마이즈가 가능합니다. 리모트 서버는 설정이 간단하고 업데이트를 벤더가 관리해 줍니다. 빠르게 시작하려면 리모트, 사내 시스템이나 세부 제어가 필요하면 로컬을 고릅니다.

MCP로 무엇을 할 수 있나

1. 데이터베이스 직접 접근

PostgreSQL이나 MySQL에 직접 쿼리를 실행합니다.

> users 테이블에서 최근 등록한 10명을 가져와줘

Claude Code가 스키마를 이해한 뒤 적절한 SQL을 만들어 실행합니다. 다만 직접 쿼리는 파괴적 변경을 일으킬 수 있으므로, MCP로 데이터베이스를 조작하는 것은 로컬 검증 용도로 제한하는 편이 안전합니다.

2. GitHub 연동

Issue와 PR의 작성·편집·리뷰가 가능해집니다.

> PR #456의 변경 내용을 확인하고 개선점을 제안해줘
> 이 버그에 대해 Issue를 만들어줘

3. 커뮤니케이션 도구 연동

Slack이나 Discord로 메시지를 보내거나 채널 이력을 가져옵니다.

> #general 채널의 오늘 메시지를 요약해줘
> 팀에 진척 보고를 게시해줘

4. 브라우저 자동 조작

Playwright MCP로 웹 스크레이핑과 E2E 테스트를 실행합니다. CLI로는 구현하기 어렵고 자연어로 다루는 편이 효율적인 영역입니다.

> 이 페이지의 스크린샷을 찍어줘
> 로그인 폼을 자동 입력하는 스크립트를 만들어줘

Claude Code의 'Claude in Chrome' 기능으로도 브라우저를 조작할 수 있지만, 대상이 Chrome·Edge 같은 Chromium 계열에 한정됩니다. Firefox나 Safari를 다뤄야 하면 Playwright MCP가 필요합니다.

5. 최신 문서 취득

LLM의 학습 데이터는 오래됐기 때문에 최신 API나 사용법이 부정확할 때가 있습니다. Context7 같은 MCP 서버를 쓰면 최신 라이브러리 문서를 가져와 이 문제를 해소합니다.

> Next.js의 App Router에서 미들웨어를 만들어줘. use context7

MCP 서버 목록은 공식 리포지토리나 MCP 레지스트리(Smithery, Docker MCP Catalog 등)에서 확인할 수 있습니다.

서버를 연결하는 방법

CLI로 추가하는 것이 가장 간단합니다.

claude mcp add github -- npx -y @modelcontextprotocol/server-github

연결 상태는 세션 안에서 /mcp 로 확인합니다.

/mcp

첫 서버를 직접 추가해 보는 실습은 Context7 MCP로 시작하기에서 단계별로 따라 할 수 있습니다.

스코프는 어떻게 고르나

# 나만 (기본값)
claude mcp add my-server -- ...

# 이 프로젝트의 팀 전원 (.mcp.json에 기록, 커밋 대상)
claude mcp add --scope project my-server -- ...

팀 공용 서버는 project 스코프로 넣어 커밋하세요. 개인 계정이 필요한 서버는 각자 추가하는 편이 낫습니다.

인증과 토큰 관리

원격 서버는 대개 OAuth를 씁니다. 최초 연결 시 브라우저가 열리고, 인증이 끝나면 토큰이 로컬에 저장됩니다.

토큰을 설정 파일에 직접 적지 마세요. 특히 커밋되는 .mcp.json에 넣으면 그대로 유출됩니다. 환경 변수 참조를 씁니다.

{
  "mcpServers": {
    "internal-api": {
      "command": "node",
      "args": ["./mcp/server.js"],
      "env": { "API_TOKEN": "${INTERNAL_API_TOKEN}" }
    }
  }
}

도구를 너무 많이 붙이면 어떻게 되나

서버를 연결하면 그 도구 정의가 매 세션의 컨텍스트를 차지합니다. 서버 10개를 붙이면 작업과 무관한 도구 설명이 수천 토큰씩 쌓입니다.

실제로 쓰는 것만 남기고, 특정 프로젝트에서만 필요한 서버는 그 프로젝트 스코프에 두세요. 컨텍스트가 어떻게 소비되는지는 컨텍스트 윈도우 관리를 참고하세요.

직접 만들 때 지킬 것

사내 시스템을 붙이려면 서버를 직접 만들면 됩니다.

  • 도구 이름과 설명을 명확히 — 모델이 이걸 보고 선택합니다
  • 반환값을 작게 — 전체 덤프 대신 요약과 필요한 필드만
  • 파괴적 동작은 분리 — 읽기 도구와 쓰기 도구를 섞지 마세요
  • 오류 메시지를 친절하게 — 모델이 읽고 다음 시도를 결정합니다

정리

  • MCP는 AI 모델과 외부 도구를 잇는 오픈 표준이며, Claude Code는 MCP 클라이언트로 동작합니다.
  • 데이터베이스, GitHub, Slack, 브라우저, 최신 문서까지 자연어 한 줄로 조작할 수 있습니다.
  • 로컬(stdio)은 세밀한 제어, 리모트(HTTP)는 간단한 설정이 장점입니다.
  • 팀 공용 서버는 --scope project, 토큰은 환경 변수 참조로 관리합니다.
  • MCP는 "외부 접속"을, Skills는 "절차적 지식"을, CLAUDE.md는 "지시와 문맥"을 담당합니다. 세 가지를 섞지 말고 역할대로 나눠 쓰세요.

자주 묻는 질문

MCP연동확장Context7

팀에 Claude Code를 도입하려면 실제 코드베이스에 맞춘 설계가 필요합니다.

무료 상담 신청