본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

모델 컨텍스트 프로토콜

IT 위키
Model Context Protocol; MCP; 모델 컨텍스트 프로토콜
AI 애플리케이션이 외부 도구, 데이터, 프롬프트에 연결되는 방식을 표준화한 개방형 프로토콜

모델 컨텍스트 프로토콜(Model Context Protocol, MCP)은 대형 언어 모델(LLM)을 쓰는 애플리케이션이 파일, 데이터베이스, 업무 시스템, 외부 API 같은 도구와 데이터 소스에 연결되는 방식을 정한 개방형 표준이다. Anthropic이 2024년 11월 25일 발표하고 사양과 SDK를 오픈소스로 공개했다.[1] 메시지 형식은 JSON-RPC 2.0이고, 도구 쪽을 "MCP 서버"로 한 번 만들어 두면 MCP를 지원하는 어느 AI 애플리케이션에서나 쓸 수 있다.

MCP가 풀려는 문제는 흔히 "N×M 통합 문제"로 설명된다. AI 애플리케이션이 N개, 연결할 도구가 M개면 제각각 커넥터를 N×M개 만들어야 하지만, 공통 프로토콜이 있으면 각자 한 번씩 N+M개만 구현하면 된다. 이 때문에 MCP는 "AI용 USB-C"라는 비유로 자주 소개된다. 발표 뒤 OpenAI, Google, Microsoft가 차례로 지원을 발표하면서 AI 에이전트와 도구를 잇는 사실상의 업계 표준이 되었고, 2025년 12월에는 리눅스 재단 산하 Agentic AI Foundation(AAIF)으로 이관되었다.

LLM은 학습 데이터에 없는 정보나 외부 시스템의 기능이 필요할 때 도구를 호출해야 한다. MCP 이전에도 OpenAI의 함수 호출(function calling) API(2023년)와 ChatGPT 플러그인 같은 방법이 있었지만 특정 회사의 형식에 묶였고, 도구 제공자는 LLM 회사마다, AI 애플리케이션 개발자는 데이터 소스마다 따로 연동 코드를 짜야 했다. Anthropic은 발표문에서 데이터가 정보 사일로와 레거시 시스템에 갇혀 있고, 새 데이터 소스마다 맞춤 구현이 필요한 파편화를 문제로 들었다.[1]

MCP는 Anthropic의 엔지니어 David Soria Parra와 Justin Spahr-Summers가 만든 것으로 알려져 있다.[2] 사양은 Microsoft의 언어 서버 프로토콜(LSP, Language Server Protocol)에서 착안했다고 스스로 밝힌다. LSP가 "편집기 N개 × 언어 M개" 문제를 언어 서버 하나로 풀었듯, MCP는 "AI 애플리케이션 × 도구" 문제를 MCP 서버 하나로 푼다.[3] 메시지 흐름을 JSON-RPC로 주고받는 점, 능력(capability)을 협상하는 점도 LSP와 닮았다.

MCP는 세 역할로 나뉜다.[3]

역할 설명 예
호스트(host) 사용자가 쓰는 LLM 애플리케이션. 여러 클라이언트를 만들고 관리하며, 사용자 동의와 보안 정책을 책임진다. Claude 데스크톱 앱, ChatGPT, IDE(VS Code, Cursor), AI 에이전트 프로그램
클라이언트(client) 호스트 안에서 서버 하나와 1:1로 연결을 유지하는 커넥터. 서버마다 클라이언트가 하나씩 생긴다. 호스트 내부 모듈
서버(server) 도구, 리소스, 프롬프트를 표준 형식으로 노출하는 프로그램. 로컬 프로세스일 수도, 원격 서비스일 수도 있다. 파일 시스템, GitHub, Slack, PostgreSQL, 브라우저 자동화(Playwright) 서버

서버 뒤에는 로컬 데이터 소스(파일, 로컬 DB, 로컬 서비스)나 원격 서비스(외부 API)가 있다. 서버는 LLM을 직접 부르지 않는다. 호스트가 서버에서 받은 도구 목록과 설명을 LLM에 건네고, LLM이 도구를 쓰겠다고 하면 호스트가 해당 클라이언트를 통해 서버에 호출을 보낸 뒤 결과를 다시 대화에 넣는다.

기본 프로토콜

편집 원본 편집

MCP 메시지는 UTF-8로 인코딩한 JSON-RPC 2.0 메시지다. 응답을 기대하는 요청(request, id 있음), 요청에 대한 응답(result 또는 error), 응답이 없는 알림(notification) 세 종류가 있다. 기능 목록은 tools/list, 호출은 tools/call처럼 "대상/동작" 형태의 메서드 이름을 쓴다.

{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}

{"jsonrpc": "2.0", "id": 1, "result": {"tools": [{
  "name": "get_forecast",
  "title": "날씨 예보",
  "description": "도시 이름을 받아 3일 예보를 돌려준다",
  "inputSchema": {"type": "object",
                  "properties": {"city": {"type": "string"}},
                  "required": ["city"]}}]}}

{"jsonrpc": "2.0", "id": 2, "method": "tools/call",
 "params": {"name": "get_forecast", "arguments": {"city": "서울"}}}

{"jsonrpc": "2.0", "id": 2, "result": {
  "content": [{"type": "text", "text": "내일 맑음, 최고 24도"}],
  "isError": false}}

도구의 입력 형식은 JSON 스키마로 기술한다. 2025-11-25 판부터 JSON Schema 2020-12가 기본 방언이다.[4]

연결 수명 주기

편집 원본 편집

2025-11-25 판까지는 연결이 상태를 가졌다. 클라이언트가 initialize 요청으로 지원하는 프로토콜 버전과 능력(capabilities)을 보내면 서버가 자신의 버전과 능력으로 답하고, 클라이언트가 notifications/initialized 알림을 보낸 뒤 정상 동작에 들어갔다. 서로 선언한 능력만 쓸 수 있다.

2026-07-28 판은 이 핸드셰이크와 프로토콜 수준 세션을 없애 무상태(stateless) 프로토콜로 바꿨다. 모든 요청이 _meta 필드에 프로토콜 버전(io.modelcontextprotocol/protocolVersion)과 클라이언트 능력을 싣고, 서버는 요청마다 따로 수락하거나 UnsupportedProtocolVersionError로 거절한다. 서버는 지원 버전, 능력, 정체를 한 번에 알려 주는 server/discover를 반드시 구현해야 한다. 여러 호출에 걸친 상태가 필요한 서버는 장바구니 ID 같은 핸들을 직접 발급해 도구 인자로 주고받는다.[5][6]

기능(프리미티브)

편집 원본 편집

서버가 제공하는 기능

편집 원본 편집
기능 누가 제어하나 설명 주요 메서드
도구(tools) 모델 LLM이 판단해 호출하는 함수. 검색, 계산, 파일 쓰기, API 호출 등 부수 효과가 있을 수 있다. 결과는 텍스트, 이미지, 오디오, 리소스 링크, 구조화된 JSON(structuredContent)으로 돌려준다. tools/list, tools/call
리소스(resources) 애플리케이션 URI로 식별되는 읽기용 데이터(파일 내용, DB 스키마, 문서). 호스트가 무엇을 컨텍스트에 넣을지 정한다. URI 템플릿으로 매개변수화할 수 있다. resources/list, resources/read, resources/templates/list
프롬프트(prompts) 사용자 서버가 제공하는 재사용 가능한 프롬프트 템플릿과 워크플로. 슬래시 명령처럼 사용자가 골라 쓴다. prompts/list, prompts/get

도구에는 읽기 전용인지, 파괴적인지, 같은 호출을 반복해도 결과가 같은지(idempotent), 외부 세계와 상호작용하는지 같은 힌트를 주는 도구 주석(tool annotations)을 붙일 수 있다(2025-03-26 판). 사양은 이 주석을 신뢰할 수 있는 서버에서 온 것이 아니면 믿지 말라고 한다.[3]

클라이언트가 제공하는 기능

편집 원본 편집
기능 설명 상태
샘플링(sampling) 서버가 클라이언트 쪽 LLM에 완성(completion)을 요청한다. 서버가 자체 API 키 없이 모델을 쓰게 해 준다. 2025-11-25 판에서 도구 호출(tools, toolChoice)까지 지원하게 되었다. 2026-07-28 판에서 폐지 예정(deprecated)
루트(roots) 클라이언트가 서버에 작업해도 되는 파일 시스템 경계(디렉터리 URI)를 알려 준다. 2026-07-28 판에서 폐지 예정
정보 요청(elicitation) 서버가 작업 도중 사용자에게 추가 정보를 요청한다. 2025-06-18 판에서 JSON 스키마 형식의 폼 입력으로 추가되었고, 2025-11-25 판에서 비밀번호나 결제처럼 MCP를 거치면 안 되는 입력을 외부 웹 페이지로 받는 URL 모드가 생겼다. 유지

2026-07-28 판은 서버가 클라이언트에 먼저 요청을 보내는 방식 자체를 없앴다. 대신 서버가 "입력이 더 필요하다"는 중간 결과(resultType: "input_required")를 돌려주면 클라이언트가 필요한 정보를 붙여 원래 요청을 다시 보내는 다중 왕복 요청(MRTR, Multi Round-Trip Requests) 패턴을 도입했다. 샘플링, 루트, 로깅은 잘 쓰이지 않는다는 이유로 폐지 예정이 되었고, 폐지 예정 기능은 최소 12개월 동안 동작한다.[5]

진행 상황 알림(progress), 요청 취소(cancellation), 오류 보고, 인자 자동 완성(completion), 목록 페이지 나누기(pagination), 목록 변경 알림(list_changed) 등이 있다. 2025-11-25 판은 오래 걸리는 작업을 폴링으로 추적하는 작업(tasks) 기능을 실험적으로 넣었고, 2026-07-28 판에서 공식 확장으로 옮겼다.[4][5]

전송 도입 동작 쓰임
stdio 처음부터 클라이언트가 서버를 자식 프로세스로 띄우고 표준 입력·출력으로 줄바꿈 구분 JSON-RPC 메시지를 주고받는다. 로그는 표준 오류(stderr)로 낸다. 로컬 서버. 해당 클라이언트만 접근할 수 있어 가장 단순하고 안전하다.
HTTP+SSE 2024-11-05 클라이언트→서버는 HTTP POST, 서버→클라이언트는 별도 GET 연결의 SSE(Server-Sent Events) 스트림. 엔드포인트가 두 개다. 2025-03-26 판에서 대체되어 폐지 예정
Streamable HTTP 2025-03-26 하나의 MCP 엔드포인트에 메시지마다 HTTP POST를 보내고, 서버는 JSON 한 개나 그 요청 전용 SSE 스트림으로 답한다. 2026-07-28 판에서 세션 헤더(Mcp-Session-Id)와 스트림 재개 기능을 없앴고, 변경 알림은 subscriptions/listen 스트림으로 받는다. 원격 서버, 클라우드 배포

Streamable HTTP 서버는 DNS 리바인딩 공격을 막기 위해 Origin 헤더를 검증하고, 잘못된 Origin에는 HTTP 403으로 답해야 한다(2025-11-25 판에서 명시).[4] 로컬에서 HTTP로 띄울 때는 모든 인터페이스가 아니라 localhost에만 바인딩하는 것이 권장된다. 이 밖에 사양은 JSON-RPC 형식과 메시지 패턴을 지키는 사용자 정의 전송을 허용한다.[7]

원격 서버용 인가는 OAuth 2.1을 바탕으로 한다. stdio 서버는 이 인가 절차 대신 환경 변수 등에서 자격 증명을 받는다.

  • 2025-03-26 판: OAuth 2.1 기반 인가 체계 도입.[8]
  • 2025-06-18 판: MCP 서버를 OAuth 리소스 서버로 규정하고, 보호 리소스 메타데이터(RFC 9728)로 인가 서버를 찾게 했다. 악성 서버가 다른 서버용 액세스 토큰을 받아 가지 못하도록 클라이언트가 리소스 지시자(RFC 8707)를 반드시 쓰게 했다.[9]
  • 2025-11-25 판: OpenID Connect Discovery 지원, WWW-Authenticate를 이용한 점진적 권한(scope) 동의, 클라이언트 ID 메타데이터 문서(CIMD)를 권장 등록 방식으로 추가.[4]
  • 2026-07-28 판: 동적 클라이언트 등록(RFC 7591)을 폐지 예정으로 돌리고 CIMD를 우선하며, 인가 응답의 iss 검증(RFC 9207)으로 믹스업 공격을 막게 했다.[5]

버전 이름은 하위 호환이 깨지는 마지막 변경 날짜를 YYYY-MM-DD 형식으로 붙인다. 하위 호환 변경만 있으면 버전 번호를 올리지 않는다.[6]

버전 주요 변경
2024-11-05 최초 공개판. JSON-RPC 2.0, 도구·리소스·프롬프트, 샘플링·루트, stdio와 HTTP+SSE 전송
2025-03-26 OAuth 2.1 인가, Streamable HTTP 전송(HTTP+SSE 대체), JSON-RPC 배치 지원, 도구 주석, 오디오 콘텐츠, 자동 완성 능력[8]
2025-06-18 JSON-RPC 배치 제거, 구조화된 도구 출력, 서버를 OAuth 리소스 서버로 규정, RFC 8707 의무화, 정보 요청(elicitation), 도구 결과의 리소스 링크, HTTP의 MCP-Protocol-Version 헤더, 사람이 읽는 title 필드, 보안 모범 사례 문서[9]
2025-11-25 OIDC Discovery, 아이콘 메타데이터, 점진적 권한 동의, 도구 이름 지침, URL 모드 정보 요청, 샘플링의 도구 호출, CIMD, 실험적 작업(tasks), JSON Schema 2020-12 기본, 거버넌스(워킹 그룹, SDK 등급) 정식화[4]
2026-07-28 무상태화: 세션과 initialize 핸드셰이크 제거, server/discover, MRTR 패턴, subscriptions/listen, 작업(tasks)을 확장으로 분리, 목록 결과의 캐시 힌트(ttlMs, cacheScope), 샘플링·루트·로깅 폐지 예정, 기능 수명 주기·폐지 정책 채택[5]

2026-07-28 판은 일부 변경이 하위 호환되지 않아, 새 판을 구현한 서버와 이전 판 클라이언트가 함께 동작하려면 호환 계층이 필요하다. 사양은 핸드셰이크 방식(2025-11-25 이전) 상대를 감지해 되돌아가는 방법을 따로 정해 두었다.[6]

핵심 프로토콜 밖의 기능은 양쪽이 명시적으로 지원을 밝혀야 쓰는 선택적 확장으로 둔다. 대표적으로 대시보드, 폼, 차트 같은 대화형 UI를 서버가 호스트 안에 띄우는 MCP Apps, 장시간 작업을 다루는 Tasks, 에이전트 작업 지침을 MCP로 배포하는 Skills over MCP가 있다.[3]

공식 SDK는 파이썬, TypeScript, Java, Kotlin, C#, Go, PHP, Ruby, Rust, Swift 등으로 나와 있다. 발표 당시 Anthropic은 Google Drive, Slack, GitHub, Git, PostgreSQL, Puppeteer용 서버를 함께 공개했다.[1] 서버 목록을 모아 두는 공식 MCP 레지스트리도 운영된다.

파이썬 SDK로 만든 최소 서버는 다음과 같다. 함수의 타입 힌트와 독스트링이 도구의 입력 스키마와 설명이 된다.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("weather")

@mcp.tool()
def get_forecast(city: str) -> str:
    """도시 이름을 받아 3일 예보를 돌려준다."""
    return f"{city}: 내일 맑음, 최고 24도"

@mcp.resource("config://units")
def units() -> str:
    return "섭씨"

if __name__ == "__main__":
    mcp.run()  # 기본은 stdio 전송

Claude 데스크톱 앱 같은 호스트에는 서버를 띄울 명령을 설정 파일에 적어 등록한다.

{
  "mcpServers": {
    "weather": {"command": "python", "args": ["weather_server.py"]}
  }
}
  • 2024-11-25: Anthropic 발표. Claude 데스크톱 앱이 로컬 MCP 서버를 지원했다. Block, Apollo가 초기 도입 기업으로, Zed, Replit, Codeium, Sourcegraph가 개발 도구 쪽 통합 기업으로 소개되었다.[1]
  • 2025-03: OpenAI가 Agents SDK에서 MCP를 지원하고 ChatGPT 데스크톱 앱과 Responses API로 넓히겠다고 발표했다.[10] 이에 앞서 Google CEO 순다르 피차이가 X에 "To MCP or not to MCP"라는 글을 올려 관심을 드러냈다.
  • 2025-04-09: Google DeepMind CEO 데미스 허사비스가 Gemini 모델과 SDK에서 MCP를 지원하겠다고 밝혔다.[11] 같은 날 Google은 에이전트끼리 통신하는 별도 프로토콜 A2A(Agent2Agent)를 발표했다. 에이전트와 도구 사이는 MCP, 에이전트와 에이전트 사이는 A2A로 역할이 나뉜다.
  • 2025-05-19: Microsoft가 Build 2025에서 Windows 11의 MCP 기본 지원을 예고했다. 에이전트가 설치된 MCP 서버를 찾는 Windows용 레지스트리, 파일 시스템·창 관리·WSL 같은 시스템 기능의 MCP 서버, 기본값으로 꺼져 있는 에이전트 접근 권한 등을 내세웠다.[12] Microsoft는 브라우저 자동화 도구 Playwright를 MCP 서버(Playwright MCP)로도 내놓았고, GitHub, VS Code, Copilot Studio 등도 MCP를 지원한다.
  • 2025-05-21: OpenAI Responses API가 원격 MCP 서버 연결을 지원했고, OpenAI가 MCP 운영위원회(steering committee)에 합류했다.[13]
  • 2025-09: ChatGPT 개발자 모드에서 임의의 MCP 서버를 연결할 수 있게 되었다.[14]
  • 2025-12-09: Anthropic이 MCP를 Agentic AI Foundation에 기증했다(아래 거버넌스 절). 이 시점 Anthropic은 공개 MCP 서버 1만 개 이상, 파이썬·TypeScript SDK 월 다운로드 9,700만 회 이상이라고 밝히고, ChatGPT, Cursor, Gemini, Microsoft Copilot, VS Code를 채택 사례로 들었다.[15]
  • 2026-07-28: 무상태화를 담은 대규모 개정판 확정.[5]

오픈소스 LLM 채팅 클라이언트, Claude Code·Codex 같은 코딩 에이전트, AWS·Cloudflare·Google Cloud·Azure 같은 클라우드의 배포 지원까지 생태계가 넓다.

2025년 12월 9일 리눅스 재단은 Agentic AI Foundation(AAIF) 설립을 발표했다. 리눅스 재단 산하 지정 기금(directed fund) 형태로, Anthropic, Block, OpenAI가 공동 설립했고 창립 프로젝트는 Anthropic의 MCP, Block의 goose, OpenAI의 AGENTS.md다. 플래티넘 회원으로 AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft, OpenAI가 참여했다.[16] Anthropic은 이관 뒤에도 MCP의 기존 유지 관리자 중심 거버넌스는 그대로라고 밝혔다.[15] 사양 변경은 SEP(Specification Enhancement Proposal) 절차로 제안하고 논의한다.

MCP는 임의 데이터 접근과 코드 실행 경로를 여는 만큼 보안 문제가 크다. 사양은 사용자 동의와 통제, 데이터 프라이버시, 도구 안전을 핵심 원칙으로 두고, 도구 호출 전에 사용자의 명시적 동의를 받으라고 요구한다. 다만 프로토콜 차원에서 강제할 수는 없어 구현자의 몫으로 남긴다.[3]

위협 내용 대응
프롬프트 주입 도구 결과(웹 페이지, 이슈, 메일)에 숨긴 지시가 모델을 조종한다. 2025년 5월 Invariant Labs는 공개 GitHub 이슈에 심은 지시로 GitHub MCP 서버를 쓰는 에이전트가 비공개 저장소 내용을 공개 저장소에 유출하게 만드는 시연을 공개했다.[17] 도구 결과를 신뢰하지 않는 데이터로 취급, 최소 권한 토큰, 세션당 접근 범위 제한, 사람의 확인
도구 오염(tool poisoning) 도구 설명(description)에 사용자에게는 보이지 않고 모델만 읽는 악성 지시를 넣는다. Invariant Labs는 2025년 4월 덧셈 도구 설명에 숨긴 지시로 ~/.ssh/id_rsa 같은 파일을 읽어 도구 인자로 빼돌리는 예를 공개했다.[18] 도구 설명 전체를 사용자에게 보여 주기, 검증된 서버만 사용
러그 풀(rug pull) 승인받은 뒤 서버가 도구 정의를 몰래 바꾼다.[18] 도구 정의 고정(pinning)과 변경 시 재승인
섀도잉(shadowing) 악성 서버의 도구 설명이 같은 호스트에 붙은 다른 신뢰 서버 도구의 동작을 바꾼다(예: 메일 도구의 수신자를 바꾸게 지시).[18] 서버 간 격리, 도구 이름 충돌 관리
공급망 공격 2025년 9월 npm의 가짜 postmark-mcp 패키지가 한 줄 코드로 보내는 모든 메일에 공격자 주소를 숨은 참조로 넣어 유출한 사례가 보고되었다.[19] 공식 출처 확인, 버전 고정, 코드 검토
로컬 서버 악용 설정 파일에 넣은 시작 명령이 곧 임의 코드 실행이다. localhost에 떠 있는 HTTP 서버는 DNS 리바인딩으로 웹 페이지에서 접근될 수 있다. 실행할 명령 전체를 보여 주고 동의받기, 샌드박스, stdio 우선, Origin 검증
혼동된 대리인(confused deputy) 정적 클라이언트 ID로 제3자 API에 붙는 MCP 프록시 서버에서, 동의 쿠키를 악용해 사용자 동의 없이 인가 코드를 가로챈다. 클라이언트별 동의 화면, redirect_uri 정확 일치, state 검증
토큰 전달(token passthrough) 서버가 자기에게 발급되지 않은 토큰을 받아 그대로 하위 API에 넘긴다. 사양이 명시적으로 금지한다. 토큰 대상(audience) 검증
SSRF 악성 서버가 OAuth 메타데이터 URL을 내부 주소(클라우드 메타데이터 169.254.169.254 등)로 채워 클라이언트가 내부망에 요청하게 만든다. HTTPS 강제, 사설 IP 대역 차단, 이그레스 프록시
과도한 권한 범위 처음부터 모든 권한(scope)을 받은 토큰이 유출되면 피해가 커진다. 최소 권한으로 시작해 필요할 때 단계적으로 권한 상승

표의 뒤쪽 여섯 항목은 사양의 보안 모범 사례 문서가 직접 다루는 공격이다.[20] 프롬프트 주입은 모델이 도구 결과와 사용자 지시를 확실히 구분하지 못하는 한 근본적으로 막기 어렵다. 그래서 비공개 데이터 접근, 신뢰할 수 없는 콘텐츠 노출, 외부로 내보내는 통로 세 가지가 한 에이전트에 동시에 있지 않게 구성을 나누는 것이 실무 원칙으로 쓰인다.

다른 기술과 비교

편집 원본 편집
항목 MCP 함수 호출(function calling) OpenAPI A2A
목적 AI 애플리케이션과 도구·데이터 연결 한 LLM API 안에서 도구 호출 형식 정의 HTTP API 기술(記述) 에이전트 사이 작업 위임과 통신
범위 도구 발견, 호출, 리소스, 프롬프트, 인가, 전송까지 모델 입출력 형식만 API 명세만(실행은 별도) 에이전트 카드, 작업, 메시지
벤더 중립 예(AAIF) 회사마다 형식이 다름 예(OpenAPI Initiative) 예(2025년 6월 리눅스 재단 이관[21])
관계 호스트 내부에서는 결국 각 LLM의 함수 호출로 변환된다 MCP의 하위 구현 수단 기존 API를 MCP 서버로 감싸는 데 쓰임 MCP와 보완 관계

LSP와의 비유는 사양이 직접 밝힌 것이지만 차이도 있다. LSP는 편집기가 요청하고 언어 서버가 답하는 결정적인 기능(자동 완성, 정의로 이동)을 다루는 반면, MCP 도구는 LLM이 언제 무엇을 호출할지 스스로 판단한다는 점에서 보안 모델이 훨씬 복잡하다.

  1. ↑ 1.0 1.1 1.2 1.3 Anthropic, Introducing the Model Context Protocol, 2024-11-25
  2. ↑ Latent Space, The Creators of Model Context Protocol (David Soria Parra, Justin Spahr-Summers 인터뷰), 2025-04-03
  3. ↑ 3.0 3.1 3.2 3.3 3.4 Model Context Protocol Specification, 2026-07-28
  4. ↑ 4.0 4.1 4.2 4.3 4.4 MCP Specification 2025-11-25 Key Changes
  5. ↑ 5.0 5.1 5.2 5.3 5.4 5.5 MCP Specification 2026-07-28 Key Changes
  6. ↑ 6.0 6.1 6.2 MCP Specification, Versioning
  7. ↑ MCP Specification 2026-07-28, Transports
  8. ↑ 8.0 8.1 MCP Specification 2025-03-26 Key Changes
  9. ↑ 9.0 9.1 MCP Specification 2025-06-18 Key Changes
  10. ↑ TechCrunch, OpenAI adopts rival Anthropic's standard for connecting AI models to data, 2025-03-26
  11. ↑ TechCrunch, Google to embrace Anthropic's standard for connecting AI models to data, 2025-04-09
  12. ↑ Windows Experience Blog, Securing the Model Context Protocol: Building a safer agentic future on Windows, 2025-05-19
  13. ↑ OpenAI Developer Community, Introducing support for remote MCP servers, image generation, Code Interpreter, and more in the Responses API
  14. ↑ VentureBeat, OpenAI adds powerful but dangerous support for MCP in ChatGPT dev mode, 2025-09-11
  15. ↑ 15.0 15.1 Anthropic, Donating the Model Context Protocol and establishing the Agentic AI Foundation, 2025-12-09
  16. ↑ The Linux Foundation, Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF), 2025-12-09
  17. ↑ Invariant Labs, GitHub MCP Exploited: Accessing private repositories via MCP, 2025-05
  18. ↑ 18.0 18.1 18.2 Invariant Labs, MCP Security Notification: Tool Poisoning Attacks, 2025-04-01
  19. ↑ Postmark, Security Alert: Malicious postmark-mcp npm Package Impersonating Postmark
  20. ↑ MCP Specification, Security Best Practices
  21. ↑ The Linux Foundation, Linux Foundation Launches the Agent2Agent Protocol Project, 2025-06-23