DISCOVER
MCP란 무엇인가 — AI와 도구를 연결하는 표준 프로토콜
MCP(Model Context Protocol)는 AI 모델이 외부 도구와 데이터에 접근하는 방식을 표준화한 개방형 프로토콜이다. 이 글에서는 MCP가 어떤 문제를 해결하는지, 기본 구조는 어떻게 생겼는지, 왜 지금 주목해야 하는지를 정리한다.
AI 모델이 아무리 똑똑해도, 모델 혼자서는 파일을 읽거나 데이터베이스를 조회하거나 사내 시스템에 접근할 수 없다. 그동안 이 연결은 서비스마다 제각각의 플러그인과 커스텀 통합으로 해결해 왔다.
MCP(Model Context Protocol)는 이 문제를 표준화로 푼다. AI 애플리케이션(클라이언트)과 도구·데이터 제공자(서버)가 하나의 공통 프로토콜로 대화하도록 만들어, 한 번 만든 통합을 어디서든 재사용할 수 있게 한다.
흔히 "AI 세계의 USB-C"라고 비유된다. 기기마다 다른 케이블을 쓰던 시대에서, 하나의 포트로 모든 기기를 연결하는 시대로 넘어가는 것과 같은 변화다.
MCP의 기본 구조
MCP는 클라이언트-서버 구조를 가진다. AI 애플리케이션이 MCP 클라이언트 역할을 하고, 도구와 데이터를 제공하는 쪽이 MCP 서버가 된다. 서버는 세 가지를 제공할 수 있다.
- Tool — 모델이 호출할 수 있는 기능 (예: 검색, 파일 쓰기)
- Resource — 모델이 읽을 수 있는 데이터 (예: 문서, DB 레코드)
- Prompt — 재사용 가능한 프롬프트 템플릿
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
const server = new McpServer({ name: "weather", version: "1.0.0" });
server.tool("get-forecast", { city: z.string() }, async ({ city }) => {
const forecast = await fetchForecast(city);
return { content: [{ type: "text", text: forecast }] };
});위 예시처럼 서버는 도구의 이름, 입력 스키마, 실행 로직만 정의하면 된다. 어떤 모델이 이 도구를 쓰게 될지는 서버가 알 필요가 없다. 이 느슨한 결합이 MCP의 핵심 설계다.
기존 방식과의 비교
| 기준 | MCP | 커스텀 플러그인 |
|---|---|---|
| 통합 비용 | N + M | N × M |
| 재사용성 | 높음 | 낮음 |
| 벤더 종속 | 없음 | 있음 |
왜 주목해야 하는가
통합을 만드는 쪽 입장에서는 한 번의 구현으로 여러 AI 클라이언트를 지원할 수 있고, 사용하는 쪽 입장에서는 생태계에 이미 존재하는 수많은 서버를 그대로 가져다 쓸 수 있다.
프로토콜이 표준이 되는 순간, 경쟁은 연결 방식이 아니라 연결 위에서 무엇을 만드느냐로 이동한다.
개발 도구, 데이터 분석, 사내 시스템 자동화까지 — AI에게 손과 발을 달아주는 표준으로서 MCP는 이미 사실상의 기본 선택지가 되어가고 있다. 새로운 AI 서비스를 설계한다면 MCP 지원 여부를 먼저 확인할 이유가 충분하다.
자주 묻는 질문
MCP는 특정 AI 모델 전용인가?
아니다. MCP는 개방형 표준으로 설계되어 특정 모델이나 벤더에 종속되지 않는다. 프로토콜을 구현한 클라이언트와 서버라면 어떤 조합으로도 연결할 수 있다.
MCP 서버를 직접 만들려면 무엇이 필요한가?
공식 SDK(TypeScript, Python 등)를 사용하면 도구(Tool), 리소스(Resource), 프롬프트(Prompt)를 정의하는 것만으로 서버를 만들 수 있다. 별도 인프라 없이 로컬 프로세스로도 동작한다.
참고 자료
- Model Context Protocol Specification — Model Context Protocol
작성자
AI와 기술을 발견하고, 이해하고, 기록합니다.