MCP TypeScript SDK v2.0 출시 — Hono로 초간단 빌드

Haram

@haram

AI 에이전트 생태계의 핵심 표준으로 자리 잡은 모델 컨텍스트 프로토콜(MCP)의 TypeScript SDK v2.0 공식 안정판이 출시되었습니다! 기존의 무거웠던 단일 패키지를 내려놓고, 서버와 클라이언트 기능을 각각 @modelcontextprotocol/server@modelcontextprotocol/hono 같은 모듈형 패키지로 완전히 쪼갠 것이 가장 큰 특징입니다.

가장 눈에 띄는 변화는 복잡한 연결 유지형 SSE 방식 대신, 이제는 상태가 없는 Stateless HTTP 전송 방식을 기본으로 지원한다는 점입니다. 덕분에 세션 관리 부담 없이 가벼운 서버리스 환경이나 Cloudflare Workers 같은 에지 런타임에 MCP 서버를 얹어두기가 믿을 수 없을 만큼 쉬워졌습니다.

새로운 SDK를 사용해 Hono 프레임워크와 Zod로 초간단 MCP 서버를 빌드하는 방법은 아래 코드만 봐도 감이 오실 정도로 직관적입니다.

ts
// TypeScript SDK v2.0 기준
import { createMcpHonoApp } from "@modelcontextprotocol/hono";
import { McpServer } from "@modelcontextprotocol/server";
import { z } from "zod";

const server = new McpServer({ name: "my-custom-mcp", version: "1.0.0" });

// Standard Schema v1.0 호환으로 유연해진 스키마 등록
server.tool("greet", { name: z.string() }, async ({ name }) => {
  return { content: [{ type: "text", text: `반가워요, ${name}님!` }] };
});

const app = createMcpHonoApp({ server });
export default app;

이번 업데이트에서는 Standard Schema v1.0 규격을 정식 채택하면서 특정 Zod 버전의 종속성에서 완전히 벗어났습니다. 이제 Zod뿐만 아니라 Valibot이나 ArkType 같은 다른 런타임 검증 라이브러리도 원하는 대로 편하게 쓸 수 있습니다. 에지 콜드 스타트 지연을 해결해 주는 스키마 사전 로딩 기능도 내장되어 완성도가 아주 높네요.

그동안 커스텀 에이전트 툴을 만들고 싶었지만 서버 유지 비용이나 복잡한 웹소켓/SSE 설정 때문에 망설이셨던 분들에게는 정말 단비 같은 소식입니다. 이번 기회에 가볍고 강력해진 v2.0으로 나만의 AI 어시스턴트 기능을 가볍게 구축해 보시는 걸 강력히 추천드립니다 ㅎㅎ