Model Context Protocol

2025.03.09

Model Context Protocol

ํ•„์ž๋Š” ์ฃผ๋กœ GeekNews๋ฅผ ํ†ตํ•ด ์ตœ์‹ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŽธ์œผ๋กœ AI์˜ ๋ถ„์•ผ๋Š” ์—ฌ๋Ÿฌ๋ฐฉ๋ฉด์—์„œ ๋น ๋ฅธ ๋ฐœ์ „์„ ์ด๋ฃจ๊ณ  ์žˆ์ง€๋งŒ ์ด์ œ ๋ง‰ ํƒœ๋™ํ•˜๊ณ  ์žˆ๋Š” ๋ถ„์•ผ๋„ ์กด์žฌํ•œ๋‹ค. ์˜ค๋Š˜ ์†Œ๊ฐœํ•  MCP (= Model Context Protocol)๋Š” ๊ทธ์ค‘ ํ•˜๋‚˜๋กœ Agent๊ฐ€ ์ ์  ํ™”๋‘๊ฐ€ ๋˜๋Š” ํŠธ๋ Œ๋“œ์—์„œ ์•ž์œผ๋กœ ๊ฐ๊ด‘๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ด๋ผ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•œ๋‹ค.

โ… . MCP๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์ด์ „์— MCP์— ๋Œ€ํ•ด ๋“ค์–ด๋ณธ์‚ฌ๋žŒ์€ ์•„๋งˆ ๋งŽ์ง€ ์•Š์„๊ฒƒ์ด๋‹ค. ๋Œ€์ค‘์ ์œผ๋กœ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” Cursor๋„ MCP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค. Anthrophic์—์„œ 24๋…„ 11์›”๊ฒฝ ์ฒ˜์Œ ์†Œ๊ฐœํ•œ ํ”„๋กœํ† ์ฝœ์ธ MCP๋Š” Model Context Protocol์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์œผ๋กœ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ๋ฐ ๋„๊ตฌ๋“ค ๊ฐ„์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค. AI ๊ธฐ๋ฐ˜ IDE๋ฅผ ๊ตฌ์ถ•ํ•˜๋“ , ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐœ์„ ํ•˜๋“ , ํ˜น์€ ์ปค์Šคํ…€ AI ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋งŒ๋“ค๋“  ๊ด€๊ณ„์—†์ด, MCP๋Š” LLM์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ปจํ…์ŠคํŠธ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

[ Fig. 01 ] General MCP Architecture

์šฐ๋ฆฌ๊ฐ€ ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” HTTP ํ”„๋กœํ† ์ฝœ์ด ์„œ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ผํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, MCP๋Š” AI ์„ธ๊ณ„์˜ HTTP ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค. MCP๋Š” ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ์ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ๋„๊ตฌ์— ํ‘œ์ค€ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ํ‘œ์ค€ํ™”๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ๊ฐ์˜ ๋ชจ๋ธ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์œ„ํ•œ ํŠน์ˆ˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค ํ•„์š” ์—†์ด AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋” ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐœ๋ฐœ์ด ํ•„์š”์—†์–ด์ง€๋Š” ๊ณตํ†ต๋œ ํ˜•์‹์ด๋ผ ๋ณด๋ฉด ๋˜๊ฒ ๋‹ค.

โ…ก. MCP๊ฐ€ ์™œ ํ•„์š”ํ•œ๊ฐ€?

LLM์€ ์—ฌ์ „ํžˆ ๊ฐ•๋ ฅํ•œ ํผํฌ๋จผ์Šค๋ฅผ ๋ฝ๋‚ด๊ณ  ์žˆ์ง€๋งŒ ๊ทธ์— ๋”ฐ๋ฅธ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ œ์•ฝ์‚ฌํ•ญ๋„ ์กด์žฌํ•œ๋‹ค.

  • ์ง€์‹์˜ ํ•œ๊ณ„์™€ ์ •๋ณด ์ตœ์‹ ํ™”์˜ ์–ด๋ ค์›€

  • ์ „๋ฌธ ๋„๋ฉ”์ธ ์ง€์‹์˜ ๋ถ€์กฑ

  • ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ๊ณตํ†ตํ‘œ์ค€์˜ ๋ถ€์žฌ

์œ„์™€ ๊ฐ™์€ ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ์ ์„ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์„ ์ œ์‹œํ•˜๊ณ  ์ ์šฉํ•จ์œผ๋กœ์จ ์–ด๋А์ •๋„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.

โ…ข. MCP๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”๊ฐ€?

MCP์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ํ•ต์‹ฌ๊ตฌ์„ฑ์ด ์กด์žฌํ•œ๋‹ค.

  • MCP ์„œ๋ฒ„(๋„๊ตฌ ๋ฐ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ œ๊ณต)

  • MCP ํด๋ผ์ด์–ธํŠธ(LLM์— ํฌํ•จ๋˜์–ด MCP ์„œ๋ฒ„์™€ ํ†ต์‹ )

  • MCP ํ˜ธ์ŠคํŠธ(Claude Desktop, Cursor ๋“ฑ๊ณผ ๊ฐ™์€ LLM ๋ฐ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)

์ด ์„ธ ๊ฐ€์ง€ ์—ญํ• ์ด ์–ด๋–ป๊ฒŒ ์œ ๊ธฐ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š”์ง€ ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ณด์ž.

1. MCP ์„œ๋ฒ„

MCP ์„œ๋ฒ„๋Š” LLM์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์™€ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ „ํ†ต์ ์ธ ์›๊ฒฉ API ์„œ๋ฒ„์™€๋Š” ๋‹ฌ๋ฆฌ, MCP ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž์˜ ์žฅ์น˜์—์„œ ๋กœ์ปฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์›๊ฒฉ ์„œ๋ฒ„์— ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๊ฐ MCP ์„œ๋ฒ„๋Š” ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋‚˜ ์›๊ฒฉ ์„œ๋น„์Šค์—์„œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ํŠน์ • ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ LLM์ด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ํŠน์ • ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฒฐ์ •ํ•˜๋ฉด, MCP ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ณ  ์ด๋ฅผ LLM์— ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

[ Fig. 02 ] MCP Server

2. MCP Client

MCP ํด๋ผ์ด์–ธํŠธ๋Š” LLM๊ณผ MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹ค๋ฆฌ ์—ญํ• ๋กœ LLM์— ํฌํ•จ๋˜์–ด LLM์œผ๋กœ๋ถ€ํ„ฐ์˜ ์š”์ฒญ ์ˆ˜์‹ , ์ ์ ˆํ•œ MCP ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ „๋‹ฌ, MCP ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฒฐ๊ณผ๋ฅผ LLM์— ๋ฐ˜ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•œ๋‹ค.

[ Fig. 03 ] MCP Client

3. MCP Host

Claude Desktop, IDE(Cursor ๋“ฑ), ๋˜๋Š” MCP๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•ก์„ธ์Šคํ•˜๊ณ ์ž ํ•˜๋Š” AI ๋„๊ตฌ์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์€ MCP ํ˜ธ์ŠคํŠธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ด๋Ÿฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‚ฌ์šฉ์ž๊ฐ€ LLM๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉด์„œ, MCP ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ MCP ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ LLM ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ฒŒ ๋œ๋‹ค.

[ Fig. 04 ] MCP Host

4. MCP Workflow

์œ„์˜ 3๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์•„๋ž˜์™€ ๊ฐ™์€ Workflow๋ฅผ ๋”ฐ๋ฅด๊ฒŒ ๋œ๋‹ค.

[ Fig.05 ] MCP Workflow
[ Fig. 06 ] MCP Request & Response Flow

์ด๋•Œ, MCP์™€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ฐ„์˜ ํ†ต์‹ ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

[ Fig. 07 ] MCP Protocol with External API

AI ๋ชจ๋ธ๊ณผ ์™ธ๋ถ€ ์‹œ์Šคํ…œ์„ ์—ฐ๊ฒฐํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ, MCP ๊ตฌํ˜„์—์„œ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ณด์•ˆ ๊ณผ์ œ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, ๋ฐ”๋กœ

  • ์ธ์ฆ: ์ „ํ†ต์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ, MCP ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ „ํ†ต์ ์ธ ๋กœ๊ทธ์ธ ํ”Œ๋กœ์šฐ(์˜ˆ: ์‚ฌ์šฉ์ž ์ด๋ฆ„/๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ/์ธ์ฆ ์ฝ”๋“œ ๋“ฑ)๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์—†๋‹ค.

  • MCP ์„œ๋ฒ„ ์š”์ฒญ์˜ ์ ‘๊ทผ ์ œ์–ด: AI ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ๋™์ผํ•œ ์‹œ์Šคํ…œ์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋‹ค. MCP ์„œ๋ฒ„๋Š” AI ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ ๊ทธ๋“ค์˜ ๋Œ€๋ฆฌ์ธ ์—ญํ• ์„ ํ•˜๋ฉฐ MCP ์„œ๋ฒ„์— ๋งž๋Š” ์ ‘๊ทผ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ƒˆ๋กœ ์„ค๊ณ„ํ•˜๋ ค๋ฉด ๋ง‰๋Œ€ํ•œ ๋…ธ๋ ฅ๊ณผ ๋น„์šฉ์ด ํ•„์š”ํ•˜๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ์ด๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ฃผ์š” ํ•ด๊ฒฐ์ฑ…์€ PAT(๊ฐœ์ธ ์—‘์„ธ์Šค ํ† ํฐ)๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. PAT๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋กœ๊ทธ์ธ์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.


โ…ฃ. Insight

์š”์ฆ˜ ๋“ค์–ด Agent์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ๋œจ๊ฒ๋‹ค. ๊ณผ๊ฑฐ์™€ ๋‹ค๋ฅด๊ฒŒ Agent๋ผ๋Š” ๊ฒƒ์€ ์ผ์ข…์˜ System์ ์ธ ๊ตฌ์„ฑ์ด ๋ฐ˜๋“œ์‹œ ๋‚ดํฌํ•˜๊ฒŒ ๋œ๋‹ค. ์•ž์œผ๋กœ์˜ Agent์— ๋Œ€ํ•œ ํ™œ์šฉ์„ฑ, ์žฅ๊ธฐ์ ์œผ๋กœ LLM์˜ ํ™œ์šฉ ๋ฐ ์œ ์ง€๋ณด์ˆ˜, ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ๋ฐ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ๊ณผ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ƒ๊ฐํ•œ๋‹ค๋ฉด ๊ณตํ†ตํ‘œ์ค€์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„๋ฌธ์ œ์ผ ๊ฒƒ์ด๋‹ค. ์‚ฌ์‹ค ์–ด๋А์ •๋„ ๊ฐœ๋…ํ™”๋˜์ง€ ์•Š์•„์„œ ๊ทธ๋ ‡์ง€ ์ด๋ฏธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์œผ๋ฆฌ๋ผ ์ƒ๊ฐํ•œ๋‹ค. ์ด๋ฏธ ๊ฐœ๋ฐœ๋œ ํด๋ผ์ด์–ธํŠธ ๋„๊ตฌ๋“ค์„ ํ™œ์šฉํ•˜๋Š” ๊ธฐ์—…๋„ ์žˆ์„ ๊ฒƒ์ด๊ณ , ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ํšŒ์‚ฌ๋„ ์กด์žฌํ•  ๊ฒƒ์ด๋‹ค. ํ•„์ž๋Š” ์ด๊ฒƒ์„ ๋ณด๊ณ  ์ผ์ข…์˜ Design Pattern๊ณผ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋‹ค๋งŒ, Cursor๋ผ๋Š” ์„ ๋ก€๊ฐ€ ์กด์žฌํ•˜๋Š” ๋งŒํผ ํ™œ์šฉ๋ฐฉ์‹์ด๋‚˜ ์šด์šฉ๋ฐฉ์•ˆ์— ๋Œ€ํ•˜์—ฌ ์ ์ง„์  ๊ณ ๋„ํ™”๊ฐ€ ์ด๋ฃจ์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ์€ ์ถฉ๋ถ„ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์•„๋ž˜ ์›๋ฌธ ๋งํฌ๋ฅผ ๋‚จ๊ฒจ๋†“์„ํ…Œ๋‹ˆ ์ฐธ๊ณ ๋ฐ”๋ž€๋‹ค : https://modelcontextprotocol.io/introductionarrow-up-right

Last updated