[AI]6단계_MCP_(모델_컨텍스트_프로토콜)_활용_설계 - 100-hours-a-week/12-marong-Wiki GitHub Wiki

설계 방향

  • 현 구조 (단일 API 기반)

    • 사용자 요청: FastAPI → 모델 호출
    • 내부 로직에서 벡터 유사도 계산 및 추천 점수 도출
    • 고정된 가중치 로직, 정해진 필터 조건에 기반함
  • 향후 구조 (MCP 적용 시)

    • 사용자 요청: LLM → MCP Tool 호출 (e.g., call_recommend_place, adjust_weight 등)
    • MCP 서버가 필요한 로직을 처리 후 결과를 다시 LLM에 전달
    • 예: 마니또와 마니띠 성향 벡터의 유사도 + 위치 기반 필터링 후 재검색 수행

1. MCP 도입 설계도 예시

[사용자] → [LLM (LangChain Agent)]
                ↘
                 [MCP 서버]
                    ↘↘
              [추천 시스템 Tool] [성향 가중치 조정 Tool]

각 Tool은 FastAPI 혹은 Python 함수 단위로 구성 가능. MCP는 이를 표준화된 컨텍스트(JSON)로 호출.

2. 연동 도구 및 목적

  • call_recommend_place: 장소 임베딩 기반 추천 실행
  • adjust_weight: 마니또/마니띠 간 성향 벡터 가중평균 결정
  • rerun_place_search: 사용자 요청에 따른 재검색 수행

3. 컨텍스트 포맷 예시

{
  "tool": "adjust_mbti_weight",
  "input": {
    "user_vector": [...],
    "target_vector": [...],
    "strategy": "bias_user"
  }
}

4. 기대 이점

  • 체계적인 외부 API 연동 가능
  • Tool 단위 확장 용이 (e.g., 음식 벡터 필터, 리뷰 벡터 분석 등)
  • LLM 에이전트가 상황에 맞는 Tool을 동적으로 호출 가능
  • 추론 흐름을 명시적으로 통제할 수 있음

5. 적용하지 않은 이유 및 대안

  • 현재는 단일 API 호출로도 충분히 동작 가능 (FastAPI → 추천 시스템)
  • 복잡도 증가로 인해 불필요한 초기 오버엔지니어링 방지
  • 대신 내부적으로 MCP 확장 가능성을 고려한 API 구조 설계 (함수 단위 모듈화 등)

6. 장기적 확장성 및 영향

  • 사용자 수 증가, 기능 세분화(마니또 대화 흐름, 취향 반영 강화) 시 MCP 구조 유리
  • 에이전트 기반으로 자연어 → Tool 호출 흐름이 자연스럽게 연결됨
  • 다양한 사용자 맥락에 맞춰 유연한 행동이 가능한 AI 에이전트 구조로 확장 가능