MCP v2와 무상태 HTTP — AI 에이전트 도구 연동의 새로운 표준

Maru

@maru

MCP v2와 무상태 HTTP — AI 에이전트 도구 연동의 새로운 표준

MCP v2와 무상태 HTTP — AI 에이전트 도구 연동의 새로운 표준

AI 에이전트가 외부 도구나 데이터베이스와 연동하는 방식은 그동안 모델마다 달라 개발자들에게 큰 번거로움이었습니다. 모델 컨텍스트 프로토콜(MCP)은 이러한 파편화를 해결하는 표준 인터페이스로 빠르게 자리 잡고 있습니다. 특히 최근 공개된 무상태 HTTP 기반의 스펙 후보와 타입스크립트 SDK v2.0은 복잡한 세션 관리 부담을 완전히 걷어내며 가벼운 무상태 아키텍처로의 전환을 이끌고 있습니다. 이번 글에서는 풀스택 개발자가 지금 당장 주목해야 할 MCP 생태계의 변화와 실제 통합 패턴을 핵심만 살펴봅니다.

무상태 HTTP로의 전환: 세션 관리의 종말과 무한 확장성

기존 MCP 사양은 클라이언트와 서버가 연결을 계속 유지하는 세션 방식이었습니다. 이 때문에 로컬 개발 환경을 벗어나 실서비스에서 트래픽이 늘어날 때 여러 대의 서버로 수평 확장을 하기가 매우 까다로웠습니다.

새롭게 공개된 2026-07-28 스펙 후보는 이러한 한계를 해결하기 위해 무상태 HTTP 전송 모델을 도입했습니다. 기존의 복잡한 초기 핸드셰이크 과정과 세션 식별자인 Mcp-Session-Id를 완전히 제거한 것이 핵심입니다.

이제 MCP 서버는 상태를 기억할 필요 없이 표준 REST API처럼 독립적으로 동작합니다. 개발자는 라운드 로빈 로드 밸런서 뒤에 MCP 서버를 자유롭게 배치하여 트래픽에 맞춰 유연하게 확장할 수 있으며, 클라우드 네이티브 환경에서 AI 도구를 안정적인 서비스 레이어로 쉽게 운영할 수 있습니다.

TypeScript SDK v2.0과 Standard Schema v1.0의 통합

새로운 공식 TypeScript SDK v2.0의 핵심 변화는 도구의 데이터 검증 레이어가 완전히 표준화되었다는 점입니다. 이전에는 JSON 스키마를 손수 작성하거나 전용 어댑터 패키지에 의존해야 했지만, 이제는 자바스크립트 생태계의 공통 검증 규격인 스탠다드 스키마(Standard Schema) v1.0을 모듈 내부에 통합했습니다.

이 덕분에 프로젝트에서 이미 널리 쓰고 있는 조드(Zod)나 발리보, 아크타입(ArkType) 같은 도구로 스키마를 정의하기만 하면 SDK가 이를 알아서 런타임 검증과 정적 타입 추론 코드로 변환해 줍니다. 복잡한 유효성 검사 보일러플레이트 코드가 획기적으로 줄어들어 개발자 경험이 크게 향상되었습니다.

다음은 @modelcontextprotocol/server 패키지를 사용해 Zod 스키마를 도구 설정 블록에 직접 전달하는 간단한 예시입니다.

typescript
import { McpServer } from "@modelcontextprotocol/server";
import { z } from "zod";

const server = new McpServer({
  name: "weather-mcp-server",
  version: "2.0.0",
});

// Standard Schema v1.0 지원으로 Zod 스키마가 직접 호환됩니다.
server.tool(
  "get_weather",
  {
    city: z.string().describe("날씨를 조회할 도시 이름"),
    unit: z.enum(["celsius", "fahrenheit"]).default("celsius"),
  },
  async ({ city, unit }) => {
    return {
      content: [{ type: "text", text: `${city}의 현재 온도는 24도(${unit})입니다.` }],
    };
  }
);

이처럼 SDK v2.0에서는 스키마 라이브러리에 종속되지 않는 유연성을 확보했습니다. 개발자는 기존 런타임 유효성 검사 로직을 재작성할 필요 없이, 이미 익숙한 검증 라이브러리를 그대로 결합하여 안전한 MCP 도구 서버를 빠르게 구축할 수 있습니다.

Vercel AI SDK 및 LangChain.js의 클라이언트 연동

자바스크립트 및 타입스크립트 생태계의 대표적인 AI 프레임워크인 Vercel AI SDK와 LangChain.js는 최신 MCP 사양을 일급 객체로 지원하며 클라이언트 연동의 복잡성을 획기적으로 낮췄습니다.

Vercel AI SDK의 경우, @ai-sdk/mcp 패키지가 제공하는 createMCPClient를 통해 이 과정을 극도로 단순화했습니다. 원격 HTTP 서버 URL을 지정하여 생성된 클라이언트는 복잡한 핸드셰이크 없이도 서버의 도구들을 표준 AI SDK 도구 형태로 동적으로 변환해 줍니다.

다음은 Vercel AI SDK를 사용하여 원격 HTTP 기반 MCP 도구를 에이전트에 동적으로 주입하는 대표적인 연동 패턴입니다.

typescript
import { createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const mcpClient = await createMCPClient({
  transport: { type: 'http', url: 'https://api.example.com/mcp' }
});

const { text } = await generateText({
  model: myModel, // 사전 정의된 AI 모델 객체
  tools: await mcpClient.tools(),
  prompt: '사용 가능한 도구를 사용해 배송 상태를 조회해줘.'
});

이 코드가 실행되면 SDK 내부적으로 원격 서버의 도구 명세를 동적으로 가져와 즉시 모델의 도구 호출 주기에 연결합니다.

LangChain.js 진영 역시 @langchain/mcp-adapters 패키지를 도입하여 멀티 에이전트 흐름에서 유연성을 높였습니다. 이 경량 어댑터는 원격과 로컬의 MCP 도구 인터페이스를 네이티브 LangChain Tool 클래스로 실시간 변환해 줍니다. 덕분에 기존에 구축해 둔 복잡한 워크플로우나 상태 머신 구조를 변경하지 않고도, 외부 MCP 서버의 도구들을 즉시 주입해 활용할 수 있습니다.

UI 렌더링부터 로컬 실행까지: MCP Apps와 코드 모드

단순한 텍스트 답변을 넘어 에이전트가 사용자 화면에 직접 UI를 그리거나 로컬에서 코드를 직접 실행하는 아키텍처 혁신이 일어나고 있습니다. 최근 에이전트 생태계의 대표적인 변화는 버셀이 주도하는 MCP Apps 패턴과 클라우드플레어의 코드 모드 패턴으로 요약할 수 있습니다.

버셀의 MCP Apps는 에이전트 도구가 단순 텍스트 대신 샌드박스 처리된 HTML UI 리소스를 반환하는 방식입니다. 브라우저 내부의 아이프레임 환경에서 실시간으로 대화형 인터페이스를 렌더링하기 때문에 풍부한 시각적 사용자 경험을 즉시 제공할 수 있습니다. 다만 클라이언트 브라우저에서 외부 코드를 동적으로 렌더링해야 하는 만큼, 엄격한 아이프레임 보안 정책을 수반해야 한다는 개발상의 책임이 따릅니다.

반면 클라우드플레어가 제시한 코드 모드는 지연 시간과 API 비용을 극적으로 줄이는 데 집중합니다. 기존에는 여러 도구를 결합하기 위해 모델과 매번 통신하며 결과값을 다시 전달하는 비효율적인 왕복 과정이 필요했습니다. 코드 모드에서는 클라이언트가 제공하는 MCP API들을 활용해 모델이 로컬에서 실행할 수 있는 타입스크립트 코드를 한 번에 작성하고, 이를 직접 수행하도록 제어권을 넘깁니다. 여러 번의 네트워크 왕복을 단 한 번의 코드 생성으로 해결하는 장점이 있지만, 모델이 작성한 임의의 코드를 안전하게 실행하기 위해 격리된 강력한 샌드박스 인프라를 직접 구축해야 하는 보안 부담이 존재합니다.

정리하며: 가볍고 단순한 무상태 AI 인프라 구축하기

MCP는 단순한 로컬 개발 도구를 넘어 대규모 클라우드 인프라에서 수평 확장이 가능한 무상태 에이전트의 표준 규격으로 자리 잡고 있습니다. 세션 유지의 번거로움을 걷어내고 표준 HTTP 사양과 타입스크립트 SDK v2.0으로 진화한 이번 변화는 확장 가능한 AI 애플리케이션을 고민하는 엔지니어들에게 명확한 이정표를 보여줍니다.

풀스택 개발자라면 이제 프레임워크마다 제각각이었던 도구 연동 로직을 직접 구현하는 대신, 표준화된 MCP 레이어를 구축하는 데 집중하는 것이 좋습니다. 단순하면서도 견고한 무상태 아키텍처가 선사하는 높은 생산성과 안정성을 직접 경험해 보시길 바랍니다.


참고 링크

아직 댓글이 없습니다.