본문 바로가기
AI 트렌드

AI 에이전트와 도구간의 표준인 MCP (Model Context Protocol) 소개

by 앨런튜링1 2025. 4. 6.
반응형

안녕하세요.

오늘은 Anthropic이 개발한 혁신적인 AI 통합 표준 프로토콜인 MCP(Model Context Protocol)에 대해서 소개드립니다. 이 글은 개발자뿐 아니라 AI 초보자들도 쉽게 이해할 수 있도록 구성하였으며, 실제 MCP를 어떻게 활용할 수 있는지에 대해서도 자세히 설명드릴 예정입니다.

 


MCP 가 갑자기 왜 등장했는가?

현재 AI 분야에서 가장 중요한 키워드는 에이전트입니다. 에이전트란 인공지능이 일아서 사용자의 명령을 생각하여 계획하고 실제 수행까지 알아서 처리하는 것을 의미합니다. 에이전트에게 아래와 같이 명령을 한다고 예를 들어 보겠습니다. 

 

 

구글 캘린더 일정 확인해서 내일 회의 참석자들에게 회의 내용 요약해서 라마인드 메일 보내줘

 

 

그러면 기존 개발 방식으로는 구글 캘린더를 확인하는 API, 구글 메일을 확인하는 API, ChatGP를 통해 내용을 요약하는 API, 구글 메일을 보내는 API 등을 모두 따로따로 룰 기반으로 개발을 해야 했습니다. 이 경우 룰이 바뀌어 버리거나 각 SaaS 마다의 인증방식, API가 변경되는 경우 등 다양한 원인으로 잘 동작하지 않는 경우가 빈번하게 발생합니다.

 

하지만 에이전트가  위 명령을 수행하기 위해서 API가 변경이 되더라도 필요한 툴들을 자동으로 찾고 수행하면 얼마나 좋을까요. HTML이 웹을 표준화하듯이, USB 통신 방식도 표준이 있듯이 모든 SaaS 도구가 AI 에이전트와 표준화된 방식으로 통신을 하기 위한 AI 에이전트를 위한 표준이 필요합니다. 이것을 가능하기 위해 표준화 한것이 바로 MCP (Model Context Protocol) 입니다. 

 

 

MCP 개요

📈 AI 시스템 통합의 진화

AI 기술은 지속적으로 발전하면서, 다양한 시스템과의 통합 수요도 급증하고 있습니다. 그러나 기존 방식은 각각의 데이터 소스에 맞춰 복잡한 맞춤형 코드를 작성해야 했고, 이는 개발자에게 큰 부담이 되었습니다.

🧩 MCP란 무엇이며, 중요한 이유

MCP(Model Context Protocol)는 이러한 문제를 해결하기 위해 만들어진 개방형 표준입니다. 마치 USB-C처럼, 다양한 도구와 데이터를 손쉽게 연결할 수 있도록 돕는 "범용 어댑터" 역할을 합니다.

 

 

MCP는 다음과 같은 특징을 가집니다. 

  • 단일 통합 방식: 하나의 MCP로 여러 도구 및 서비스와 연결 가능
  • 실시간 양방향 통신 지원: 웹소켓(WebSocket)과 유사한 방식으로 AI 모델과 데이터 소스 간 실시간 데이터 교환 가능
  • 동적 발견 기능: AI 모델이 하드코딩 없이도 새로운 도구를 자동으로 인식하고 상호작용 가능

🤝 MCP는 중간 번역자 역할

MCP는 아래 그림과 같이 AI가 외부 도구를 쉽게 활용하고 호출할 수 있도록 중간에서 번역하는 표준 프로토콜입니다.

MCP를 통해서 AI는 다음을 이해할 수 있습니다.

 - 어떤 도구를 사용할 수 있는지
 - 도구가 어떠한 기능을 제공하는지
 - 어떻게 안전하게 사용할 수 있는지

 


MCP vs API: 무엇이 다른가?

전통적인 API는 특정 도구나 서비스와 연결할 때마다 별도의 코드 작성, 인증, 오류 처리 등을 필요로 합니다. 반면 MCP는 이러한 복잡성을 줄이고 더 유연한 통합을 가능하게 합니다.

기능  MCP  전통적 API
통합 노력 단일 표준화된 프로토콜 사용 API마다 별도 통합 필요
실시간 커뮤니케이션 ✅ 지원 ❌ 미지원
동적 발견 ✅ 가능 ❌ 불가능
확장성 ✅ 뛰어남 ❌ 추가 통합 필요
보안 및 제어 ✅ 일관된 정책 적용 ❌ API별로 상이

 


반응형

MCP의 기술적 아키텍처

MCP는 호스트, 클라이언트, 서버 3개의 구성요소를 가지고 있습니다. 

🏗️ 클라이언트-서버 모델 설명

MCP는 클라이언트-서버 기반 구조를 채택합니다. 여기서 "호스트 프로세스"는 사용자와 상호작용하는 AI 앱이며, 각 외부 서버와 통신하는 MCP 클라이언트를 관리합니다.

🧱 호스트 프로세스, 클라이언트, 서버의 역할

- 호스트: Claude 데스크톱 앱과 같이 AI가 작동하는 환경
- 클라이언트: 각 서버에 연결되는 중간 관리자
- 서버: 데이터, 도구, 프롬프트를 제공하는 외부 프로그램

 


MCP 표준 프리미티브와 기능 단위

📂 리소스, 도구, 프롬프트

- 리소스: 읽기 가능한 데이터 (예: DB 레코드)
- 도구: 실행 가능한 함수 (예: 파일 업로드)
- 프롬프트: 특정 작업을 유도하는 템플릿

🔐 통신 프로토콜 및 메시지 유형

MCP는 JSON-RPC 기반으로 통신하며 다음과 같은 메시지를 사용합니다:
- Request: 요청 메시지
- Result: 성공 응답
- Error: 실패 응답
- Notification: 응답 없는 단방향 메시지


MCP vs OpenAI 함수 호출 비교

항목 함수 호출 MCP (Model Context Protocol)
목적 사용자 프롬프트를 구조화된 API 호출로 변환 실행 및 응답 처리를 표준화
제어 주체 LLM(언어 모델) 제공자 LLM 통합을 처리하는 외부 시스템
적용 범위 주로 API 호출 데이터 및 도구와의 더 광범위한 상호작용
표준화 공급업체별 개방형 표준, 모델 비종속
통신 방식 요청-응답 방식 대화형, 양방향
실행 위치 서버 측 클라이언트 측
도구 처리 방식 주로 API 호출로의 변환 도구 탐색, 호출, 응답 관리
유연성 LLM마다 다름 도구 간 상호 운용성 보장
확장성 여러 도구를 처리하려면 커스텀 처리가 필요할 수 있음 여러 도구의 통합을 고려해 설계됨

⚙️ 아키텍처와 범위에서의 주요 차이

OpenAI 함수 호출은 단순한 API 요청에 초점을 맞췄지만, MCP는 통합부터 실행, 응답까지 전 과정을 표준화합니다. 또한, MCP는 클라이언트 사이드에서 관리되는 구조라는 점에서 차별화됩니다.

🛠️ 개발자를 위한 장단점

- MCP는 벤더 독립성과 복잡한 워크플로우 구성에 유리합니다.
- OpenAI 방식은 단순하고 빠르게 시작할 수 있지만, 확장성과 통합성은 제한됩니다.

 

OpenAI 함수 호출방식

 


MCP가 해결하는 실제 문제들

🔍 실시간 데이터로 환각(hallucination) 감소

MCP를 통해 AI는 실제 외부 데이터에 접근함으로써 잘못된 정보를 생성하는 '환각' 문제를 줄일 수 있습니다.

🧠 신뢰성과 투명성 향상

외부 시스템과 연결되어 있는 AI는 더 신뢰할 수 있는 결과를 제공하며, 투명한 출처 기반 응답이 가능해집니다.


AI 애플리케이션 개발에 있어서 MCP의 이점

📏 확장성과 모듈성

MCP의 모듈화된 구조 덕분에 서버와 클라이언트를 독립적으로 확장할 수 있습니다.

🚀 도구 및 데이터 접근 가속화

개발자는 하나의 MCP 구현만으로 다양한 외부 리소스와 쉽게 연결할 수 있어 개발 속도가 빨라집니다.


Claude Desktop과의 실습 예제

🖥️ claude_desktop_config.json 설정

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/your_username/Desktop",
        "/Users/your_username/Downloads"
      ]
    }
  }
}

🔧 파일 시스템 및 Git 서버 설정 예시

{
  "mcpServers": {
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/path/to/your/git/repo"]
    }
  }
}

실제 사용 사례 및 구현 예

💡 코딩 보조 도구(Sourcegraph Cody, Zed Editor)

개발자가 코드 베이스와 문서를 분석하는 데 도움을 줍니다.

🏢 엔터프라이즈 AI(Block, Apollo)

내부 데이터베이스나 CRM 시스템과 안전하게 연결해, 업무 자동화를 가능케 합니다.

🗃️ 자연어 기반 데이터 질의(AI2SQL)

SQL 쿼리를 자연어로 작성할 수 있어, 데이터 분석 진입 장벽을 낮춰줍니다.

 


SDK 및 개발 도구 지원

💻 Python, TypeScript, Java, Kotlin SDK

여러 언어에서 MCP 서버/클라이언트를 구현할 수 있도록 다양한 SDK가 제공됩니다.

🌐 레퍼런스 구현 및 커뮤니티 지원

Smithery 등 커뮤니티가 공유하는 MCP 서버 예제를 통해 쉽게 시작할 수 있습니다.


MCP 기반 에이전트형 AI 워크플로우

📡 다양한 도구 및 데이터셋 오케스트레이션

여러 MCP 서버를 동시에 활용해 복잡한 작업 흐름을 구성할 수 있습니다.

🤖 능동적이고 문맥 인식 가능한 에이전트 구현

AI가 스스로 작업을 조합하고 수행하는 에이전트형 시스템 구축이 가능합니다.


MCP가 열어가는 LLM 통합의 미래

🌍 벤더 중립성과 이식성

MCP는 특정 LLM에 종속되지 않아, 다양한 모델과 유연하게 통합될 수 있습니다.

📐 AI 시스템의 표준화 및 미래 대응

MCP의 표준 구조는 앞으로 등장할 새로운 기술에도 쉽게 대응할 수 있는 유연성을 제공합니다.


결론: 개발자가 MCP를 선택해야 하는 이유

📚 기술적·전략적 이점 요약

통합 간소화, 모듈성, 보안, 생태계 확장성 등 다양한 장점이 있어 AI 개발에 최적입니다.

🌱 생태계 확장에 대한 기대

커뮤니티 중심의 도구 생태계와 Smithery와 같은 허브를 통해 MCP의 영향력은 계속 확대될 것입니다.


출처

https://medium.com/@amanatulla1606/anthropics-model-context-protocol-mcp-a-deep-dive-for-developers-1d3db39c9fdc

 

Anthropic’s Model Context Protocol (MCP): A Deep Dive for Developers

Introduction: Bridging the Gap — Understanding Anthropic’s Model Context Protocol (MCP)

medium.com

 

반응형