모델 컨텍스트 프로토콜의 신비 해제 | Sam Basu


mcp ai #에이전트 #개발자 #개발도구

Model Context Protocol (MCP)의 정의와 목적

**Model Context Protocol(MCP)**은 애플리케이션이 AI 모델과 에이전트에게 컨텍스트를 제공하는 방식을 표준화하는 산업 프로토콜입니다. 개발자들이 생각하는 AI 모델/에이전트와 커스텀 엔드포인트 간의 정보 교환을 위한 공용 언어로 역할합니다. MCP는 AI를 다양한 데이터 소스, 도구 및 비공개 정보에 연결하는 표준화된 방식을 제공하여, AI 모델/에이전트에 심층적인 컨텍스트 정보/API/데이터를 공급합니다.


요약 1단계: 핵심 개념 및 필요성

AI의 근본적인 문제점

현대의 생성형 AI 모델들은 막강하지만 설계상 고착된 몇 가지 근본적인 문제를 안고 있습니다:

  • 시간 제약: 모델 학습에 사용된 지식은 종종 시간 스탬프가 찍혀 있어 최신 정보 부족
  • 확장 어려움: Retrieval Augmented Generation(RAG)과 같은 그라운딩 기법의 확장이 어려움
  • 행동 수행 불가: AI 모델은 생성 콘텐츠에는 뛰어나지만 구체적인 작업은 수행 불가
  • 패턴 매칭 시스템: 모델은 계산 능력이 있는 워크호스가 아닌 패턴 매칭 시스템
  • 컨텍스트 부족: 개인/엔터프라이즈 작업에 필요한 특정 컨텍스트 부족
  • 도구 부재 시 예측 불가: 특화된 도구 없이는 AI 응답이 예측 불가능하고 반복 불가능
  • 자동화 제약: 무작위성이 내장되어 있어 작업 자동화에 포함될 수 없음

MCP의 해결책: AI 에이전트가 사용자 대신 구체적인 작업을 수행하는 에이전틱 워크플로우로 졸업할 때, 컨텍스트가 핵심이 되며, 특화된 도구가 그라운딩을 제공하고 AI가 반복 가능한 작업을 수행하도록 돕습니다.

MCP가 필요한 이유

Anthropic이 개발한 MCP는 이제 많은 기술 회사와 AI 이해관계자들이 MCP 사양 발전에 참여하고 있어 전 지구적 표준화를 향해 나아가고 있습니다. 이는 신뢰할 수 있는 컨텍스트 도구로 AI 기능을 확장하려는 개발자들에게 좋은 소식입니다.


요약 2단계: 상세 설명

MCP 아키텍처 구조

MCP는 3가지 유형의 소프트웨어/프로그램이 활용할 수 있습니다:

1. Client(클라이언트)

  • AI 워크호스로서 MCP 서버와 1:1 통신
  • 사례: GitHub Copilot, ChatGPT, Tabnine 등

2. Host(호스트)

  • 클라이언트를 관리하고 특화된 데이터/도구 접근을 위해 MCP 활용
  • 사례: VS Code, Visual Studio, Claude Desktop, Cursor AI 및 기타 코딩 편집기/IDE

3. MCP Server(MCP 서버)

  • 호스팅되는 프로그램/엔드포인트로 표준화된 MCP 통신을 통해 특정 기능 노출

AI 에이전트의 강력한 기능

MCP 표준화의 가장 큰 이점은 MCP 서버를 통해 특화된 도구에 대한 접근을 민주화하는 것입니다. 개발자들은 다음을 가져오는 MCP 서버를 쉽게 구축할 수 있습니다:

  • 커스텀 API
  • 엔터프라이즈 데이터/서비스
  • 인증된/승인된 사용자를 위한 특정 작업 실행 기능

각 MCP 서버가 여러 도구를 보유하고 AI 모델과 에이전트에 노출될 수 있다고 상상하기 쉽습니다.

AI 에이전트의 작동 원리:

  • AI 모델을 자연어 처리(NLP) 및 소형/대형 언어 모델로 활용
  • 광범위한 자원의 일반 목적 또는 커스텀 학습 지식을 보유
  • 인간의 대화에 대응하여 작업을 수행
  • 여러 MCP 서버에 접근 가능 - 각각 고유한 컨텍스트와 특화된 도구 제공

AI 에이전트가 사용자 작업을 실행할 수 있는 풍부한 커스텀 도구를 보유하고 있을 때, 추측이나 환각(hallucination) 가능성이 낮아집니다. 도구의 전문성을 작업과 일치시키는 문제가 됩니다.

MCP를 위한 개발

통신 프로토콜:

AI 모델/에이전트가 MCP 호스트/클라이언트와 MCP 서버를 활용한 통신은 다음의 잘 정의된 프로토콜을 통해 이루어집니다:

Data Layer(데이터 계층)

  • JSON-RPC 기반 프로토콜로 클라이언트-서버 통신 정의

Transport Layer(전송 계층)

  • Stdio 또는 서버 전송 이벤트(SSE)가 있는 스트리밍 가능한 HTTP를 통한 통신 메커니즘/채널 정의

개발자 지원 및 SDK

MCP의 약속을 보는 개발자들이 MCP 클라이언트/서버를 구축하여 AI 에이전트 경험을 증강하기를 원할 때, 많은 지원이 있습니다.

사용 가능한 MCP SDK:

SDK는 개발자들이 혁신적인 MCP 서버/클라이언트 구축의 핵심에 집중할 수 있도록 추상화를 제공합니다. MCP 사양은 다음을 포함하여 잘 정의되어 있습니다:

  • 견고한 문서
  • 테스트, 로깅, 디버깅 및 보안을 포함한 확립된 개발자 경험
  • 현대식 AI에 컨텍스트를 제공하기 쉬운 구조

MCP의 현재 활용 및 확산

MCP 서버의 영향력:

MCP 서버들은 시작부터 커스텀 데이터/서비스/API를 AI 에이전트에 제공하면서 영향을 미치고 있습니다. 개발자들은 이미 사용 가능한 MCP 서버로부터 즉시 이점을 얻으면서 MCP로 구축을 시작할 수 있습니다.

VS Code에서의 실제 경험:

개발자가 VS Code에서 GitHub Copilot AI 채팅 경험을 열 때, 기본 모드는 AI 에이전트이며, Ask/Edit 모드도 있지만 에이전트는 개발자 작업 자동화의 명백한 미래입니다.

개발자는:

  1. AI 모델 선택 가능: 최신 OpenAI의 GPT 모델 또는 Claude의 Sonnet 모델 포함
  2. 자동 모델 선택: 설정하지 않으면 AI 에이전트가 작업 주어진 최고의 AI 모델 선택

MCP 도구 관리:

개발자는 GitHub Copilot AI 채팅 창 내의 작은 설정/기어 아이콘을 클릭하면 에이전트가 접근할 수 있는 모든 기본 MCP 도구를 볼 수 있습니다.

새로운 MCP 서버/도구 추가:

  • 게시된 MCP 도구를 Pip/UV/Docker/NPM을 통해 추가 가능
  • Visual Studio/VS Code에서 시작되는 MCP 서버/도구 마켓플레이스
  • 개발자가 선호하는 MCP 도구를 간단히 탐색하고 한 번 클릭으로 설치 가능

개발자를 위한 영감 및 리소스:

개발자들이 MCP로 놀라운 것을 구축하기 위한 영감:


결론

Model Context Protocol (MCP)은 AI 모델과 도구가 AI 에이전트에 제공하는 컨텍스트 방식을 표준화하는 것을 목표로 합니다. MCP의 출현은 에이전틱 워크플로우가 안전하고 깊게 컨텍스트화된 작업에 접근할 수 있도록 강화하며, 그 결과 AI 워크플로우가 더욱 예측 가능하고 모두에게 유익해집니다.

개발자들이 MCP로 놀라운 것을 구축할 수 있는 충분한 도움과 영감이 있습니다. 커스텀 데이터/서비스/API를 제공하여 AI 에이전트를 컨텍스트 측면에서 더욱 지능적으로 만들 수 있습니다.

개발자를 위한 참고사항

  • Anthropic이 개발했으나 이제 업계 표준화 진행 중
  • 보안과 인증/승인이 철저히 고려됨
  • 다양한 프로그래밍 언어 SDK 지원으로 진입장벽 낮음
  • 이미 활용 가능한 MCP 서버들이 존재하여 즉시 시작 가능
1개의 좋아요