본문 바로가기

OSSCA/2025

[OSSCA2025] MCP 개요

✨ 공부하며 성장하는 기록 공간입니다.
아직 부족한 점이 많고 배워야 할 것도 많지만, 그만큼 배우는 즐거움도 큽니다.
틀리거나 부족한 내용이 있다면 언제든지 편하게 지적해 주세요 😁

이 블로그는 오픈소스 프로젝트 githru-vscode-extension에 기여하면서 공부한 내용을 정리한 공간입니다.
처음보다 성장해 있는 나 자신을 기대하며 꾸준히 기록해나가겠습니다!

 

MCP 개요


최근 AI에 발전과 더불어 AI hallucination에 대한 부분이 두각되었습니다.

"Chat GPT가 오히려 더 멍청해졌다."
"사용을 하면 할 수록 별로다"

라는 의견들이 몇몇 들려오곤 했다.

AI를 잘 모르는 저에게는 꽤나 납득이 되는 결과라고 생각했습니다.

 

사람들의 질문에 대해 계속해서 답변을 하다보면 모호한 질문에 답변을 이상하게 낼 때도 있고, 잘못된 답변에 대해 짚고 가지 않아.
잘못된 학습이 될 수도 있다고 생각했습니다.(지극히 개인적인 의견입니다..)

 

MCP(Model Context Protocol)의 등장

이러한 배경 속에서 2024년 말 공개된 개방형 표준 MCP(Model Context Protocol)가 등장하였습니다.

MCP애플리케이션이 대형언어모델(LLM)에 컨텍스트 정보를 제공하는 방식을 표준화하는 개방적이고 보편적인 프로토콜입니다.

간단하게

┌──────────────┐        JSON-RPC 2.0        ┌──────────────┐
│   LLM App    │  <─── standardized ───>    │   MCP Server │
│ (Client)     │        messages             │ (Your tool)  │
└─────┬────────┘                              └─────┬────────┘
      │ tools.call()                                │ exposes tools/resources
      │ resources.read()                            │ enforces permissions
      ▼                                             ▼
  사용자 질문 ──▶ "이 PR들 요약해줘"
  답변 + 실행 ──▶ GitHub/Jira/DB/FS 등에 안전 접근

이라고 생각할 수 있습니다

 

이를 통해서 다양한 AI 모델이 다양한 데이터 소스와 도구에 표준화된 방식으로 연결할 수 있습니다.

또한 AI 애플리케이션을 더 쉽게 구축할 수 있게 만들기에 사용자에게 편리함 및 정확성을 극대화 해 줄 수 있습니다.

MCP가 필요한 이유


LLM의 한계

최근 대형언어모델(LLM, Large Language Model)은 놀라운 수준의 자연어 이해·생성 능력을 보여주고 있지만,
“기본적으로 닫힌 지식 시스템” 이라는 한계를 가지고 있습니다.

  • 지식의 한계와 업데이트 문제
    • 대형 언어 모델(LLM)을 훈련하는 데에는 엄청난 컴퓨팅 자원과 시간이 필요하므로 해당 훈련된 데이터만 알고 있음.
    • 따라서 모델 지식은 항상 구식이고, 비용이 많이 드는 작업
  • 전문 도메인 지식 부족
    • LLM은 공개적인 데이터만 사용 가능
    • 특정 비즈니스 로직에 대해 이해를 할 수 없음.
  • 외부 데이터에 액세스할 통일된 표준이 없음
    • LLM에 추가 정보를 제공하는 방법은 다양함(RAG(검색기반생성), 인터넷 검색 등)
    • 모든 것은 표준화가 없기에 사용 정의 개발이 필수.

핵심 목적

이러한 이유들로, ANTHROPIC에서는 24년 말 Model Context Protocol을 개발을 하였습니다.🎉

  1. 컨텍스트 공유 표준화
    1. LLM 애플리케이션과 데이터 소스 간의 인터페이스를 JSON-RPC 기반으로 통일
    2. “어떤 데이터가 어떤 의미로 전달되는가”를 구조화된 컨텍스트로 정의
    3. 다양한 서버(파일, DB, SaaS 등) 간에도 일관된 접근 방식 보장
  2. 도구와 기능 노출
    1. MCP 서버는 특정 작업(예: “이슈 생성”, “PR 요약”)을 도구(tool) 로 정의
    2. 각 도구는 입력 스키마, 출력 형식, 실행 권한을 명확히 기술
    3. LLM은 “사용 가능한 도구 목록”을 질의하고, 사용자의 동의 하에 호출 가능
  3. 통합 워크플로우 구축
    1. 여러 데이터 소스와 도구를 조합한 워크플로우 생성
    2. 재사용 가능한 프롬프트 템플릿 제공
    3. 모듈식 구성을 통한 유연한 확장

MCP를 통한 통합된 워크플로우

주요 특징


MCP(Model Context Protocol)는 단순한 API 포맷이 아니라,
AI와 외부 시스템이 안전하게 협력할 수 있도록 설계된 통신 표준입니다.

  • JSON-RPC 기반 통신
    • 표준 JSON-RPC 2.0 메시지 포맷 사용
      • JSON(JavaScript Object Notation)을 데이터 형식으로 사용하는 상태가 없는 경량 원격 프로시저 호출(Remote Procedure Call) 프로토콜
      • AI 애플리케이션과 MCP 서버 간의 양방향 통신을 단순하고 일관된 방식으로 수행
    • 상태기반 연결관리
    • 서버와 클라이언트 간 능력 협상
// LLM → MCP Server
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools.call",
  "params": {
    "name": "summarizePRs",
    "arguments": { "repo": "githru/core", "limit": 10 }
  }
}

// MCP Server → LLM
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "summary": "10개의 PR이 병합되었으며 주요 변경사항은 UI 개선입니다."
  }
}
  • 보안 중심 설계
    • 사용자 동의와 제어를 최우선으로 고려
    • 데이터 프라이버시 보호
    • 도구 사용에 대한 명시적 승인 필요
    • MCP 서버는 명시적으로 정의된 기능만 노출.
  • 유연한 확장성
    • 다양한 리소스 타입 지원(image/ json 등..)
    • 커스텀 도구프롬프트 정의 가능

MCP 통신 흐름도

마무리


이제까지 MCP의 등장 배경, 간단하게 어떻게 동작하는 지를 살펴보았습니다.

지금까지 살펴본 JSON-RPC 기반 통신 구조와 보안, 확장성 설계를 통해 MCP 서버는 AI 시대에 진화할 수 있는 기반을 마련했습니다.

 

다음은 MCP의 아키텍처와 구성요소에 대해 살펴보겠습니다.

'OSSCA > 2025' 카테고리의 다른 글

[OSSCA2025] MCP Server  (0) 2025.10.26
[OSSCA2025] 2025 OSSCA 발대식 후기  (0) 2025.07.14