MCP 서버 개발하면서 문제가 생겼습니다.
1번의 방식은 ToolCallback을 하는 과정에서 모두 Required 되게 통신이 이뤄져서 그런 것 같다. 물론 실제로 맞는지 찍어봐야 알겠지만 당장 급한 것은 아니기에 먼저 급한 불 부터 끄려고 합니다.
2번은 서비스 품질과 직접적으로 연관이 되기에 매우 급한 사안입니다.
이게 정상적인 통신이 이뤄졌을 경우이며, 모든 법령이 법령명 오름차순으로 정렬되어 반환됩니다. (물론 아직 json
을 매핑 하지 않고 String
으로 바로 넘겨줘서 더럽습니다.)
여기서 알 수 있는 점은 법령api 쪽 서버는 User-Agent header에 관계 없이 데이터를 제공해준다는 점입니다. 즉, 서버쪽 문제는 아닙니다.
다만 query로 어떠한 값을 넘겨주면 문제가 발생합니다.
이러한 통신을 거칠 경우 search값이 1, query는 자동차이므로 title에 "자동차"가 들어간 법령을 모두 반환 해줘야합니다.
Req는 정상적 입니다.
하지만 200이지만 반환을 전혀 못하고 있습니다.
query의 encode 문제인가 싶기도 하고, 아직까진 잘 모르겠습니다.
디버깅을 계속해서 해봐야 할 것 같습니다.
해결되면 이후 수정하겠습니다.
api 서버측에서 인코딩된 문자를 그대로 query로 붙혀넣어 생긴 문제였습니다.
인코딩하는 로직을 제외하고 평문으로 처리하니 데이터가 정상적으로 탐색되었습니다.