🔀
MCP Transport: stdio vs Streamable HTTP
로컬 개발과 클라우드 SaaS 배포의 차이
MCP 초기에는 stdio(표준 입출력) transport만 있어서 Claude Desktop 같은 로컬 클라이언트에서만 MCP 서버를 사용할 수 있었습니다. 2025년 3월, Streamable HTTP transport가 도입되면서 상황이 바뀌었습니다. 이제 SaaS 벤더가 MCP 서버를 클라우드에 배포하고, 로컬·클라우드 어디서든 MCP 클라이언트가 HTTP로 접속할 수 있습니다. 단일 배포로 다수의 클라이언트를 서비스하고, OAuth 2.1 기반 인증, 로드밸런싱 등 엔터프라이즈 기능도 지원합니다. "MCP SaaS"라고 불리는 것이 바로 이 Streamable HTTP 기반 원격 배포 방식입니다.
구조 다이어그램
MCP 공식 Transport 비교
stdio = 로컬 개발
Streamable HTTP = 클라우드/SaaS
💻
stdio Transport
로컬 전용 (기존 방식)
MCP Client
Claude Desktop / VS Code
↓
spawn 자식 프로세스
↓
MCP Server
같은 머신에서 실행
↔
stdin / stdout
↔
✓
설정 간단 (프로세스만 실행)
✓
네트워크 불필요
✗
로컬 전용 (원격 불가)
✗
클라이언트마다 서버 프로세스
☁️
Streamable HTTP
클라우드/SaaS 배포 (2025.03~)
Client A
Client B
Client C
↓
HTTPS + OAuth 2.1
↓
MCP Server (Cloud)
단일 배포, 다수 클라이언트
POST
→
SSE 스트림
✓
원격/클라우드 배포 가능
✓
다수 클라이언트 동시 처리
✓
OAuth 2.1 보안 + 로드밸런싱
✗
서버 인프라 관리 필요
어떤 Transport를 선택할까?
stdio 선택
- 로컬 개발/테스트
- Claude Desktop 통합
- 단일 사용자 환경
- 네트워크 없는 환경
Streamable HTTP 선택
- SaaS 서비스로 MCP 제공
- 엔터프라이즈 AI 에이전트
- 다중 사용자/팀 환경
- 클라우드 AI 플랫폼 통합
MCP Transport 진화
2024.11 stdio
→
2025.03 Streamable HTTP
→
SaaS 시대
핵심 포인트
- stdio: 프로세스 간 통신, 로컬 전용, Claude Desktop/IDE 플러그인에 적합
- Streamable HTTP: HTTP POST + SSE, 원격 배포 가능, SaaS/엔터프라이즈에 적합
- MCP SaaS = Streamable HTTP 기반 클라우드 MCP 서버 서비스
- 2025년 12월, Anthropic이 MCP를 Linux Foundation에 기증 → 업계 표준화
- 월 9,700만+ SDK 다운로드, 10,000+ 프로덕션 MCP 서버 운영 중
동작 흐름
1
stdio: 클라이언트가 MCP 서버를 자식 프로세스로 spawn (같은 머신)
2
stdio: stdin/stdout으로 JSON-RPC 메시지 교환 (로컬 전용)
3
Streamable HTTP: MCP 서버가 독립 HTTP 서버로 배포 (클라우드)
4
Streamable HTTP: 클라이언트가 HTTP POST로 요청, Server-Sent Events로 응답 스트리밍
5
Streamable HTTP: OAuth 2.1 + PKCE로 인증, HTTPS로 암호화
6
단일 서버가 다수 클라이언트 동시 처리 (세션 풀링으로 10배 성능)
장점
- ✓ stdio: 설정 간단 (프로세스 spawn만)
- ✓ stdio: 네트워크 불필요
- ✓ Streamable HTTP: 원격 배포 가능
- ✓ Streamable HTTP: 다수 클라이언트 서비스
- ✓ Streamable HTTP: OAuth 보안 + 로드밸런싱
- ✓ Streamable HTTP: SaaS 비즈니스 모델 가능
단점
- ✗ stdio: 로컬 전용 (클라우드 AI 에이전트 불가)
- ✗ stdio: 클라이언트마다 서버 프로세스 필요
- ✗ Streamable HTTP: 서버 인프라 관리 필요
- ✗ Streamable HTTP: 인증/보안 구현 복잡
- ✗ Streamable HTTP: 네트워크 지연 추가
사용 사례
stdio: Claude Desktop 로컬 개발
stdio: VS Code 확장 로컬 MCP
Streamable HTTP: SaaS 벤더의 MCP 서버 공개
Streamable HTTP: 엔터프라이즈 AI 에이전트 플랫폼
Streamable HTTP: 다중 사용자 AI 서비스