MCP (Model Context Protocol)

Agent와 도구를 잇는 표준

MCP는 Agent와 도구 사이의 USB 같은 표준 규격이다. MCP Server가 도구를 감싸고, MCP를 지원하는 Agent(Host)면 어떤 도구든 연결 가능. Claude Code의 도구들(Read, Bash, Playwright 등)이 전부 MCP로 연결되어 있다.

Agent

개념

MCP는 Agent와 외부 도구 사이의 공통 프로토콜이다. 2024년 11월 Anthropic이 공개했다. 각 도구마다 다른 SDK·API를 따로 붙이지 않고, "MCP Server"라는 공통 껍데기에 맞춰서 노출하면 MCP를 지원하는 모든 Agent가 그 도구를 쓸 수 있다.

왜 필요한가

Agent가 도구를 쓰려면 도구마다 연결 코드가 전부 달랐다.

벡터 검색 → ChromaDB 파이썬 코드
슬랙 메시지 → Slack API + OAuth 토큰
DB 쿼리 → PostgreSQL 드라이버
파일 읽기 → 로컬 파일시스템

도구 10개면 어댑터 코드 10개. Agent마다 같은 어댑터를 또 써야 했다. MCP는 이 M×N 조합 문제를 M+N으로 줄이는 게 목표다.

해결 방식

Agent와 도구 사이에 공통 규격을 끼운다.

기존:
  Agent → (각자 다른 방식) → 도구 A, 도구 B, 도구 C

MCP:
  Agent → [MCP 프로토콜] → MCP Server A
                        → MCP Server B
                        → MCP Server C

USB에 비유하면 쉽다. 프린터·마우스·키보드 포트가 전부 달랐는데 USB로 통일된 것과 같은 구조.

구조

MCP Host (Agent, Claude Code 등)
    ↕  MCP 프로토콜 (JSON-RPC)
MCP Server (도구를 감싼 서버)
    ↕
실제 도구 (DB, API, 파일시스템 등)
  • Host — Agent 런타임. Claude Code, Claude Desktop 등
  • Server — 도구 하나를 MCP 규격으로 감싼 서버. 로컬 프로세스 or 원격
  • 프로토콜 — JSON-RPC 2.0 기반 메시지 교환

MCP Server가 제공하는 것

  • Tools — Agent가 호출할 수 있는 함수 (read_file, run_query 등)
  • Resources — Agent가 읽을 수 있는 데이터 (파일, URL, DB row)
  • Prompts — 미리 정의된 프롬프트 템플릿

생태계 효과

  • 도구 하나를 MCP Server로 만들면 → MCP 지원하는 모든 Agent에서 쓸 수 있음
  • Agent 하나를 MCP Host로 만들면 → 모든 MCP 도구를 쓸 수 있음

누군가 Notion MCP Server를 만들면 Claude Code에서도, 다른 MCP 호환 Agent에서도 Notion 접근이 가능해진다. 개별 어댑터를 다시 짤 필요가 없다.

Claude Code와 MCP

Claude Code의 도구가 전부 MCP Server로 연결되어 있다.

Read, Write, Edit     → 파일시스템 MCP
Bash                  → 셸 MCP
Glob, Grep            → 검색 MCP
mcp__playwright__*    → 브라우저 MCP

Claude Code는 MCP Host(클라이언트)다. 그래서 Claude Code에 새 MCP Server를 추가하는 것만으로 도구를 확장할 수 있다.

더 보기

  • Agentic-RAG — MCP 도구를 활용한 대표적 Agent 패턴
  • Sandbox — MCP 도구(특히 Bash, 파일시스템)를 격리 실행할 때 고려할 것
sunshinemoon · 2026