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

설계 방향


1. 현재 구조

  • 사용자 요청: Python 스크립트 실행
  • 내부 처리:
    • MBTI/음식 벡터 생성
    • 벡터 유사도 기반 Chroma 검색
    • 평점/거리/유사도 조합으로 점수 산출
  • 고정된 로직: 사전에 정의된 가중치와 필터 조건 사용
  • 모든 로직이 단일 함수 내에서 순차 실행됨

2. 향후 구조 (MCP 기반 다중 Tool 분리 설계)

  • 사용자 요청 흐름 예시:

    사용자 입력 → LangChain Agent → MCP Tool 호출
       ↘                        ↘
      자연어 해석             Tool 입력(JSON) 생성
                              ↘
                            MCP 서버 (Tool 실행 후 결과 반환)
    
  • MCP에서 각 기능을 독립 Tool로 구성:

    • call_recommend_place: 최종 장소 추천 수행
    • rerun_place_search: 재검색 요청 대응
    • filter_by_review_embedding: 리뷰 기반 감성 필터
    • filter_by_menu_embedding: 메뉴 기반 음식 정보 필터

3. MCP 설계 예시

[사용자] → [LLM (LangGraph Agent)]
                    ↘
                   [MCP 서버]
                      ↘↘
       [추천 Tool]   [성향 조정 Tool]   [필터링 Tool]
  • 각 Tool은 FastAPI, Python 함수, Shell 등으로 구성 가능
  • Tool 간 표준화된 JSON 컨텍스트로 호출/반환 처리

4. Tool 컨텍스트 포맷 예시

{
  "tool": "rerun_place_search",
  "input": {
    "추천받은 장소를 다시 검색해줘."
  }
}

5. 기대 효과

항목 기대 이점
API 확장성 기능별 Tool 단위로 독립적 유지보수 가능
LLM 통합 LangGraph 기반 자연어 → Tool 호출 흐름 구성
유연성 상황에 따라 조건 필터, 재검색 등 동적 제어 가능
추론 통제 Tool 선택 로직을 통해 흐름 명시적으로 설계 가능
병렬 처리 일부 Tool은 병렬 실행으로 성능 개선 가능

6. 아직 적용하지 않은 이유 및 대안

항목 설명
현재 구조의 충분성 단일 함수/스크립트로도 기능 수행에 문제 없음
대안 설계 함수 단위 모듈화 및 사용자 피드백 루프 설계 완료
테스트 기반 확장 실제 사용량 증가 시 MCP 도입 및 Agent 연동 고려

7. 장기 확장성 및 서비스 방향

  • 사용자 수 증가 시 MCP 구조는 유연하고 확장성 높은 방향
  • LLM이 자연어 입력 → 최적 Tool 호출로 행동 흐름 생성
  • 마니또 미션 생성, 장소 추천, 성향 분석 등 다양한 기능을 Agent 기반으로 통합 가능
  • 궁극적으로는 사용자 중심 맞춤형 AI 에이전트 시스템으로 진화 가능