
도구 출력이 32 KiB 이상이고 비어 있지 않은 JSON 객체 배열을 포함하면 결과를 별도 테이블로 만들 수 있다. 에이전트는 간단한 설명을 받은 뒤 필요한 데이터만 조회한다.
이 기능은 MCP(Model Context Protocol) 도구의 큰 결과를 대화 맥락에 통째로 넣지 않고 SQL로 조회하게 한다. 결과를 다뤄야 하는 에이전트 시스템에서 쓸 수 있다.
기능은 도구 출력을 표 형태의 데이터로 바꿔 조회할 수 있게 한다. 큰 결과를 별도 보관함에 넣고 필요한 항목만 꺼내 보는 방식에 빗대면 이해하기 쉽다. 실제로는 JSON 객체 배열을 테이블로 만들고, 에이전트가 SQL 질의를 실행한다.
처리 대상은 직렬화된 도구 출력 중 32 KiB 이상이며, 다음 세 형식 가운데 하나여야 한다: 일반 JSON 배열, JSON 배열을 담은 MCP 텍스트 블록, structuredContent 배열. 오류, 바이너리나 혼합 블록, 32 KiB 미만의 결과는 그대로 전달한다.
열의 유형은 BOOLEAN, BIGINT, DOUBLE, VARCHAR 중에서 추론한다. 중첩 객체와 배열, 유형이 섞인 값은 JSON 텍스트로 저장하며, 값이 없는 곳은 SQL NULL이 된다. 예를 들어 상태별 항목 수를 세는 질의는 다음과 같다.
SELECT state, COUNT(*) AS n
FROM spill_list_issues_a81f32
GROUP BY state
ORDER BY n DESC;
질의는 SELECT, WITH, SHOW, DESCRIBE, EXPLAIN만 허용한다. SQL 토크나이저가 데이터 변경, 여러 문장, 질의 중간의 세미콜론을 거부한다. DuckDB도 읽기 전용으로 열리며 외부 접근과 확장 기능 로딩이 비활성화된다.
출력은 최대 500행, 32 KiB로 제한된다. 실행 중 네트워크 호출은 없으며 데몬이나 백그라운드 서비스도 필요하지 않다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요