
Model Context Protocol (MCP) 쉽게 이해하기
MCP(Model Context Protocol)는 LLM 애플리케이션과 외부 데이터 소스 및 도구 간의 원활한 통합을 가능하게 하는 개방형 프로토콜입니다. 이번 포스팅에서는 요즘 가장 핫한 주제인 MCP의 주요 개념, 아키텍처, 구성 요소 및 구현 방법에 대해 다루도록 하겠습니다.
✅ 각종 팁 모음
[ 엑셀 ] 구글 스프레드시트 자주쓰는 함수 정리 (PDF 공유)
[ 엑셀 ] 구글 스프레드시트 자주쓰는 함수 정리 (PDF 공유)
구글 스프레드시트는 강력한 데이터 분석 도구로, 다양한 함수를 통해 복잡한 작업도 간단하게 처리할 수 있습니다. 이번 포스팅에서는 구글 스프레드시트에서 자주 사용하는 함수들을 소개하
it-ability.tistory.com
[ AI 툴 ] 2025년 주목해야 할 AI 일정 관리 & 스케줄링 툴 TOP 10
[ AI 툴 ] 2025년 주목해야 할 AI 일정 관리 & 스케줄링 툴 TOP 10
인공지능(AI)은 이제 에이전트 로 넘어가고 있습니다. 특히 시간 관리와 일정 조율은 생산성의 핵심 요소입니다. AI와 자동화 기능을 탑재한 다양한 도구들이 이러한 업무 부담을 덜어주며, 개
it-ability.tistory.com
[ AI 툴 ] 2025년 주목해야 할 AI 코딩 툴 TOP 10
[ AI 툴 ] 2025년 주목해야 할 AI 코딩 툴 TOP 10
인공지능(AI)은 코딩 및 개발 분야에서 점점 더 중요한 역할을 하고 있습니다. 특히, 코드 자동 완성, 디버깅, 문서화 등의 작업에서 AI 도구는 개발자들의 생산성을 획기적으로 높이고 있습니다.
it-ability.tistory.com
[ AI 툴 ] 2025년 주목할만한 AI 이미지 생성 도구 TOP 20 ( 특징,장점,단점 분석,후기 )
[ AI 툴 ] 2025년 주목할만한 AI 이미지 생성 도구 TOP 20 ( 특징,장점,단점 분석,후기 )
[ AI 툴 ] 2025년 주목할만한 AI 이미지 생성 도구 TOP 20 ( 특징,장점,단점 분석 ) 최근 인공지능 기술의 눈부신 발전과 함께, 이미지 생성 도구들이 급격히 발전하고 있습니다. 디자이너, 마케터,
it-ability.tistory.com
[ IT 프로젝트 관리 ] 프로젝트 관리 프로세스 완벽 정리! 단계별 산출물과 필수 문서
[ IT 프로젝트 관리 ] 프로젝트 관리 프로세스 완벽 정리! 단계별 산출물과 필수 문서
프로젝트 관리 프로세스 완벽 정리! 단계별 산출물과 필수 문서회사에서 프로젝트를 진행하다 보면 명확한 프로세스 없이 즉흥적으로 업무를 처리하거나, 각 단계에서 어떤 문서를 작성하고 관
it-ability.tistory.com
1. MCP(Model Context Protocol)란 무엇인가?
프로토콜 (Protocol) 의 정의
프로토콜(Protocol)이란 두 개 이상의 시스템이 서로 통신할 때 따라야 하는 규칙이나 약속을 의미합니다. 프로토콜은 컴퓨터 네트워크, 인터넷 통신, 소프트웨어 간 데이터 교환 방식을 규정하고 원활한 소통을 돕습니다.
대표적인 프로토콜의 예시 를 통해 알아보겠습니다.
- HTTP (Hypertext Transfer Protocol): 웹사이트와 브라우저 간의 데이터를 주고받을 때 사용하는 프로토콜.
- TCP/IP (Transmission Control Protocol/Internet Protocol): 인터넷상에서 데이터가 어떻게 분할되고, 목적지까지 전달될지 정하는 규칙.
- JSON-RPC (Remote Procedure Call): JSON 형식으로 데이터를 주고받으며 원격 시스템 간의 프로시저 호출을 지원하는 프로토콜.
이제 본격적으로 MCP와 그 특징에 대해 알아보겠습니다.

MCP (Model Context Protocol) 의 정의
MCP(Model Context Protocol)는 네트워크 환경에서 데이터의 흐름과 처리를 명확하게 관리하기 위해 개발된 프로토콜입니다. 특히, 애플리케이션과 모델 간 데이터 교환 과정에서 문맥(context)을 일관되게 유지하는 것이 MCP의 주된 목적입니다.
간단히 말해, MCP는 모델이 작업을 수행할 때 필요한 배경지식과 데이터를 제공하는 표준화된 규칙입니다.
공식문서에 따르면, 아래와 같이 표현하고 있습니다
AI 애플리케이션을 위한 USB-C 포트와 같은 MCP. USB-C가 다양한 주변기기 및 액세서리에 디바이스를 연결하는 표준화된 방법을 제공하는 것처럼, MCP는 다양한 데이터 소스 및 도구에 AI 모델을 연결하는 표준화된 방법을 제공합니다.

필요성
왜 MCP가 필요할까요?
현재 AI는 대부분 특정 데이터나 기능에 갇혀 있습니다. 예를 들어, AI가 웹 검색은 잘하지만, 회사 내부 문서나 특정 프로그램은 제대로 활용하지 못하는 경우가 많습니다. MCP는 이러한 '정보의 섬' 문제를 해결하고, AI가 더욱 폭넓게 활용될 수 있도록 돕는 역할을 합니다. 특히, 대규모 언어 모델(LLM)이 다양한 애플리케이션과 상호 작용하면서 발생하는 복잡성을 관리하고, LLM의 잠재력을 최대한 발휘할 수 있도록 지원합니다.
등장 배경
기존 AI 모델은 제한된 컨텍스트 정보만 가지고 작업을 수행 했습니다. 하지만 최근 생성형 AI 및 챗봇 서비스가 발전하면서, 더욱 복잡한 상황에서 정확한 응답을 제공하기 위한 컨텍스트 관리의 필요성이 급격히 증가했습니다. 이러한 배경에서 MCP가 등장한 것입니다.

2. MCP(Model Context Protocol) 구조 및 작동방식
MCP의 핵심은 호스트 애플리케이션이 여러 서버에 연결할 수 있는 클라이언트-서버 아키텍처를 따르는 것입니다

다이어그램 설명
- MCP 호스트: MCP를 통해 데이터에 액세스하려는 클로드 데스크톱, IDE 또는 AI 도구와 같은 프로그램
- MCP 클라이언트: 서버와 1:1 연결을 유지하는 프로토콜 클라이언트
- MCP 서버: 표준화된 모델 컨텍스트 프로토콜을 통해 각각 특정 기능을 노출하는 경량 프로그램
- 로컬 데이터 소스: MCP 서버가 안전하게 액세스할 수 있는 사용자 컴퓨터의 파일, 데이터베이스 및 서비스
- 원격 서비스: MCP 서버가 연결할 수 있는 인터넷을 통해 사용 가능한 외부 시스템(예: API를 통해)
MCP는 주로 세 가지 구성 요소로 이루어집니다.
- MCP 호스트: Claude Desktop, IDE 등 MCP를 통해 데이터에 접근하는 프로그램 . 호스트는 MCP 클라이언트를 통해 서버와 연결하고 AI 모델에 컨텍스트를 제공
- MCP 클라이언트: 서버와 1:1 연결을 유지하는 프로토콜 클라이언트. 호스트와 서버 사이의 중개자 역할을 하며, 통신을 처리
- MCP 서버: 표준화된 프로토콜을 통해 특정 기능을 제공하는 경량 프로그램. 리소스, 프롬프트, 도구 등의 기능을 클라이언트에 제공 이 세 구성 요소의 상호작용을 통해 AI 모델은 외부 데이터 소스와 도구에 안전하게 접근하고 활용할 수 있게 됩니다
MCP의 동작 원리

MCP는 클라이언트-서버 아키텍처를 기반으로 하며, JSON-RPC 2.0을 와이어 포맷으로 사용합니다. 기본 통신 구조는 요청(Requests), 응답(Responses), 알림(Notifications) 세 가지 유형의 메시지를 지원합니다

MCP는 일반적으로 다음과 같은 흐름을 따릅니다.
- 요청 수신: 외부 클라이언트로부터 요청을 받습니다.
- Context 생성: 요청된 데이터를 처리하기 위한 컨텍스트가 생성됩니다.
- 모델 처리: 모델은 컨텍스트를 참조하며 요청된 데이터를 처리합니다.
- 응답 반환: 처리 결과가 컨텍스트에 저장된 후 클라이언트에 반환됩니다.
// 기본 JSON-RPC 2.0 메시지 형식
interface JSONRPCMessage {
jsonrpc: "2.0";
id?: string | number; // 요청/응답 식별자
method?: string; // 메서드 이름
params?: object; // 매개변수
result?: object; // 응답 결과
error?: {
code: number;
message: string;
data?: unknown;
};
}
통신 흐름은 크게 초기화(Initialization), 일반 통신, 종료 단계로 이루어집니다
3. MCP(Model Context Protocol) 주요기능

리소스 ( Resources )
리소스는 서버에서 LLM 에 데이터와 콘텐츠를 제공하는 구성요소 입니다.
주요특징
- 고유한 URI(예: 'greeting://{name}')로 식별됩니다
- 텍스트나 바이너리(blob) 형태로 제공 가능합니다
- 읽기 전용 데이터입니다
interface Resource {
// 리소스의 고유 식별자 (URI 형식)
uri: string;
// 사용자에게 표시될 이름
name: string;
// 리소스에 대한 설명
description?: string;
// 리소스의 MIME 타입
mimeType?: string;
}
리소스는 파일 내용, 데이터베이스 레코드, 문서 등 다양한 종류의 구조화된 정보를 모델에 제공하여 모델의 지식 기반을 확장하는 역할을 합니다
프롬프트(Prompts)
프롬프트는 AI 모델이 리소스와 도구를 활용하여 일관되고 유용한 응답을 생성하도록 안내하는 재사용 가능한 템플릿입니다.
주요 특징
- 서버에 인코딩된 '모범 사례'와 같은 역할을 합니다
- 단순한 문자열부터 복잡한 구조까지 다양한 형태로 구현 가능합니다
FastMCP에서는 @mcp.prompt() 데코레이터를 사용하여 프롬프트를 정의할 수 있으며, 포맷된 문자열을 반환하는 함수로 구현 가능합니다.
server.setRequestHandler(ListPromptsRequestSchema, async () => {
return {
prompts: [{
name: "summarize_content",
description: "주어진 내용을 요약합니다",
arguments: [{
name: "style",
description: "요약 스타일 (brief/detailed)",
required: false
}]
}]
};
});
더 복잡한 구현에서는 다양한 역할(UserMessage, AssistantMessage)의 메시지 리스트를 반환할 수 있으며, 이미지나 Context 객체도 처리 가능합니다
도구(Tools)
도구는 AI 모델이 외부 시스템과 상호작용하고 실제 작업을 수행할 수 있게 하는 기능입니다.
설계 원칙
- 모델 중심 제어
- 신뢰성과 안전성을 위한 사용자 승인 기반 실행
구현 방법
- MCP 서버에서 ′∩abilities′:{′→ols′:{′listChan≥d′:true}} 형태로 선언합니다
- 각 도구는 이름, 설명, 입력 스키마로 정의합니다
- Python에서는 ∘mcp.→ol() 데코레이터를 사용합니다
예시 도구
- 간단한 계산 기능(덧셈, BMI 계산 등)
- 정보 검색(국가별 수도 정보 등)
- 웹 브라우징(navigate, screenshot, click, fill 등)
- 코드 실행, API 호출, 데이터베이스 쿼리, 파일 조작 등
샘플링(Sampling)
샘플링은 서버가 클라이언트를 통해 LLM에게 텍스트 생성을 요청할 수 있게 해주는 기능입니다.
프로세스
- 서버가 클라이언트에 sampling/createMessage 요청 전송
- 클라이언트가 이를 검토 및 수정 후 LLM에 샘플링 요청
- 생성된 결과를 검토하여 서버에 반환
요청 형식
- 메시지 배열(역할과 콘텐츠 포함)
- 모델 선호도(비용, 속도, 기능에 대한 우선순위)
- 시스템 프롬프트
- 컨텍스트 포함 매개변수
- 온도, 최대 토큰 수, 중단 시퀀스와 같은 샘플링 매개변수
전송(Transports)
전송은 클라이언트와 서버 간 통신의 기반을 제공하는 구성 요소입니다.
통신 방식
- JSON-RPC 2.0을 와이어 포맷으로 사용
표준 구현
- 표준 입출력(stdio): 로컬 통합과 명령줄 도구용
- 서버 전송 이벤트(SSE): HTTP POST 요청을 통한 서버-클라이언트 스트리밍
const server = new Server({
name: "example-server",
version: "1.0.0"
}, {
capabilities: {}
});
const transport = new StdioServerTransport();
await server.connect(transport);
Transport 인터페이스를 구현하여 사용자 정의 전송 생성도 가능하며, 다양한 오류 처리 메커니즘(연결 오류, 메시지 파싱 오류, 프로토콜 오류, 네트워크 타임아웃)을 포함하고 있습니다.
4. MCP(Model Context Protocol) 활용 예시

AI 일정 관리
여러 일정 서비스(Google Calendar, Outlook 등)를 각각 연동하지 않아도, MCP 서버가 통합 캘린더 인터페이스를 제공하여 AI 비서가 “내일 일정 알려줘” 같은 요청에 외부 캘린더 데이터를 바로 찾아 일정 관리에 활용합니다.

지능형 코드 편집기
IDE에서 파일 관리, 버전관리(Git), 코드 자동완성 등을 각각 API 연동 없이, 하나의 MCP 프로토콜로 묶어 AI 코딩 비서가 모든 개발 도구 기능을 활용합니다. 예를 들어 AI가 GitHub에서 최신 코드를 불러오거나 파일을 수정하는 작업을 MCP를 통해 수행하게 할 수 있습니다.

데이터 분석
여러 종류의 데이터베이스나 데이터 소스를 AI가 실시간으로 결합 분석합니다. 개별 DB API를 몰라도 MCP 서버가 각 DB에 대한 쿼리 기능을 제공하여, AI가 필요한 정보를 수집/분석하고 결과를 시각화까지 할 수 있습니다.
요약하면, MCP(Model Context Protocol) 는 AI 모델의 능력을 외부 세계로 확장하기 위한 표준 통로이며,
이번 포스팅에서 설명드린 핵심 개념은 AI 에이전트가 필요에 따라 적절한 툴을 선택해 문제를 푼다는 것입니다.
이를 구현하려면, 제공할 기능을 정의하고 해당 기능을 수행하는 MCP 서버를 코딩한 뒤, Cursor와 같은 호스트 환경에 연결 설정을 하면 됩니다.
MCP를 도입함으로써 우리는 AI 개발 생산성을 크게 향상시킬 수 있으며 AI를 보다 능동적이고 똑똑하게 활용할 수 있는 기반을 마련하게 될 것 입니다.
다음 포스팅에선 실제 MCP 를 구현해 어떻게 쓰면 좋은지 알아보도록 하겠습니다.
