[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 에이전트 시스템으로 진화 가능