[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