๐Ÿ”€

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 ์„œ๋น„์Šค