DEVELOPMENT NOTE / Ask Wiki
MCP로 검색 기능 개방
목표
- 웹 UI에 한정된 위키 검색을 표준 프로토콜로 재사용
- 클라이언트별 전용 연동 없이 AI 도구에서 검색·답변 호출
구조
search_wiki: LLM 생성 없이 근거 청크만 반환ask_wiki: 검색·생성·출처 반환을 포함한 전체 RAG/api/ask와 MCP가 같은AskService를 공유하는 단일 오케스트레이션 경로
문제와 해결
- 전역 ToolCallback 수집 과정에서 발생한
ChatModel순환 의존성 AskService지연 주입으로 기동 시점 빈 그래프 분리- 단위 테스트가 놓친 문제를 전체 Spring 컨텍스트 부팅으로 검출
검증 방법
- 전체 Spring 컨텍스트 부팅 테스트로 MCP 도구 등록 과정의 순환 의존성 재현 여부 확인
- Claude Code에서
search_wiki와ask_wiki를 각각 호출해 검색 전용 응답과 답변·출처 응답을 구분 - 같은 질문을
/api/ask와 MCP로 호출해 두 경로가 같은AskService결과를 반환하는지 대조
결과
- Claude Code에서 Ask Wiki MCP 도구 연결과 호출 성공
- stdio↔SSE 브리지 필요, 비대화형 승인 제약, Streamable HTTP 미지원이라는 연결 한계 확인
