용어집
GEO·AI 검색

Model Context Protocol

Model Context Protocol(MCP)는 LLM 기반 AI 애플리케이션을 외부 도구·데이터 소스와 연결하기 위해 Anthropic이 2024년 11월 공개한 개방형 표준 프로토콜입니다. 데이터 소스마다 개별 커넥터를 만드는 대신, 'AI를 위한 USB-C'처럼 하나의 표준 인터페이스로 모델과 외부 시스템을 연결합니다.

  • Model Context Protocol(MCP)은 LLM 애플리케이션과 외부 도구·데이터 소스를 연결하는 개방형 표준 프로토콜로, Anthropic이 2024년 11월 25일 공개했습니다.
  • MCP 공식 문서는 이를 'AI 애플리케이션을 위한 USB-C 포트'에 비유하며, 표준화된 단일 인터페이스로 모델과 외부 시스템을 연결한다고 설명합니다.
  • 구조는 호스트(Host)·클라이언트(Client)·서버(Server)의 3요소로 이루어지며, 호스트는 서버마다 전용 클라이언트를 하나씩 생성해 연결을 유지합니다.
  • 통신은 JSON-RPC 2.0 기반이며, 서버는 도구(Tools)·리소스(Resources)·프롬프트(Prompts)를 노출하고 클라이언트는 샘플링·사용자 입력 요청 등을 제공합니다.
  • 데이터 소스마다 맞춤 커넥터를 만들던 N×M 통합 문제를 하나의 공통 프로토콜로 대체하는 것이 핵심 가치입니다.

개요

Model Context Protocol(MCP)은 ChatGPT·Claude 같은 LLM 애플리케이션이 파일·데이터베이스·검색엔진·업무 도구 등 외부 시스템에 접근하고 작업을 수행할 수 있도록 연결하는 개방형 표준 프로토콜입니다. MCP 공식 문서는 "AI 애플리케이션을 외부 시스템에 연결하기 위한 오픈소스 표준"이라고 정의하며, 이를 "AI 애플리케이션을 위한 USB-C 포트"에 비유합니다. USB-C가 전자기기 연결 방식을 하나로 표준화했듯, MCP는 AI 애플리케이션과 외부 시스템을 연결하는 방식을 표준화합니다.

MCP가 등장하기 전에는 모델을 새로운 데이터 소스나 도구에 연결할 때마다 개별 커넥터를 따로 구현해야 했습니다. Anthropic은 이를 "모든 새 데이터 소스가 각자의 맞춤 구현을 요구하는" 문제로 설명했는데, 이는 흔히 N개의 모델과 M개의 도구를 일일이 연결해야 하는 'N×M 통합 문제'로 불립니다. MCP는 이 파편화된 연결을 하나의 공통 프로토콜로 대체하여, 개발자가 데이터 소스별 커넥터를 따로 유지하는 대신 표준 프로토콜에 맞춰 한 번만 구현하면 되도록 합니다.

구성: 호스트·클라이언트·서버

MCP는 클라이언트-호스트-서버(client-host-server) 구조를 따릅니다. 공식 아키텍처 문서에 정리된 세 가지 핵심 참여자는 다음과 같습니다.

  • MCP 호스트(Host): 언어 모델이 동작하는 AI 애플리케이션입니다. Claude Desktop, Claude Code, VS Code 같은 도구가 호스트에 해당하며, 하나 이상의 MCP 클라이언트를 조율하고 관리합니다.
  • MCP 클라이언트(Client): 호스트 내부에서 MCP 서버와의 연결을 유지하는 커넥터 컴포넌트입니다. 호스트는 서버마다 전용 클라이언트를 하나씩 생성하며, 각 클라이언트는 해당 서버와 1:1 전용 연결을 유지합니다.
  • MCP 서버(Server): 클라이언트에 컨텍스트(데이터·기능)를 제공하는 독립 프로그램입니다. 로컬에서 실행될 수도, 원격에서 실행될 수도 있습니다.

예를 들어 VS Code가 호스트로 동작할 때, Sentry 같은 MCP 서버에 연결하면 런타임이 해당 서버와의 연결을 유지하는 MCP 클라이언트 객체를 하나 생성합니다. 이후 로컬 파일시스템 서버에 추가로 연결하면 또 다른 클라이언트 객체를 생성합니다. 이렇게 서버마다 클라이언트를 분리함으로써 보안 경계를 명확히 하고 관심사를 격리할 수 있습니다.

동작 계층과 프리미티브

MCP는 두 개의 계층으로 구성됩니다. 데이터 계층(Data layer)은 JSON-RPC 2.0 기반의 클라이언트-서버 통신 프로토콜로, 연결 초기화·종료를 다루는 라이프사이클 관리와 핵심 프리미티브를 정의합니다. 전송 계층(Transport layer)은 실제 통신 채널과 인증을 담당하며, 로컬 프로세스 간 통신용 stdio 전송과 원격 통신용 Streamable HTTP 전송을 지원합니다.

MCP에서 가장 중요한 개념은 '프리미티브(primitive)'로, 클라이언트와 서버가 서로에게 무엇을 제공할 수 있는지를 정의합니다. 서버가 노출할 수 있는 세 가지 핵심 프리미티브는 다음과 같습니다.

  • 도구(Tools): AI가 호출해 작업을 수행하는 실행 가능한 함수입니다(예: 파일 작업, API 호출, 데이터베이스 쿼리).
  • 리소스(Resources): AI에 맥락 정보를 제공하는 데이터 소스입니다(예: 파일 내용, DB 레코드, API 응답).
  • 프롬프트(Prompts): 모델과의 상호작용을 구조화하는 재사용 가능한 템플릿입니다(예: 시스템 프롬프트, 퓨샷 예시).

반대로 클라이언트가 노출할 수 있는 프리미티브도 정의됩니다. 대표적으로 샘플링(Sampling)은 서버가 호스트의 LLM에 완성(completion)을 요청하도록 해, 서버 자체에 언어 모델 SDK를 포함하지 않고도 모델에 접근할 수 있게 합니다. 이 밖에 사용자에게 추가 정보를 요청하는 일리시테이션(Elicitation), 디버깅용 로깅(Logging)이 있습니다. 각 프리미티브는 발견(*/list)·조회(*/get)·실행(tools/call) 메서드를 갖습니다.

아래는 클라이언트가 사용 가능한 도구를 조회하는 JSON-RPC 2.0 요청·응답 예시입니다.

// 요청: 사용 가능한 도구 목록 조회
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}

// 응답 (일부)
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "weather_current",
        "title": "Weather Information",
        "description": "Get current weather information for any location",
        "inputSchema": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          },
          "required": ["location"]
        }
      }
    ]
  }
}

의의와 근거

Anthropic은 2024년 11월 25일 공식 블로그를 통해 MCP를 "데이터 소스와 AI 기반 도구 사이에 안전한 양방향 연결을 구축할 수 있게 하는 개방형 표준"으로 발표했습니다. 발표 당시 함께 공개된 구성 요소는 MCP 명세와 SDK, Claude Desktop 앱의 로컬 MCP 서버 지원, 그리고 오픈소스 MCP 서버 저장소였습니다. Anthropic은 Google Drive, Slack, GitHub, Git, Postgres, Puppeteer 등 널리 쓰이는 시스템용으로 미리 만들어진(pre-built) MCP 서버도 함께 제공했습니다.

초기 채택 기업·도구로는 Block과 Apollo가 발표문에 인용되었고, Zed·Replit·Codeium·Sourcegraph 등 개발 도구가 MCP를 자사 플랫폼에 통합하는 작업을 진행한다고 밝혔습니다. 현재 MCP 공식 문서 기준으로는 Claude와 ChatGPT 같은 AI 어시스턴트, VS Code·Cursor 같은 개발 도구 등 폭넓은 클라이언트·서버 생태계가 MCP를 지원하여 "한 번 만들어 어디서나 통합"하는 것을 지향합니다.

GEO·AI 검색 관점에서 MCP가 중요한 이유는, 생성형 AI가 사전 학습된 지식에만 의존하지 않고 실시간 외부 데이터·도구에 표준화된 방식으로 접근하는 통로를 열었기 때문입니다. AI 애플리케이션이 어떤 데이터 소스·도구와 연결되는지가 곧 답변의 근거와 행동 범위를 결정하므로, MCP는 LLM 기반 에이전트가 외부 컨텍스트를 끌어오는 핵심 인터페이스로 자리잡고 있습니다.

참고·출처

Model Context Protocol란? | Search OS