API / SDK / MCP는 모두 “외부 시스템과 소통하기 위한 층위”이지만,
역할과 사용 주체, 목적, 작동 방식이 전혀 다릅니다.

아래는 세 가지를 구조적으로 비교·설명한 자료입니다 👇

                                                    by chatgpt

🧠 API · SDK · MCP 개념 총정리

1️⃣ 핵심 개념 요약

구분 API (Application Programming Interface) SDK (Software Development Kit) MCP (Model Context Protocol)
정의 서로 다른 소프트웨어가 통신할 수 있도록 만든 표준화된 접속 규칙·문 특정 API를 더 쉽게 쓰기 위한 개발 도구 세트 (라이브러리, 코드, 예제 포함) AI 모델이 외부 도구(API, DB, 앱 등)를 표준 방식으로 호출·이해하게 하는 프로토콜(약속)
주 사용 주체 👩‍💻 사람(개발자) 👩‍💻 사람(개발자) 🤖 AI 모델 (Claude, GPT, Cursor 등)
주된 목적 서비스 간 데이터 교환 API를 쉽게 쓰도록 지원 AI가 외부 시스템을 스스로 사용하게 함
작동 형태 네트워크 요청 (REST, GraphQL 등) 코드 내 함수 호출 (client.method()) AI ↔ MCP 서버 간 표준 통신 (JSON-RPC, WebSocket 등)
결과 형태 JSON / XML 응답 코드 내 값 (객체, 문자열 등) AI가 이해할 수 있는 Tool Result(JSON)
예시 POST https://api.openai.com/v1/completions openai.chat.completions.create() browser-tools-mcp, notion-mcp, figma-mcp

2️⃣ 작동 구조 비교 (흐름도)

🧩 API

내 앱  ──(HTTP 요청)──>  외부 서비스
        <──(응답 JSON)──
  • 내가 직접 네트워크 요청을 작성
  • 예: “/v1/messages” 엔드포인트로 Claude에게 POST 요청

🧰 SDK

내 앱  ──(SDK 코드 내부에서 API 호출)──>  외부 서비스
  • API 호출 과정을 SDK가 자동 처리
  • 예: const res = await client.messages.create({ ... })
  • 내부적으로 API를 대신 호출함 (API wrapper 역할)

🧠 MCP

AI 모델  ⇄  MCP 서버  ⇄  외부 API / SDK
  • AI가 스스로 도구를 요청 (“notion-mcp: get tasks”)
  • MCP 서버가 실제 API/SDK 호출 수행
  • 결과를 표준화된 JSON 형식으로 AI에 반환

3️⃣ 핵심 차이 포인트

항목 API SDK MCP
누가 호출? 개발자 개발자 AI 모델
역할 통신 규약 통신 도우미 AI용 도구 인터페이스
위치 외부 서버 내 코드 내부 별도 MCP 서버 (AI와 연결됨)
복잡도 가장 낮음 (기초 단위) 중간 (편의 레이어) 가장 높음 (AI 협업용 표준)
구성 요소 Endpoints, Methods API Wrapper, Helper, Docs Protocol Spec, JSON Schema, Tool Handlers
예시 RESTful API, GraphQL @anthropic-ai/sdk, @notionhq/client browser-tools-mcp, playwright-mcp, context7
대상 서비스 ↔ 개발자 SDK ↔ 개발자 AI 모델 ↔ 외부 도구

4️⃣ 쉽게 비유하자면 🚕

역할 비유 설명
API 📞 “전화로 택시 부르는 법을 알려주는 안내문” ‘전화번호’, ‘명령어’, ‘응답 방식’만 있음
SDK 📱 “버튼 한 번으로 택시 부르는 앱” 내부에서 API 호출을 알아서 처리
MCP 🤖 “AI가 직접 앱을 눌러 택시를 부르는 자동 비서” AI가 SDK·API를 직접 쓰지 않아도 MCP를 통해 요청 가능

5️⃣ Claude / OpenAI 환경으로 본 실제 예시

목적 API 사용 SDK 사용 MCP 사용
Claude에게 텍스트 생성 요청 POST /v1/messages HTTP 요청 직접 작성 client.messages.create() Cursor의 Claude MCP가 대화 중 자동 호출
Notion 데이터 조회 fetch('https://api.notion.com/v1/pages') notion.pages.query() AI → notion-mcp → 내부에서 SDK 호출 → 응답 전달
웹 크롤링 실행 직접 Playwright 스크립트 작성 Playwright SDK 호출 AI → playwright-mcp → 브라우저 자동 탐색

6️⃣ 관계 구조 한눈에 보기

         ┌───────────────┐
         │  외부 서비스  │ (OpenAI, Notion, Figma 등)
         └──────┬────────┘
                │
         ┌──────▼───────┐
         │     API      │ ← 기본 통신 규칙
         └──────┬───────┘
                │
         ┌──────▼───────┐
         │     SDK      │ ← 사람이 쉽게 쓰게 한 라이브러리
         └──────┬───────┘
                │
         ┌──────▼───────┐
         │     MCP      │ ← AI가 자동으로 쓰게 한 표준 프로토콜
         └──────────────┘

✅ 한 줄 요약

  • API = “서비스와 대화하는 문(규칙)”
  • SDK = “그 문을 사람이 쉽게 열게 해주는 도구 세트”
  • MCP = “그 문을 AI가 스스로 열 수 있게 만든 표준 언어

+ Recent posts