MCP (Model Context Protocol)

Eleven·2026년 4월 15일

Hello, Claude Code

목록 보기
6/11

요약

MCP는 Claude Code가 GitHub, Slack, PostgreSQL 같은 외부 도구에 직접 접근할 수 있게 해주는 표준 프로토콜이다. MCP 없이는 개발자가 직접 외부 서비스에서 데이터를 복사해서 Claude에게 붙여넣어야 한다. MCP가 연결되면 Claude가 직접 접근해서 읽고 처리한다.


개념 정리

MCP가 없을 때 vs 있을 때

MCP 없음  →  개발자가 GitHub 직접 들어가서 확인
             → 내용 복사
             → Claude에게 붙여넣기
             → Claude가 처리

MCP 있음  →  "내 레포 목록 보여줘"
             → Claude가 GitHub에 직접 접근
             → 결과 바로 반환

MCP 구조 — 3개의 플레이어

Claude Code (클라이언트)
      ↕  MCP 프로토콜
MCP 서버 (GitHub, Slack, PostgreSQL 등)
      ↕
실제 외부 서비스

MCP 서버가 제공하는 3가지

  • Resources — 정보 읽기 (파일, 문서, API 응답)
  • Tools — 액션 실행 (이슈 생성, DB 쿼리, 메시지 전송)
  • Prompts — 재사용 가능한 명령으로 변환되는 사전 정의 지시

설정 파일 위치

Hooks와 같은 settings.json에 함께 설정한다.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token-here"
      }
    }
  },
  "hooks": {
    "PostToolUse": [ ... ]
  }
}

전역 vs 프로젝트 설정

CLAUDE.md, Hooks와 동일한 패턴이다.

~/.claude/settings.json    # 전역 — 나 혼자 쓰는 MCP 서버 (예: GitHub)
.claude/settings.json      # 프로젝트 전용 — 팀 공유 MCP 서버 (예: 프로젝트 DB)

팀 전체가 공유해야 하는 DB MCP는 .claude/settings.json에 넣어야 git으로 공유된다.


GitHub MCP 설치 실습

# 1. GitHub Token 환경변수 등록
export GITHUB_TOKEN="ghp_로 시작하는 토큰"

# 2. GitHub MCP 설치
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# 3. 설치 확인
claude mcp list
# github: npx -y @modelcontextprotocol/server-github - ✓ Connected

# 4. Claude Code 실행 후 테스트
claude
> 내 GitHub 레포지토리 목록을 보여줘

Hooks와의 관계

MCP 툴도 Claude Code 툴의 일종이라서 Hooks로 감시하거나 차단할 수 있다.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__github__create_issue",
        "command": "~/.claude/hooks/validate-issue.sh"
      }
    ]
  }
}

사용 주의점

mcp 를 많이 사용할 수록, 예싼을 잡아먹는다. 그러므로 꼭 필요한 mcp 만 연결 하는 것이 권고 된다.
*권고 사항

  • MCP 대신 CLI 사용하기. Github, Docker 등의 DB는 CLI 에 이미있다.
  • 쓰는 기능만 감싼 경량 도구를 만들어라. Linear MCP 를 버리고, 작은 CLI 를 직접 만듦.
  • 지금 안쓰는 MCP 는 꺼두기. 오늘의 업무가 개발이라면 문서 MCP 는 꺼둔다.

핵심 요약 (TL;DR)

  • MCP = Claude Code와 외부 도구를 연결하는 표준 프로토콜, AI를 위한 USB-C
  • MCP 없으면 수동 복붙, MCP 있으면 Claude가 직접 접근
  • settings.json에 Hooks와 함께 설정 (같은 파일)
  • 개인용 MCP는 ~/.claude/settings.json, 팀 공유 MCP는 .claude/settings.json
  • MCP 툴에도 Hooks 적용 가능 — 보안 게이트를 MCP 액션에도 걸 수 있음

다음에 알아볼 것

  • Module 04: Subagents — 독립 컨텍스트에서 실행되는 전문 에이전트
  • MCP + Hooks + Subagents 세 가지를 조합한 완성형 자동화 구조
  • database-mcp, filesystem-mcp 등 다른 MCP 서버 연동 실습


[Series] Claude Code Fundamentals - MCP (Model Context Protocol)

Summary

MCP is a standard protocol that allows Claude Code to directly access external tools like GitHub, Slack, and PostgreSQL. Without MCP, developers must manually copy data from external services and paste it into Claude. With MCP connected, Claude accesses those services directly.


Key Concepts

Without MCP vs With MCP

Without MCP  →  Developer manually visits GitHub
              → Copies the data
              → Pastes it into Claude
              → Claude processes it

With MCP     →  "Show me my repository list"
              → Claude accesses GitHub directly
              → Result returned immediately

MCP Architecture — 3 Players

Claude Code (client)
      ↕  MCP protocol
MCP Server (GitHub, Slack, PostgreSQL, etc.)
      ↕
Actual external service

3 Things an MCP Server Provides

  • Resources — Read information (files, documents, API responses)
  • Tools — Execute actions (create issues, query DB, send messages)
  • Prompts — Predefined instructions converted into reusable commands

Configuration File Location

MCP is configured in the same settings.json as Hooks.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token-here"
      }
    }
  },
  "hooks": {
    "PostToolUse": [ ... ]
  }
}

Global vs Project Scope

Same pattern as CLAUDE.md and Hooks.

~/.claude/settings.json    # Global — personal MCP servers (e.g. GitHub)
.claude/settings.json      # Project — team-shared MCP servers (e.g. project DB)

Team-shared DB MCP must go in .claude/settings.json to be shared via git.


GitHub MCP Installation Practice

# 1. Register GitHub Token as environment variable
export GITHUB_TOKEN="ghp_your_token_here"

# 2. Install GitHub MCP
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# 3. Verify installation
claude mcp list
# github: npx -y @modelcontextprotocol/server-github - ✓ Connected

# 4. Test inside Claude Code
claude
> Show me my GitHub repository list

Relationship with Hooks

MCP tools are a type of Claude Code tool, so Hooks can monitor or block them too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__github__create_issue",
        "command": "~/.claude/hooks/validate-issue.sh"
      }
    ]
  }
}

TL;DR

  • MCP = standard protocol connecting Claude Code to external tools, the USB-C for AI
  • Without MCP: manual copy-paste. With MCP: Claude accesses directly
  • Configured in the same settings.json as Hooks
  • Personal MCP → ~/.claude/settings.json, team-shared MCP → .claude/settings.json
  • Hooks can be applied to MCP tools — security gates work on MCP actions too

0개의 댓글