[MCP] MCP서버 통신 문제?

Jaeseo Lee·2025년 4월 26일
0

MCP 서버 개발하면서 문제가 생겼습니다.

  1. 분명 Required 되는 Param과 그렇지 않은 것을 구분했는데 Inspector로 테스트 하는 과정에선 모두 입력해줘야 하는 것.
  2. "" 방식으로 query를 넣어주면 정상적으로 통신이 이뤄지지만 "대한민국헌법"과 같이 resultCnt가 0인 현상

1번의 방식은 ToolCallback을 하는 과정에서 모두 Required 되게 통신이 이뤄져서 그런 것 같다. 물론 실제로 맞는지 찍어봐야 알겠지만 당장 급한 것은 아니기에 먼저 급한 불 부터 끄려고 합니다.

2번은 서비스 품질과 직접적으로 연관이 되기에 매우 급한 사안입니다.

이게 정상적인 통신이 이뤄졌을 경우이며, 모든 법령이 법령명 오름차순으로 정렬되어 반환됩니다. (물론 아직 json을 매핑 하지 않고 String으로 바로 넘겨줘서 더럽습니다.)

여기서 알 수 있는 점은 법령api 쪽 서버는 User-Agent header에 관계 없이 데이터를 제공해준다는 점입니다. 즉, 서버쪽 문제는 아닙니다.

다만 query로 어떠한 값을 넘겨주면 문제가 발생합니다.

이러한 통신을 거칠 경우 search값이 1, query는 자동차이므로 title에 "자동차"가 들어간 법령을 모두 반환 해줘야합니다.

업로드중..

Req는 정상적 입니다.

업로드중..

하지만 200이지만 반환을 전혀 못하고 있습니다.
query의 encode 문제인가 싶기도 하고, 아직까진 잘 모르겠습니다.
디버깅을 계속해서 해봐야 할 것 같습니다.

해결되면 이후 수정하겠습니다.

해결완료

api 서버측에서 인코딩된 문자를 그대로 query로 붙혀넣어 생긴 문제였습니다.
인코딩하는 로직을 제외하고 평문으로 처리하니 데이터가 정상적으로 탐색되었습니다.

profile
I hope to be the fastest "Backend". Like a sprinter 🏃🏻‍♂️

0개의 댓글