콘텐츠로 이동

01-개념

01 — 개념: MCP는 무엇을 풀려는가

섹션 제목: “01 — 개념: MCP는 무엇을 풀려는가”

LLM에 도구를 붙여본 적이 있다면 안다. Claude에 Notion을 붙이고, ChatGPT에 또 붙이고, Cursor에 또 붙이고… 같은 통합을 N번 짠다. 도구 M개 × 클라이언트 N개 = M×N 어댑터. 이게 2024년까지의 현실이었다.

MCP는 이 곱셈을 **덧셈(M+N)**으로 바꾼다. 도구는 MCP 서버를 한 번 만든다. 클라이언트는 MCP 클라이언트를 한 번 구현한다. 둘은 표준 프로토콜로 만난다.

공식 문서의 표현을 그대로 인용한다.

“Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems.”

의역: MCP는 AI 애플리케이션의 USB-C라고 생각하라. USB-C가 전자기기를 표준화된 방식으로 연결하듯, MCP는 AI 애플리케이션을 외부 시스템에 표준화된 방식으로 연결한다. — mcp-introduction

USB-C가 그랬듯 MCP의 약속도 단순하다. 케이블 한 종류(프로토콜 한 종류)면 어떤 호스트든 어떤 주변기기든 꽂힌다.

MCP는 2024년 11월 Anthropic이 공개한 개방형(open) 표준이다. 사양(specification)과 SDK는 GitHub의 modelcontextprotocol 조직에서 관리되며, 클라이언트 측은 Anthropic뿐 아니라 OpenAI, Microsoft(VS Code), Cursor, Zed, Block(Goose), Sourcegraph 등 주요 도구가 모두 지원한다 — mcp-clients-list.

이 합의가 중요한 이유: 표준은 채택되지 않으면 표준이 아니다. MCP는 출시 1년 만에 사실상 합의가 끝난, 보기 드문 케이스다.

”함수 호출(Function Calling)이랑 뭐가 달라?”

섹션 제목: “”함수 호출(Function Calling)이랑 뭐가 달라?””

자주 나오는 질문이다.

OpenAI Function CallingMCP
범위한 모델 API에 종속모델/벤더 중립
단위함수 정의 1개씩서버 1개 = 도구·리소스·프롬프트 묶음
상태무상태(stateless)세션(session) 기반, 구독·알림 가능
발견호출 시점에 정의 주입협상(capability negotiation)으로 동적 발견
보안 경계호출 측 책임호스트가 강제

함수 호출은 “한 번 부르고 끝나는 RPC”이고, MCP는 **“세션을 유지하는 백엔드 프로토콜”**이다 — mcp-architecture.

공식 소개의 예시들 — mcp-introduction:

  • 에이전트가 Google Calendar와 Notion을 들여다보며 비서처럼 행동
  • Claude Code가 Figma 디자인을 받아 웹 앱 한 벌을 생성
  • 사내 챗봇이 여러 DB에 동시 접속해 분석
  • AI가 Blender로 3D 모델을 만들고 3D 프린터로 출력

핵심은 “한 번 만들면 어디서든 쓰인다(build once, integrate everywhere)”.

  • 02-구조 — 호스트/클라이언트/서버, 원시(Primitives), 전송