MCP 추가 입력 검수, 사용자 응답 뒤 같은 요청을 이어가는 법
MCP 도구가 추가 입력을 요구하면 원래 호출과 응답을 묶어 재호출합니다. 질문 키와 상태 값, 권한 회수, 최종 도구 오류를 구별하는 가상 인수표로 검수 기준을 정리합니다.
이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스
2026-11-05 기준, MCP 추가 입력은 원래 호출에 연결해 다시 보냅니다. 그사이 조회 권한이 바뀌었으면 현재 권한으로 판단합니다.
재고 조회 도구가 조회 기준일을 묻는 상황을 가정하겠습니다. 사용자가 답을 고르는 동안 다른 품목의 조회도 시작할 수 있습니다. 인수 시험에서는 입력 창이 열리는지 확인한 뒤, 각 답이 해당 품목의 호출에만 붙고 허용된 범위의 결과만 나오는지 봅니다.
추가 입력 응답을 받으면 무슨 상태인가요?#
도구가 input_required를 반환하면 요청을 끝내기 위한 입력이 더 필요합니다. 서버가 보낸 질문의 키에 맞춰 답을 모으고, 원래 도구와 인자를 사용해 다시 호출합니다. 서버가 requestState를 함께 보냈다면 받은 값을 그대로 돌려보냅니다. 재호출의 JSON-RPC id는 처음과 다릅니다. MCP 2026-07-28 다중 왕복 요청
가상 재고 조회에서는 품목 범위를 원래 인자에 두고, 추가로 고른 기준일을 해당 질문 키의 inputResponses에 담습니다. 사용자가 다른 품목을 보고 싶다면 새 조회를 시작합니다. 이 설계에서는 먼저 받은 응답을 새 조회에 옮겨 쓰지 않습니다.
인수표에는 어떤 입력을 넣나요?#
가상 재고 조회에 아래 입력을 차례로 넣고, 화면 상태와 서버 결과를 함께 확인합니다. 특히 여러 호출이 동시에 입력을 기다릴 때 어느 호출이 응답을 받는지 기록합니다.
| 가상 입력 | 비교할 근거 | 기대 처리 |
|---|---|---|
| 원래 호출에 맞는 기준일 입력 | 같은 도구·인자, 질문 키, 새로운 RPC id | 재호출 후 최종 결과 판정 |
| 필수 응답이 누락됨 | 질문 키와 응답 내용 | 필요한 입력을 다시 요청 |
| 다른 품목의 상태 값을 섞음 | 상태 값과 원래 호출의 결합 | 재호출 거부, 결과 노출 차단 |
| 입력을 고르는 사이 권한 회수 | 현재 사용자 권한과 조회 범위 | 권한 밖 데이터 반환 차단 |
| 최종 도구 결과의 isError가 true | 결과 유형과 오류 표기 | 실패 표시, 업무 결과 미확정 |
가상 상태 모델에서는 다른 품목의 상태 값을 보냈을 때 조회 거부, 필요한 답이 없을 때 입력 대기를 확인했습니다. 필요한 입력이 빠졌다면 MCP 문서는 누락된 입력을 다시 요청하도록 권고합니다. 운영 화면에서 기다리는 상태와 실패 상태가 뒤섞이지 않는지 확인합니다. MCP 다중 왕복 요청의 오류 처리
상태 값을 그대로 받으면 그대로 믿어도 되나요?#
클라이언트는 상태 값을 해석하지 않고 받은 그대로 보냅니다. 서버는 이 값을 외부 입력으로 취급합니다. 상태 값이 권한이나 업무 판단에 영향을 준다면 무결성을 검증하고, 사용자·원래 요청·유효 기간이 맞는지 확인합니다. 응답 내용도 스키마와 업무 규칙에 맞는지 검증합니다. MCP 서버 요구사항
검증된 상태 값은 원래 요청과의 연결을 확인하는 근거입니다. 같은 요청을 한 번만 반영해야 하는 업무라면 중복 재호출을 막는 서버 규칙도 필요합니다. 새 JSON-RPC id만으로 업무 중복을 판정하면, 응답을 받지 못한 클라이언트가 다시 보낸 요청을 별도 업무로 처리할 수 있습니다. 원장 변경까지 이어지는 도구는 온톨로지 ERP 변경 검증에서 별도로 다룹니다.
화면을 언제 완료로 바꾸나요?#
추가 입력을 제출한 뒤 도구의 최종 결과를 확인합니다. complete 유형의 결과도 isError가 true일 수 있습니다. 정해진 조회 범위의 결과가 돌아왔는지 확인한 뒤 완료를 표시하고, 도구 오류나 통신 끊김은 별도 상태로 남깁니다. MCP 도구 오류 처리
서버가 후속 질문을 반환하면 같은 절차로 새 질문과 응답을 맞춥니다. 질문을 취소하거나 도구 실행을 중단하는 흐름은 MCP 작업 취소 검수를, 조회 결과에 링크만 돌아온 경우는 MCP 리소스 링크 읽기 검수를 참고하세요.
MCP 추가 입력 검수 FAQ#
질문 응답을 보내면 도구가 실행됐다고 봐도 되나요?
추가 입력을 제출한 상태입니다. 최종 결과와 오류 표기, 반환된 업무 범위를 확인한 뒤 완료 여부를 결정합니다.
requestState가 오지 않으면 어떻게 하나요?
서버가 상태 값을 보내지 않았다면 재호출에도 넣지 않습니다. 입력 요청이 있다면 해당 요청의 응답 키를 맞춰 보냅니다.
처음과 재호출의 JSON-RPC id를 같게 써도 되나요?
MCP 2026-07-28에서는 서로 다른 id를 사용합니다. 업무 추적에 쓸 식별자는 요청 로그나 업무 규칙에서 별도로 관리합니다.
같은 입력을 보냈는데 권한이 바뀌면 어떻게 하나요?
현재 권한으로 원래 범위를 확인합니다. 회수된 권한이 필요한 결과는 반환하지 않고, 접근할 수 없는 상태를 화면에 표시합니다.
같은 질문이 두 화면에서 동시에 보이면 어떻게 하나요?
화면의 문구보다 원래 호출과 질문 키를 기준으로 응답을 연결합니다. 가상 표본에서는 두 화면의 답을 바꿔 보내도 서로 다른 호출에 섞이지 않는지 확인합니다.
입력 재개 인수 기준 협의#
알파카랩스의 온톨로지 구축 서비스는 권한 있는 AI·MCP 조회와 대표 표본의 검수 범위를 협의합니다. 비식별 요청과 예상 응답을 준비하면, 입력 대기에서 재호출과 결과 확인까지 대조할 인수표 초안을 함께 정할 수 있습니다.