MCP 란 무엇인가: 인공지능을 위한 통로

MCP(Model Context Protocol)는 AI 앱을 파일·데이터베이스·검색 같은 외부 시스템에 연결하는 공개 표준이다. 앱마다 다른 연동 코드 대신 단자 하나로 연결한다는 점에서, 공식 문서는 이를 "AI 앱을 위한 USB-C 단자"에 비유한다.

케이블이 앱마다 다르다

두 패널 비교 그림. 왼쪽 '앱마다 다른 케이블' 패널에서는 노트북 앞의 사람이 서로 다른 단자의 케이블 다발을 폴더·데이터베이스·돋보기 세 기기로 뻗다가 선이 한가운데서 엉켜 있고, 오른쪽 '단자 하나' 패널에서는 같은 사람의 노트북에서 케이블 하나가 가운데 MCP 상자로 들어가고 상자에서 같은 세 기기로 선이 하나씩 곧게 나간다

AI 에게 내 컴퓨터의 파일을 보여 주고 싶다고 하자. 그런데 이 앱은 이렇게, 저 앱은 저렇게 연동 방식이 다 다르다. 같은 폴더를 붙이는 일인데도 앱을 바꿀 때마다 방법을 새로 익혀야 한다.

붙일 것이 파일 하나면 그나마 낫다. 여기에 데이터베이스가 붙고 검색이 붙으면 조합이 늘어난다. 앱이 세 개, 붙일 자료가 세 종류라면 만들어야 하는 연결 방식이 아홉 가지가 된다. 위 그림의 왼쪽 패널이 그 상태다 — 노트북에서 나가는 케이블이 여러 개이고 단자가 제각각이라 선이 한가운데서 엉킨다.

오른쪽 패널은 같은 노트북에서 케이블 하나만 나간다. 그 하나가 가운데 MCP 상자로 들어가고, 상자에서 같은 세 기기로 선이 하나씩 나간다. 이 그림의 왼쪽에서 오른쪽으로 넘어가는 것, 그것이 MCP 가 하는 일이다.

MCP 는 단자 하나로 바꾼다

MCP(Model Context Protocol)는 AI 앱을 바깥 세계에 연결하는 공개 표준이다. 여기서 바깥 세계란 파일·데이터베이스·검색처럼 AI 앱 바깥에 있는 자료와 도구다. 표준이라는 말은 연결하는 방법을 미리 정해 두고 양쪽이 그 방법만 지킨다는 뜻이다.

이름 가운데 있는 프로토콜(protocol)은 약속된 대화 규칙이다. 무엇을 먼저 묻고, 답이 어떤 모양으로 오고, 다음에 무엇을 보낼지가 정해져 있다는 말이다. 사람으로 치면 전화를 걸었을 때 "여보세요"부터 시작하는 것과 같다. 대화의 순서가 정해져 있으면 처음 통화하는 상대와도 말이 통한다. 공식 소개 문서는 이 표준을 기기 단자에 빗댄다.

Think of MCP like a USB-C port for AI applications.

출처: Model Context Protocol 공식 소개 문서

USB-C 단자는 모양이 하나다. 그래서 노트북에도 꽂히고 휴대폰에도 꽂힌다. 같은 자리에 MCP 를 놓으면, AI 앱이 바깥 자료에 닿는 통로가 하나로 정리된다.

단자 양쪽에 누가 서 있나

통로가 하나로 정리됐다면, 그 양쪽에는 누가 서 있을까. 공식 개념 문서가 이름을 붙여 둔 등장인물은 셋이다. 호스트(host)는 사용자가 실제로 쓰는 AI 앱이고, Claude Desktop·Claude Code·VS Code 같은 프로그램이 여기 든다.

클라이언트(client)는 호스트 안에 들어 있는 부품이다. 서버(server) 하나와 연결을 잡고, 그 서버에서 받아 온 자료를 호스트에 넘긴다. 서버는 자료와 도구를 내주는 프로그램이다.

셋의 관계에서 눈여겨볼 것은 개수다. 호스트는 서버마다 클라이언트를 하나씩 만든다. 서버가 셋이면 클라이언트도 셋이고, 각 클라이언트는 자기 서버 하나와만 이야기한다. 그림 1에서 선이 서로 교차하지 않는 이유가 이것이다.

누가 서 있나 · 1:1 연결 호스트(AI 앱) 클라이언트 서버 내 컴퓨터 클라이언트 서버 내 컴퓨터 클라이언트 서버 인터넷
그림 1. 호스트 안에 클라이언트가 서버 수만큼 있고, 각 클라이언트는 서버 하나와 1:1로 연결된다

같은 그림에서 서버 카드 셋에는 이름표가 하나씩 붙어 있다. 위의 둘에는 ‘내 컴퓨터’라고 적혀 있고, 맨 아래 하나에는 ‘인터넷’이라고 적혀 있다. 서버가 내 컴퓨터 안에서 돌 수도 있고 인터넷 너머에 있을 수도 있다는 뜻이다.

여기서 말하는 서버는 웹 서버와 다르다. 웹 서버는 대개 인터넷 저편의 어느 기계를 가리키지만, MCP 서버는 내 컴퓨터 안에서 프로그램 하나로 돌 수도 있다. 어디서 도는지와 무관하게, 자료와 도구를 내주는 쪽이면 서버다.

서버가 내주는 것

그러면 서버는 무엇을 내주는가. 개념 문서는 세 가지를 드는데, 그중 가장 먼저 익힐 것이 툴(tool)이다. 툴은 AI 가 실행하는 함수여서, 파일을 다루고 API 를 부르고 데이터베이스를 조회하는 일이 여기 든다. AI 가 자료를 읽는 데서 그치지 않고 무언가를 하게 되는 지점이 여기다.

나머지 둘은 툴의 형제다. 리소스는 읽어 가라고 내주는 자료여서, 파일 내용이나 데이터베이스 레코드가 여기 든다. 프롬프트는 같은 요청을 되풀이해 쓰도록 만들어 둔 틀이다. 둘은 이 편에서 이름만 짚고 넘어간다.

서버가 내주는 것 MCP 서버 내주는 것 세 가지 AI 가 실행하는 함수 리소스 읽을 자료 프롬프트 재사용 템플릿
그림 2. MCP 서버 하나가 세 가지를 동시에 내줄 수 있다

그림 2는 이 셋을 한 상자에서 갈라 나온 가지로 그린다. 가지는 셋으로 갈라지되 다시 합쳐지지 않는다. 서버 하나가 셋 중 하나만 고르는 것이 아니라 셋을 함께 내줄 수 있다는 뜻이다.

한 번 오갈 때 무슨 말이 오가나

이제 실제로 한 번 오가는 장면을 본다. 아래 도식은 위에서 이름 붙인 셋을 가로 레인으로 놓고, 요청과 응답이 그 레인을 어떤 순서로 지나가는지 보여 준다. 분기는 없다 — 왼쪽에서 오른쪽으로 한 줄기다. 그림 3의 네 단계를 공식 개념 문서의 예제가 적은 순서대로 풀면 이렇다.

한 번 오갈 때 호스트(AI 앱) 클라이언트 서버 1 무엇을 지원하나? 선택 — server/discover 2 어떤 툴이 있나? tools/list 3 이 툴 실행해 줘 tools/call → 서버가 처리 4 결과를 대화에 AI 가 이어서 답한다
그림 3. ① 무엇을 지원하나 묻기 → ② 툴 목록 묻기 → ③ 툴 실행 → ④ 결과 전달
  1. 무엇을 지원하나 묻는다(선택). 클라이언트가 서버에 무엇을 내줄 수 있는지 먼저 확인한다. 이 단계는 건너뛸 수 있다.
  2. 어떤 툴이 있나 목록을 받는다. 클라이언트가 툴 목록을 요청하면, 서버는 툴 이름과 각 툴이 무슨 일을 하는지를 돌려준다. AI 는 이 목록을 보고 고른다.
  3. 이 툴을 실행해 달라고 부른다. 고른 툴의 이름과 필요한 값을 담아 호출하면, 서버가 실제 작업을 처리한다.
  4. 결과가 대화로 돌아온다. 서버가 낸 결과를 클라이언트가 받아 호스트에 넘기고, 호스트는 그것을 대화 안에 놓는다.

순서를 다시 보면 AI 가 무엇을 아는지가 드러난다. AI 는 서버가 건넨 툴 목록을 읽고, 그중 하나를 골라 부르고, 돌아온 결과를 받는다. 경계는 반대쪽에도 있다. 스펙 문서가 적은 설계 원칙에 따르면 서버는 대화 전체를 보지 못하고 다른 서버 안도 들여다보지 못한다.

이제 이 말은 안다

  • MCP 는 AI 앱을 파일·데이터베이스·검색 같은 외부 시스템에 연결하는 공개 표준이다.
  • 등장인물은 셋이다. 호스트가 AI 앱이고, 그 안의 클라이언트가 서버 하나씩과 짝을 이루며, 서버가 자료와 도구를 내준다.
  • 한 번 오갈 때는 네 단계를 밟는다. 무엇을 지원하나 묻고, 툴 목록을 받고, 툴을 부르고, 결과가 대화로 돌아온다.
용어 한 줄 뜻 그림 어디에
MCP AI 앱을 외부 시스템에 연결하는 공개 표준 히어로 오른쪽 패널, 하나로 정리된 연결
호스트 사용자가 쓰는 AI 앱. 서버마다 클라이언트를 하나씩 만든다 이름표 그림의 큰 상자
클라이언트 호스트 안에서 서버 하나와 연결을 잡고 있는 부품 이름표 그림의 큰 상자 안 작은 상자
서버(MCP 서버) 자료와 도구를 내주는 프로그램. 내 컴퓨터에도 인터넷 너머에도 있을 수 있다 이름표 그림의 바깥 상자 셋
AI 가 실행하는 함수(파일 조작·API 호출·DB 조회) 가지 도식의 첫 번째 가지

더 읽기