AI 도구를 붙여 쓰다 보면 MCP 라는 말이 자꾸 나옵니다. Model Context Protocol, 우리말로 모델 컨텍스트 프로토콜이에요.
그런데 이게 왜 필요한지, 왜 하필 이 규격으로 다들 모였는지는 잘 설명되지 않습니다. 마침 2026년 7월에 스펙이 크게 개정되면서 성격이 한 번 더 바뀌었어요.
제각각 배선과 표준 배선 — 출처: agy 생성
곱하기를 더하기로 바꾸는 일
MCP가 푼 문제는 하나입니다. AI가 바깥 도구를 쓰려면 매번 연동을 새로 만들어야 했던 것.
챗봇이 캘린더를 읽으려면 그 챗봇용 캘린더 연동을 만들고, 다른 챗봇이 같은 캘린더를 읽으려면 또 만들어야 했습니다. 클라이언트가 N개, 도구가 M개면 연동은 N×M개가 됩니다.
연결해야 하는 선의 개수 — 출처: 직접 작성 (예시 계산)
가운데에 공통 규격을 두면 이야기가 달라집니다. 도구는 규격에 맞춰 서버 하나만 만들고, AI 쪽은 규격을 읽는 클라이언트 하나만 갖추면 돼요. 그러면 N+M입니다.
- 클라이언트 5개와 도구 10개라면 50개가 15개가 됩니다. 도구가 늘수록 격차는 더 벌어져요.
이게 새로운 발상은 아닙니다. 전기 플러그 규격도, HTTP도 같은 일을 했어요. MCP의 위치는 발명이 아니라 자리 선점에 가깝습니다.
표준의 가치는 기능이 아니라 곱하기를 더하기로 바꾸는 데 있습니다.
회사 것에서 재단 것으로
규격이 퍼지려면 한 회사 것이 아니어야 합니다. 경쟁사가 남의 회사 규격에 자기 제품을 맞추지는 않으니까요.
MCP 가 지나온 시점 — 출처: 직접 작성 (공식 발표·스펙 이력 기반)
MCP는 2024년 11월 Anthropic이 오픈소스로 공개했고, 2025년 12월 9일 리눅스 재단 산하 Agentic AI Foundation 에 기증됐습니다. Anthropic·Block·OpenAI가 공동 설립했고 AWS·Bloomberg·Cloudflare·Google·Microsoft가 플래티넘 멤버로 참여했어요.
같은 재단에 Block의 에이전트 프레임워크 goose와 OpenAI의 AGENTS.md도 함께 들어갔습니다.
- 경쟁하는 회사들이 같은 재단에 모인 건 사이가 좋아서가 아닙니다. 연결 계층에서 싸우는 게 서로 손해라고 판단한 결과에 가까워요.
서버는 세 가지를 내놓습니다
MCP 서버가 하는 일은 “도구를 준다” 한 줄로 뭉뚱그려지곤 하는데, 규격은 셋을 구분합니다.
| 요소 | 무엇인가 | 예 |
|---|---|---|
| Tools | AI 가 실행하는 함수 | 파일 쓰기 · API 호출 · DB 질의 |
| Resources | AI 가 읽는 맥락 데이터 | 파일 내용 · DB 스키마 · 문서 |
| Prompts | 재사용하는 대화 틀 | 시스템 프롬프트 · 예시 모음 |
이 구분이 중요한 이유는 위험이 다르기 때문입니다. Resources 는 읽기라 최악이 정보 노출이지만, Tools 는 실행이라 파일이 지워지거나 메일이 나갈 수 있어요.
반대로 클라이언트가 서버에 내주는 것도 있습니다. Elicitation — 서버가 작업 도중 사용자에게 되물을 수 있는 통로예요. 확인이 필요하거나 빠진 값을 채워야 할 때 씁니다.
- 2026-07-28 개정에서 클라이언트 쪽 Sampling(서버가 클라이언트의 모델을 빌려 쓰는 것)과 Logging 은 폐기됐습니다. 새로 만들 때는 각각 모델 API 를 직접 붙이고, 로그는 표준 에러나 OpenTelemetry 로 보내라는 안내가 붙었어요.
요청이 오가는 모습
실제 대화는 JSON-RPC 2.0 메시지 세 종류로 굴러갑니다.
| 순서 | 요청 | 하는 일 |
|---|---|---|
| ① | server/discover | 서버가 지원하는 버전·능력·신원을 한 번에 받는다 |
| ② | tools/list | 쓸 수 있는 도구 목록과 입력 스키마를 받는다 |
| ③ | tools/call | 이름과 인자를 넘겨 실제로 실행한다 |
요청이 오가는 세 단계 — 출처: 직접 작성 (공식 문서 예시 기반)
도구 목록에는 이름·설명·입력 스키마가 함께 옵니다. 모델은 이 설명을 읽고 언제 그 도구를 쓸지 판단해요.
목록 응답에는 캐시 수명이 붙습니다. 예시 응답의 도구 목록은 ttlMs 300000 — 5분간 다시 묻지 말라는 뜻이에요. 목록이 바뀌면 서버가 알려 주는 길도 따로 있는데, 클라이언트가 subscriptions/listen 으로 받고 싶은 알림 종류를 지정해야 옵니다.
로컬이냐 원격이냐
전송 방식은 둘입니다. 이 차이가 곧 어디까지 권한이 나가는가를 정합니다.
| 방식 | 어디서 도나 | 성격 |
|---|---|---|
| stdio | 내 컴퓨터의 자식 프로세스 | 네트워크를 안 탄다 |
| Streamable HTTP | 원격 서버 | OAuth 등 표준 인증을 쓴다 |
앞서 본 제 세션의 서버 셋은 전부 원격(HTTPS)이라 계정 인증을 거쳐 붙어 있습니다.
그냥 함수 호출과 뭐가 다른가
모델 API 에도 도구를 넘기는 기능(tool use)이 있습니다. 헷갈리기 쉬운데 층이 다릅니다.
함수 호출은 “이 요청에 이런 도구가 있다”고 모델에게 알려 주는 것이고, MCP 는 그 도구 목록을 어디서 어떻게 받아 오는지를 정한 규격이에요. MCP 서버에서 받아온 도구를 모델에게 넘길 때는 결국 함수 호출 형식으로 넘어갑니다.
- 둘은 경쟁 관계가 아니라 위아래로 붙어 있습니다. MCP 가 없어도 함수 호출은 되지만, 그때는 도구마다 연동을 직접 만들어야 합니다 — 처음의 N×M 이야기로 돌아가는 거예요.
2026년 7월, 세션을 버렸습니다
여기서부터가 이번 개정의 핵심입니다. MCP는 원래 세션을 여는 프로토콜이었어요. 연결하면 initialize 로 악수하고, 세션 아이디를 받아 그 세션 위에서 대화했습니다.
2026-07-28 스펙은 그 악수를 없앴습니다.
세션을 버린 구조 — 출처: agy 생성
| 이전 | 2026-07-28 |
|---|---|
| initialize 핸드셰이크 · 세션 아이디 | 요청마다 프로토콜 버전 명시 |
| 본문(JSON)을 열어야 무슨 요청인지 앎 | HTTP 헤더에 메서드·이름 표기 |
| 목록을 매번 다시 조회 | 목록 응답에 캐시 수명 표기 |
| 서버가 되물으려면 상태 유지 | 되물을 땐 input_required 로 응답 |
이 변화가 노리는 건 하나입니다. 웹 인프라가 다룰 수 있는 물건이 되는 것.
상태가 없으면 요청이 로드밸런서 뒤 아무 인스턴스로나 가도 됩니다. 헤더에 메서드가 적혀 있으면 게이트웨이가 본문을 열지 않고도 라우팅하고 차단할 수 있어요. 목록에 캐시 수명이 붙으면 매번 되묻지 않아도 됩니다.
- 즉 이번 개정은 기능 추가가 아니라 운영 가능한 모양으로 다시 만든 것입니다. 표준이 실험실을 나와 인프라가 되는 지점이에요.
버전을 다루는 방식도 바뀌었습니다. 요청마다 버전을 선언하고 서버가 요청 단위로 수락·거부하며, server/discover 한 번으로 서버가 지원하는 버전과 능력을 받아올 수 있습니다.
그래서 무엇을 조심해야 하나
연결이 쉬워지면 연결의 대가가 따라옵니다. 이번 개정에서 인증·권한 쪽이 함께 조여진 게 그래서예요.
동적 클라이언트 등록(DCR)은 폐기되고 클라이언트 ID 메타데이터 문서(CIMD) 방식으로 바뀌었고, 발급처 검증이 의무화됐으며, 자격증명은 발급한 인증 서버에 묶입니다.
폐기 정책도 명문화됐습니다. 없앨 기능은 최소 12개월 유예를 두고, 마이그레이션 경로를 함께 적습니다. Roots·Sampling·Logging과 레거시 전송이 그 목록에 올라 있어요.
붙어 있는 MCP 서버 확인 — 출처: 직접 실행
한 가지 더 있습니다. 도구 목록에는 설명문이 함께 오고, 모델은 그 설명을 읽고 판단합니다. 그 말은 설명문에 지시를 심어 두면 모델이 그걸 읽는다는 뜻이에요. 신뢰할 수 없는 서버를 붙이는 게 위험한 이유가 권한만이 아닙니다.
쓰는 쪽에서 기억할 건 단순합니다. MCP 서버를 붙인다는 건 그 서버에 권한을 준다는 뜻입니다. 위 화면의 서버 셋은 제 메일·캘린더·드라이브에 닿아요. 규격이 표준이라는 사실이 그 서버를 신뢰해도 된다는 뜻은 아닙니다.
| 확인할 것 | 왜 |
|---|---|
| 누가 만든 서버인가 | 권한이 그쪽으로 간다 |
| 어떤 범위를 요구하는가 | 읽기만인지 쓰기까지인지 |
| 어디서 도는가 | 로컬인지 원격 서버인지 |
표준이 이긴 게 아니라, 인프라가 다룰 수 있는 모양이 이겼습니다.