MCP가 뭔가 — AI에 도구를 꽂는 'USB-C 표준' (그림 한 장으로 이해하기)
MCP(Model Context Protocol)는 AI 앱을 외부 도구·데이터에 연결하는 개방형 표준입니다. Host·Client·Server 구조와 Tools·Resources·Prompts, 왜 'AI의 USB-C'라 불리는지를 그림 한 장으로 쉽게 풉니다.
하네스 글에서 “바깥에서 도구를 꽂아 넣는 층”을 이야기했는데, 그 도구를 꽂는 표준이 바로 MCP(Model Context Protocol) 입니다. 2024년 11월 Anthropic이 공개한 뒤 빠르게 업계 표준이 됐고, Claude뿐 아니라 여러 AI 앱이 함께 씁니다. 이 글은 그림 한 장으로 MCP의 정체를 풉니다.
1. 한 문장으로
MCP = AI 앱을 외부 도구·데이터에 연결하는 개방형 표준. 공식 비유로 “AI의 USB-C 포트” 입니다. USB-C가 어떤 기기든 한 가지 규격으로 연결하듯, MCP도 AI를 외부 시스템에 한 가지 규격으로 연결합니다.
중요한 건 MCP는 AI 모델이 아니라 연결 규격이라는 점입니다. 똑똑함을 더하는 게 아니라, AI가 바깥 세상(내 파일, GitHub, 데이터베이스, Slack…)에 접근하는 방법을 하나로 통일합니다.
2. 큰 그림 — 하나의 표준으로 다 꽂는다

3. 그림 읽기 — 세 요소
MCP에는 딱 세 가지 역할이 있습니다.
- ① Host(호스트) — AI 앱 그 자체입니다. Claude Code, Claude Desktop, Cursor, VS Code 같은 것들. 여러 도구를 가져다 쓰는 쪽이죠.
- ② Server(서버) — 바깥 기능을 MCP 규격으로 내놓는 프로그램입니다. “파일 서버”, “GitHub 서버”, “DB 서버”처럼 하나의 영역을 담당하고, 그 뒤의 실제 시스템(내 컴퓨터, GitHub, Postgres)에 연결됩니다.
- ③ Client(클라이언트) — Host 안에 있으면서 서버 하나와 1:1 전용 연결을 맡는 커넥터입니다. 서버가 3개면 Host는 클라이언트도 3개를 띄웁니다. 보통은 신경 쓸 일 없는 내부 부품이지만, “서버마다 전용선이 하나씩”이라는 그림을 잡아두면 구조가 또렷해집니다.
정리하면 Host(1) → Client(N) → Server(N). 하나의 앱이 여러 서버를 각각 전용 클라이언트로 연결하는 구조입니다.
4. MCP는 양방향이다 — 주고받는 채널
MCP를 “AI가 도구를 호출하는 단방향 API”로 오해하기 쉬운데, 진짜 특징은 AI와 서버가 서로 부른다는 점입니다. 두 방향으로 나눠 보면 또렷합니다.
① 서버 → AI : 서버가 내놓는 것 (가장 많이 쓰는 핵심)
| 종류 | 무엇 | 예 |
|---|---|---|
| Tools | AI가 실행하는 동작 | 파일 쓰기, API 호출, DB 쿼리, 이메일 전송 |
| Resources | AI가 읽을 데이터 | 파일 내용, DB 레코드, 문서, API 응답 |
| Prompts | 미리 만든 명령 템플릿 | 자주 쓰는 작업 지시, 예시 묶음 |
② AI·사용자 ← 서버 : 서버가 거꾸로 요청하는 것
| 종류 | 무엇 | 예 |
|---|---|---|
| Sampling | 서버가 호스트의 LLM에 추론을 요청 | 자체 모델이 없는 서버가 “이 텍스트 요약해줘”를 AI에 맡김 |
| Elicitation | 서버가 작업 중 사용자에게 입력을 요청 | ”어느 계정으로 진행할까요?”를 되물음 |
(이 밖에 작업 범위를 알려주는 Roots, 진행 상황을 흘려보내는 Logging 같은 보조 기능도 있습니다.)
그래서 MCP는 “도구 목록을 한 번 받아오는 API”가 아니라, 양쪽이 필요할 때 서로 부르는 대화 채널에 가깝습니다. 이게 단순한 플러그인 규격과 다른 지점입니다.
5. 왜 ‘표준’이 핵심인가 — M×N에서 M+N으로
MCP가 없던 시절엔 AI 앱마다, 도구마다 연결 코드를 일일이 따로 만들어야 했습니다. 앱이 10개, 도구가 5개면 10 × 5 = 50가지 조합을 각각 이어줘야 했죠.
MCP는 그 사이에 공통 규격을 끼워 넣습니다. 이제 앱은 MCP를 지원하기만 하면 되고, 도구는 MCP 서버로 한 번만 만들면 됩니다. 10 + 5 = 15개만 만들면, 나머지는 표준 위에서 알아서 연결됩니다.
서버는 한 번 만들면, MCP를 지원하는 모든 AI 앱이 그대로 쓴다.
이게 MCP가 빠르게 퍼진 진짜 이유입니다.
6. 로컬이냐 원격이냐
서버가 어디서 도느냐에 따라 연결(전송) 방식이 둘로 나뉩니다 — 깊이 알 필요는 없고 감만 잡으면 됩니다.
- 로컬 서버 — 내 컴퓨터에서 직접 실행.
stdio(표준 입출력)로 붙습니다. 예: 내 파일에 접근하는 파일 서버. - 원격 서버 — 인터넷 너머 클라우드.
HTTP로 붙습니다(인증도 가능). 예: 회사가 제공하는 GitHub·결제 서버.
(예전엔 SSE라는 방식을 썼지만 지금은 권장되지 않습니다. 입문 단계에선 “로컬=직접 실행, 원격=인터넷 서버” 정도로 충분합니다.)
7. Claude Code에선 한 줄
실제로 붙이는 건 명령 한 줄입니다.
# 원격 HTTP 서버
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 로컬 stdio 서버 (내 파일 접근)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Desktop
claude mcp list # 붙은 서버 보기
붙이고 나면, 그 서버가 내놓은 Tools·Resources를 Claude가 곧바로 쓸 수 있습니다.
8. 헷갈리지 말 것
- MCP는 모델이 아니다. AI와 도구를 잇는 “전선·규격”입니다.
- Anthropic 독점이 아니다. Anthropic이 만든 오픈 표준이고, 다른 AI 앱들도 함께 씁니다.
- ‘서버’라는 이름 때문에 다 원격에 있다고 오해하기 쉽다. 파일 서버처럼 내 컴퓨터에서 도는 로컬 서버도 많습니다.
9. 한 줄 요약
MCP = AI의 USB-C. 도구는 MCP 서버로 한 번 만들고, 앱은 MCP만 말할 줄 알면, 둘이 표준으로 알아서 맞물린다. 그래서 통합이 M×N에서 M+N으로 줄어든다.