MCP 도구가 JSON을 돌려준다 — outputSchema와 structuredContent
MCP 도구 결과가 텍스트 content 하나에 갇혀 있던 시절과, outputSchema·structuredContent가 그 결과를 스키마로 검증된 JSON으로 바꾼 방식을 TypeScript SDK 코드로 정리한다.
4개의 글
MCP 도구 결과가 텍스트 content 하나에 갇혀 있던 시절과, outputSchema·structuredContent가 그 결과를 스키마로 검증된 JSON으로 바꾼 방식을 TypeScript SDK 코드로 정리한다.
MCP 도구는 LLM이 스스로 고른다. 이때 모델이 보는 건 구현 코드가 아니라 이름·description·입력 스키마뿐이다. 설명문이 곧 도구의 인터페이스인 이유와, 무엇을·언제·경계를 담아 선택률을 높이는 실무 규칙을 예제로 정리한다.
zod를 '값이 맞는지 확인하는 도구'로만 쓰면 절반만 쓰는 것이다. coerce·transform·refine으로 입력을 원하는 모양으로 바꿔 내보내고, safeParse로 에러를 값처럼 다루고, 스키마를 조합해 재사용하는 법을 정리한다.
MCP 도구는 LLM이 채워 보내는 인자를 받는다. zod로 입력 스키마를 선언하면 JSON Schema 생성·런타임 검증·타입 추론을 한 번에 얻는다. 왜 필요한지와 실제 정의 방법을 정리한다.
MCP 도구 결과가 텍스트 content 하나에 갇혀 있던 시절과, outputSchema·structuredContent가 그 결과를 스키마로 검증된 JSON으로 바꾼 방식을 TypeScript SDK 코드로 정리한다.
MCP 도구는 LLM이 스스로 고른다. 이때 모델이 보는 건 구현 코드가 아니라 이름·description·입력 스키마뿐이다. 설명문이 곧 도구의 인터페이스인 이유와, 무엇을·언제·경계를 담아 선택률을 높이는 실무 규칙을 예제로 정리한다.
zod를 '값이 맞는지 확인하는 도구'로만 쓰면 절반만 쓰는 것이다. coerce·transform·refine으로 입력을 원하는 모양으로 바꿔 내보내고, safeParse로 에러를 값처럼 다루고, 스키마를 조합해 재사용하는 법을 정리한다.
MCP 도구는 LLM이 채워 보내는 인자를 받는다. zod로 입력 스키마를 선언하면 JSON Schema 생성·런타임 검증·타입 추론을 한 번에 얻는다. 왜 필요한지와 실제 정의 방법을 정리한다.
비공개로 의견 보내기
작성자에게만 전달돼요. 이름·이메일을 비우면 완전 익명입니다.