이미 연결된 AI 세션에는 새로 배포한 MCP 도구가 보이지 않는다 — MCP를 다시 연결한다
MCP 클라이언트는 연결할 때 도구 목록을 받아 둡니다. 서버에 도구를 더 배포해도 떠 있는 세션은 옛 목록으로 일하니, 세션을 다시 띄우거나 MCP를 새로 연결합니다.
MCP 서버에 새 도구를 더해 배포했습니다. 서버 쪽 시험도 통과했고 운영에 새 버전이 떠 있는 것도 확인했습니다. 그런데 일하던 AI 세션에게 그 도구를 쓰라고 하면 「그런 도구가 없다」고 답하거나, 비슷한 옛 도구로 돌아서 일을 합니다.
원인은 도구 목록이 연결할 때 한 번 오간다는 데 있습니다. MCP 클라이언트는 세션을 시작하면서 tools/list로 목록을 받아 모델에게 넘기고, 그 뒤에는 그 목록으로 일합니다. 서버가 바뀌어도 클라이언트가 목록을 다시 받을 이유가 없습니다. MCP 명세에는 서버가 listChanged 능력을 밝히고 notifications/tools/list_changed를 보내 목록이 바뀌었음을 알리는 길이 있지만, 서버가 재배포로 새로 뜨는 경우에는 이 알림을 보낼 기회가 없고, 받아 주지 않는 클라이언트도 있습니다.
해법은 단순합니다. 새 도구를 배포한 뒤에는 그 도구를 쓸 세션을 새로 띄우거나, 클라이언트에서 MCP를 다시 연결합니다. 여러 AI 작업자가 같은 MCP를 쓴다면 배포 알림에 「새 도구가 있으니 다시 연결」을 함께 적습니다.
새 도구 배포 확인 순서
1) 서버: 새 버전이 떠 있는지 (헬스·버전 응답)
2) 새 세션: 도구 목록에 새 이름이 있는지
3) 옛 세션: 다시 연결하기 전까지는 없는 것이 정상
「도구가 안 보인다」는 보고를 받으면 서버 코드를 고치기 전에 그 세션이 언제 연결됐는지부터 봅니다. 배포 시각보다 앞이면 서버 문제가 아닙니다.