MCP(Model Context Protocol) 뜯어보기: AI 에이전트에게 팔다리를 달아주는 법
AI
마지막 업데이트

MCP(Model Context Protocol) 뜯어보기: AI 에이전트에게 팔다리를 달아주는 법


AI 에이전트나 코딩 어시스턴트를 다루다 보면 요즘 가장 뜨겁게 등장하는 키워드가 바로 **MCP (Model Context Protocol)**입니다.

처음 접하면 또 하나의 복잡한 기술 용어처럼 느껴지지만, 핵심 질문은 아주 단순합니다.

“똑똑하지만 바깥세상과 단절된 AI 모델을, 어떻게 사내 데이터베이스, GitHub 저장소, 로컬 파일 시스템과 안전하고 일관된 방식으로 연결할 수 있을까?”

Anthropic이 주도하고 오픈소스로 공개된 MCP는 바로 이 연결 문제를 해결하기 위한 ‘USB 표준 규약’ 같은 기술입니다. 이번 글에서는 MCP가 왜 탄생했고, 내부 구조가 어떻게 돌아가며, 기존 RAG나 단순 API 호출과는 무엇이 다른지 개발자의 시선에서 알기 쉽게 풀어보겠습니다.


1. MCP가 왜 필요했을까? (N x M 연동 지옥 탈출)

MCP가 등장하기 전, AI 툴에 사내 도구들을 붙이려면 끝없는 개별 연동 지옥을 거쳐야 했습니다.

[MCP 이전: N x M 파편화]
Cursor   ──> (자체 구현) ──> GitHub API
Claude   ──> (자체 구현) ──> PostgreSQL DB
LangChain──> (자체 구현) ──> Jira / Slack

[MCP 도입 후: 1 x N 표준 규약]
모든 AI 클라이언트 ──> [표준 MCP 프로토콜] ──> 각 MCP Server (GitHub, DB, Slack)

Claude 데스크톱 앱에서 쓰던 데이터베이스 조회 도구를 Cursor나 다른 에이전트에서도 똑같이 쓰고 싶은데, 규격이 제각각이라 매번 코드를 새로 짜야 했던 것이죠.

MCP는 이 문제를 **“클라이언트는 표준 프로토콜로 요청만 날리고, 데이터와 기능을 쥔 서버(MCP Server)만 규격에 맞춰 한 번 만들어두자”**는 방식으로 단숨에 정리했습니다.


2. MCP의 3대 핵심 구조: Host, Client, Server

MCP 생태계는 명확한 역할 분담을 가진 세 컴포넌트로 돌아갑니다.

  1. MCP Host (호스트): 사용자가 직접 상호작용하는 최상위 애플리케이션입니다. (예: Claude Desktop, Cursor, 자체 개발한 웹 UI)
  2. MCP Client (클라이언트): 호스트 내부에서 특정 MCP 서버와의 통신 세션을 1:1로 맺어주는 커넥터입니다.
  3. MCP Server (서버): 로컬의 파일 시스템, 데이터베이스, 노션 API 등 실제 외부 자원과 맞닿아 있는 경량 프로세스입니다. 표준 입력/출력(stdio)이나 SSE(Server-Sent Events)를 통해 클라이언트와 통신합니다.

3. MCP의 3가지 핵심 기능: Tools, Resources, Prompts

MCP 서버가 클라이언트(AI 모델)에게 제공할 수 있는 무기는 3가지입니다.

1) Tools (도구 - 실행 가능한 행동)

  • 모델이 필요할 때 호출할 수 있는 동적 함수입니다. (예: create_github_issue, run_sql_query)
  • 부수 효과(Side Effect)를 일으킬 수 있으므로, 모델이 멋대로 실행하지 않도록 호스트 화면에서 사용자의 승인을 거칠 수 있습니다.

2) Resources (자원 - 읽기 전용 데이터)

  • 모델에게 배경 지식으로 쥐여줄 수 있는 정적/읽기 전용 컨텍스트입니다. (예: 사내 위키 문서, 로그 파일 내용, DB 스키마)
  • 모델이 파일 경로(file:///...)나 URI(postgres://...)를 통해 파일 내용을 그대로 읽어 들일 수 있습니다.

3) Prompts (프롬프트 템플릿)

  • 특정 워크플로우를 위해 서버가 미리 깎아둔 재사용 가능한 프롬프트 세트입니다. (예: “버그 리포트 분석 프롬프트”, “코드 리뷰 체크리스트”)

4. MCP vs RAG vs 단순 API 호출: 어떻게 다를까?

  • 단순 REST API 호출: 앱 개발자가 백엔드 코드에 하드코딩해서 붙이는 방식입니다. 모델이 상황에 따라 유연하게 도구를 고르는 지능적인 위임이 불가능합니다.
  • RAG (검색 증강 생성): 방대한 문서 뭉치 속에서 질문과 유사한 단락을 찾아 읽어주는 데 특화되어 있습니다. 하지만 DB에 새 레코드를 쓰거나 이슈를 생성하는 ‘행동’은 못 합니다.
  • MCP: RAG처럼 읽기 전용 문서(Resources)도 줄 수 있고, 행동(Tools)도 시킬 수 있으며, 이 모든 것이 표준 프로토콜로 추상화되어 여러 AI 툴에서 재사용할 수 있습니다.

5. 실무 도입 한 줄 팁

사내에 독자적인 AI 에이전트를 만들 계획이라면, 기능을 백엔드 코드 안에 깊숙이 묻어두지 마세요.

가장 자주 쓰이는 핵심 기능(DB 조회, 슬랙 발송, 배포 상태 확인)을 간단한 Node.js나 Python 기반의 독립 MCP 서버로 분리해 두면, Claude Desktop에서도 써먹고, Cursor에서도 쓰고, 사내 에이전트에서도 그대로 꽂아서 쓸 수 있는 엄청난 확장성을 누릴 수 있습니다.

먼저 읽어볼 가이드

검색 유입이 많은 핵심 글부터 이어서 보세요.