본문 바로가기

개발 공부

MCP (Model Context Protocol) (1)

MCP?

MCP는 한말로 모델이 사용할 context를 외부 시스템이 환경적으로 관리하고 제공하는 표준 인터페이스  (Model Context Protocol) 입니다.

  • 기존 LLM은 prompt에 모든 정보를 계속 넣어줘야 했습니다.
  • MCP는 이것을 환경적으로 분리
    • 어느 정보를 기억할지
    • 어느 정보를 주입할지
    • 어느 때 업데이트할지 를 체계적으로 관리합니다.

즉, 모델은 context에 대해 더 고민하지 않고, MCP가 context의 lifecycle을 대신 관리합니다.

 

MCP의 주요 구성요소

MCP는 아래 3가지 해습 컨포리트로 이루어집니다.

구성 요소 역할
Context Store (저장소) 장기 context를 저장하는 DB 같은 역할.
Node (삽입 노드/삽입기) 새 context를 store에 어떻게 저장할지 결정.
Retriever (검색기) 현재 모델이 필요로 하는 context를 찾아서 반환.

 


Context Store

  • 보통 벡터DB, NoSQL DB, 혹은 전용 MCP store를 사용.
  • 대화, 문서, 사용자 정보 등 장기 context가 사적.
  • 다른 DB와 다른 점
    • 메타데이터 관리
    • 타임스템프 관리
    • 중요동 관리

예시

{
  "userId": "12345",
  "timestamp": "2025-06-12T12:00:00Z",
  "topic": "여행계획",
  "content": "이번 여름에 도쿄로 여행 가려고 해."
}

 


Node (Insert Node)

  • 새 context를 store에 삽입하는 과정 담당.
  • 예를 들어, 사용자가 새로운 사실을 말했을 때:
    • "내 강아지 이름은 보리야"
  • 이 정보를 store에 어떤 포맷으로 넣을지, 어떤 weight를 줄지 결정.
  • 보통 모델이나 heuristic rule이 같이 작동.
 

Retriever (Retrieval Node)

  • 모델이 inference할 때, store에서 필요한 context를 검색
  • 일반적으로 embedding 검색 (벡터 기반 유사도 검색)을 수행
  • 때로는 rule-based filter나 metadata query도 결합

  • 유저가 "보리가 사료를 안 먹어" → Retriever는 과거 "내 강아지 이름은 보리야"를 검색해서 모델에게 제공
 

 

MCP 구조 다이어그램

사용자 입력 → Insert Node → Context Store → Retriever → LLM Prompt → 응답
  1. 사용자의 입력이 들어온다.
  2. Insert Node가 이것을 store에 저장할지 판단.
  3. Context Store에 추적.
  4. 다음 대화 때 Retriever가 store에서 관련 데이터를 검색.
  5. 검색된 context가 LLM prompt에 주입됨.
  6. 모델이 더 "기억력 좋은" 답변 생성.
 
 

예시: 대화형 AI의 콘템스트 유지

사용 시나리오: AI 비서

  • 유저: "이번 여름에 제주도 가려고 해."
  • AI: "어디에서 미리 예정하고 계시나요?"
  • 유저: "7월 초 생각 중이야."

이 대화에서 Insert Node는 다음 정보를 저장

  • 여행지: 제주도
  • 일정: 7월 초

몇 주 뒤 유저가

  • "숙소 좀 추천해줘" → Retriever가 과거 대화 검색 → Prompt에 자동 주입 →
  • 모델: "7월 초에 제주도 여행 계획하셨던 거 맞죠? 추천 드릴게요."

이처럼 MCP는 LLM의 short-term memory 한계를 보완해 장기 memory처럼 작동시켜줍니다.

 
 

MCP가 갖오는 변화

기존 방식 MCP 방식
매 prompt마다 모든 정보를 새로 주입 필요한 context만 자동 검색 후 주입
prompt 길이 제한 문제 context store로 offload
사용자가 기억 유지를 직접 관리 시스템이 자동 관리