MCP (Model Context Protocol)

2026-04-07

개념

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, 파일시스템)를 격리 실행할 때 고려할 것

Backlinks

sunshinemoon · 2026