[LLM] MCP

[์›๋ณธ ๋งํฌ]

MCP๋Š” ์•คํŠธ๋กœํ”ฝ์—์„œ ๊ณต๊ฐœํ•œ, LLM์„ ์œ„ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
Model Context Protocol์˜ ์ถ•์•ฝ์ด๋‹ค.



๊ธฐ๋ณธ ์›๋ฆฌ

์š”์ฆ˜ ์—„์ฒญ๋‚œ ํ˜์‹ ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋„์›Œ๋Œ€์„œ ์ฐฉ๊ฐํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ ์ž์ฒด๊ฐ€ ๋Œ€๋‹จํ•œ ๋™์ž‘์„ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
LLM์ด ์ฃผ์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ธฐ๋Šฅํ•  ๋ฟ์ด๋‹ค.

๊ฒฐ๊ตญ ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ๋ˆ„๊ตฐ๊ฐ€ ํ•˜๊ธด ํ–ˆ์–ด์•ผ ํ•˜๋Š”๊ฑด๋ฐ ์•คํŠธ๋กœํ”ฝ์ด ์ด๋Œ€๋งค๊ณ  ์‹œ์ž‘ํ•˜๋‹ˆ๊นŒ ์šฐ๋ฅด๋ฅด ๋ชฐ๋ ค๋“  ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ LLM์ด ๊ฐ€์ ธ๊ฐ€์„œ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐํšŒํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ณ , LLM์ด ๊ทธ๊ฑธ ์ฐ”๋Ÿฌ์„œ ์“ฐ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์‹์œผ๋กœ ์‘์šฉ์ด ๋œ๋‹ค.

MCP ํด๋ผ์ด์–ธํŠธ๋Š” IDE๋‚˜ ๊ธฐํƒ€ ๋„๊ตฌ๋“ค์—์„œ ๊ตฌํ˜„ํ•ด์„œ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ๋ญ”๊ฐ€ ๋ฐ์ดํ„ฐ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด MCP ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์„œ ์“ฐ๊ฑฐ๋‚˜ ๊ตฌํ˜„์ฒด๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์‹คํ–‰์‹œ์ผœ์„œ ์“ฐ๋ฉด ๋œ๋‹ค.




๋ ˆ์ด์–ด

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




๋ฆฌ์†Œ์Šค ๋‹จ์œ„

MCP๋Š” 3๊ฐ€์ง€ ๋ฆฌ์†Œ์Šค ๋‹จ์œ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
๊ทธ๊ฒƒ์ด Tool, Resource, Prompt๋‹ค.

1. Tool
์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ๋žŒ๋“ค์ด ์—ด๊ด‘ํ•˜๋Š” "๋ฐ์ดํ„ฐ ์†Œ์Šค ์—ฐ๋™"์ด Tool์ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธ์–ด์˜ค๊ฑฐ๋‚˜, ํ”ผ๊ทธ๋งˆ์—์„œ ๋””์ž์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜, ์‹ค์‹œ๊ฐ„ ๋‚ ์งœ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์ด๊ฑธ ํ†ตํ•ด์„œ ๊ตฌํ˜„ํ•œ๋‹ค.

2. Resource
Resource์˜ ๊ฒฝ์šฐ์—๋Š” ์ฑ„ํŒ…์— ์‚ฌ์šฉํ•  ์ผ์ข…์˜ ๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ณด๊ด€ํ•˜๋Š” ์ €์žฅ์†Œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด๋†“๊ณ  LLM์ด ์‚ฌ์šฉํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์ด๋Ÿฐ๊ฒŒ Resource๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ์ ˆํ•œ ์‚ฌ์šฉ๋ก€๋‹ค.

3. Prompt
Prompt๋Š” ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ๋“ค์„ ์ €์žฅํ•ด๋†จ๋‹ค๊ฐ€ ํ•„์š”ํ• ๋•Œ ๊บผ๋‚ด์“ฐ๋Š” ๋‹จ์ˆœ ์ €์žฅ์†Œ ๊ฐœ๋…์ด๋‹ค.



์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ํด๋ผ์ด์–ธํŠธ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฑด ๋‹ค์Œ ํฌ์ŠคํŠธ์— ๋‹ค๋ค„๋ณด๊ฒ ๋‹ค.



์ฐธ์กฐ
https://docs.anthropic.com/en/docs/agents-and-tools/mcp
https://modelcontextprotocol.io/introduction
https://wikidocs.net/268828