Semantic Kernel with MCP
Thinking
Semantic Kernel, MCP๋ฅผ ํจ๊ป ์ฐ๋ ์ด์ ? ๊ทธ๋ฅ Claude์์๋ ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ Semantic Kernel์ ์ฌ์ฉํ๋ ์ด์ ? ์ฌ๋ฌ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์. Claude << Claude ๋ชจ๋ธ๋ง ์ธ ์ ์์. Semantic Kernel์ ์ฅ์ : ์ฌ๋ฌ ๋ชจ๋ธ์ ์ค์ผ์คํธ๋ ์ด์ + ๊ธฐ์กด ์ฑ์ AI ๊ธฐ๋ฅ ์ถ๊ฐ ์ฌ๊ธฐ์ ์ง์คํด๋ณด์.
| Semantic Kernel | Claude Desktop |
|---|---|
| ๋ค์ํ ๋ชจ๋ธ | only Claude |
SK, Claude Desktop ์ฐจ์ด์ ๋ํ GPT์ ๋ต๋ณ
์์ฝ: Claude์์ MCP๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ, LLMโ๋๊ตฌ ๊ฐ ํต์ ์ด ํด๋ผ์ด์ธํธ ์ธก(MCP ํด๋ผ์ด์ธํธ โ MCP ์๋ฒ)์์ JSONโRPC(STDIN/โSSE)๋ฅผ ์ง์ ๋ค๋ฃจ๋๋ก ์ค๊ณ๋์ด ์์ผ๋ฉฐ, ์ฃผ๋ก ๋๊ตฌ ํธ์ถ ์์ฒด์ ์ง์ค๋์ด ์์ต๋๋ค. ๋ฐ๋ฉด Semantic Kernel(SK)์์๋ MCP ์๋ฒ์ ๋๊ตฌ๋ค์ `KernelFunction` ์ถ์ํ๋ก ๋ํํ๊ณ , ์๋ ํจ์ ํธ์ถ, ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์ , ํ๋กฌํํธ ํ ํ๋ฆฟ, ๋ฉ๋ชจ๋ฆฌยท์บ์ยทํํฐ๋งยท๋ก๊น ๋ฑ ๊ณ ๊ธ ๊ธฐ๋ฅ์ SDK ์ฐจ์์์ ์ ๊ณตํ์ฌ, ํจ์ ํธ์ถ ์ด์์ AI ์์ด์ ํธ ๊ฐ๋ฐ ํ๋ ์์ํฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ ํ๊ฒฝ ๋ชจ๋ โํจ์ ํธ์ถโ์ ์ํํ์ง๋ง, ์ํคํ ์ฒ ์์นยท์ถ์ํ ๊ณ์ธตยทํ์ฅ์ฑยท๊ด์ฐฐ ๊ฐ๋ฅ์ฑ ๋ฉด์์ ์ฐจ๋ณํ๋ฉ๋๋ค.1. ์ํคํ ์ฒ ๊ด์ : ์ด๋์ ํจ์ ํธ์ถ์ ์ฒ๋ฆฌํ๋๊ฐ
1.1 Claude์ MCP
-
MCP๋ ํด๋ผ์ด์ธํธ ์ธก์ ํตํฉ๋์ด, Claude๊ฐ MCP ์๋ฒ์ STDIN/โSTDOUT ๋๋ SSE(JSONโRPC) ๋ฐฉ์์ผ๋ก ์ง์ ๋ํํฉ๋๋ค. ์ค์ ๋ก โFunction Calling์ ์๋ฒ ์ฌ์ด๋, MCP๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋โ๋ผ๋ ์ค๋ช ์ด ์์ ์ ๋์ ๋๋ค .
-
Claude Desktop ์ฑ์ ๋ก์ปฌ MCP ์๋ฒ๋ฅผ ์ค์ ํ๋ฉด, GitHub ์ฐ๋ยทํ์ผ ์์คํ ์ ๊ทผ ๊ฐ์ ๋๊ตฌ ํธ์ถ์ 1์๊ฐ ๋ด์ ๊ตฌ์ฑํ ์ ์๋๋ก ์ง์ํฉ๋๋ค .
1.2 Semantic Kernel์ MCP
-
SK์์๋
McpClient.ListToolsAsync()๋ก MCP ์๋ฒ์ ๋๊ตฌ ๋ชฉ๋ก์ ๊ฐ์ ธ์จ ๋ค,AsKernelFunction()์ ํตํด ์ด๋ฅผKernelFunction์ผ๋ก ๋ณํํดkernel.Plugins.AddFromFunctions()๋ก ๋ฑ๋กํฉ๋๋ค Microsoft for Developers. -
ํจ์ ํธ์ถ์ SK ๋ด์์ LLM ์คํ ์ค์ (
FunctionChoiceBehavior.Auto)์ ๋ฐ๋ผ ์๋์ผ๋ก ๊ฒฐ์ ยท์คํ๋๋ฉฐ, ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์ฒด์ด๋ํ๊ฑฐ๋ ์์ด์ ํธ(Planner)๋ก ํ์ฅํ ์ ์์ต๋๋ค GitHub.
2. ์ถ์ํ ์์ค ๋ฐ SDK ์ง์
2.1 Claude
-
Anthropic API์ Tool Use(ํจ์ ํธ์ถ) ๊ธฐ๋ฅ์ ํตํด ๋๊ตฌ๋ฅผ ์ง์ ๋ฑ๋กยทํธ์ถํ๋ฉฐ, JSON ํ์ ์คํค๋ง์ ํ๋ผ๋ฏธํฐ ํ์ ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ช ์ธํด์ผ ํฉ๋๋ค .
-
MCP ์์ฒด๋ ํ๋กํ ์ฝ ๊ท๊ฒฉ(API ๊ฒ์ดํธ์จ์ด ์ญํ )์ผ๋ก ์ ๊ณต๋๋ฉฐ, Tool Use์ ๋ณํํ์ฌ ์ฌ์ฉํฉ๋๋ค .
2.2 Semantic Kernel
-
.NETยทPythonยทJava SDK๋ก์
Kernel,KernelFunction,ChatCompletionAgent,Planner๋ฑ ๊ณ ์์ค ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํด, ๋๊ตฌ ํธ์ถ๋ฟ ์๋๋ผ ๋ณตํฉ ์ํฌํ๋ก์ฐ ๊ตฌ์ฑยทํ๋กฌํํธ ๊ด๋ฆฌยท๋ฉ๋ชจ๋ฆฌ ํตํฉ์ด ๊ฐ๋ฅํฉ๋๋ค Microsoft for DevelopersGitHub. -
SK๋ฅผ MCP ์๋ฒ๋ก ๋ ธ์ถ(
kernel.as_mcp_server())ํ๋ฉด, Claude ๋ฑ ๋ค๋ฅธ MCP ํด๋ผ์ด์ธํธ๊ฐ SK์ ํจ์ยทํ๋กฌํํธ๋ฅผ ๊ณง๋ฐ๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค Microsoft for Developers.
3. ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ(Observability) ๋ฐ ๋ณด์
3.1 Claude
- ๊ธฐ๋ณธ์ ์ผ๋ก ํธ์ถ ๋ก๊ทธยท์๋ฌ ์ฒ๋ฆฌ๋ ์์ฒด ๋ก๊ทธ์ ์์กดํ๋ฉฐ, ํ๋ผ๋ฏธํฐ ๊ฒ์ฆยทํํฐ๋ง ๊ธฐ๋ฅ์ ์ ๊ณต๋์ง ์์ต๋๋ค.
3.2 Semantic Kernel
-
SK๋ ํจ์ ํธ์ถ ์ ํ๋ผ๋ฏธํฐ ํํฐ๋งยท๊ฒ์ฆ, ํ ๋ก๊น ยท๋ฉํธ๋ฆญ ์์ง์ ์ง์ํ๋ฉฐ, Application Insights ๊ฐ์ ๊ธฐ์กด ๊ด์ธก ์ธํ๋ผ์๋ ์ฝ๊ฒ ์ฐ๋ํ ์ ์์ต๋๋ค .
-
์บ์ฑยท์ฌ์๋ ์ ์ฑ ๋ SDK ์ฐจ์์์ ์ค์ ํ ์ ์์ด, ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ๋์์ ํ๋ณดํ ์ ์์ต๋๋ค Microsoft for Developers.
4. ํ์ฅ์ฑ ๋ฐ ์์ฝ์์คํ
4.1 Claude
-
MCP ์ง์ ํด๋ผ์ด์ธํธ(Claude Desktop, CLI) ๋ฒ์ ๋ด์์๋ง ํ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์๋ฒ ์ธก ์ปค์คํ ๊ตฌํ์ด ํ์ํฉ๋๋ค.
-
๋๊ตฌ ๊ด๋ฆฌยท๋ฒ์ ๊ด๋ฆฌ ๋ฑ์ ์ ์ ์ผ๋ก ๊ฐ๋ฐ์ ๋ชซ์ ๋๋ค.
4.2 Semantic Kernel
-
๋ค์ํ LLM ๋ฐฑ์๋(OpenAI, Azure AI, Ollama ๋ฑ)๋ฅผ ํ๋ฌ๊ทธ์ธ ํํ๋ก ๋ฐ๊ฟ ๋ผ์ธ ์ ์๊ณ , SK์ ๋ฑ๋ก๋ ๋๊ตฌ๋ค์ ์๋ก ์ฒด์ด๋ํ๊ฑฐ๋ ๋ฉํฐ ์์ด์ ํธ ์๋๋ฆฌ์ค๋ก ํ์ฅํ๊ธฐ ์ฝ์ต๋๋ค GitHub.
-
์ปค๋ฎค๋ํฐ ํํ ๋ฆฌ์ผยท์ํ(.NET, Python)๋ ํ๋ถํด, ๋น ๋ฅธ ํ๋กํ ํ์ ๋ถํฐ ํ๋ก๋์ ํ๊น์ง ์์คํฑ์ผ๋ก ์ง์ํฉ๋๋ค Systenics Solutions AI.
5. ์ค์ ํ์ฉ ์ฌ๋ก
-
Claude + MCP: GitHub PR ์์ฑ, ํ์ผ ์์คํ ๊ด๋ฆฌ, Google Drive ์ฐ๋ ๋ฑ ๋จ์ผ ๋๊ตฌ ํธ์ถ ์ค์ฌ .
-
SK + MCP: ๋ฌธ์ ์์ฝ โ DB ์กฐํ โ ๊ฒฐ๊ณผ ํฌ๋งทํ โ ์๋ฆผ ์ ์ก ๊ฐ์ ๋ฉํฐ์คํ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ, ์ธ์ ยท์ฝํ ์คํธ ์ ์ง, ์ฅ๊ธฐ ๊ธฐ์ต(semantic memory) ํตํฉ ๋ฑ์ด ๊ฐ๋ฅํ ์์ด์ ํธ ๊ฐ๋ฐ ํ๋ ์์ํฌ GitHubMicrosoft for Developers.
๊ฒฐ๋ก ์ ์ผ๋ก, Claude์์ MCP๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ โ๋๊ตฌ ํธ์ถ ํ๋กํ ์ฝ์ ์ด์ฉํด ์ธ๋ถ ์์คํ ์ ์ ๊ทผโํ๋ ์์ค์ด๋ผ๋ฉด, Semantic Kernel์์ MCP๋ฅผ ํ์ฉํ๋ฉด โ๋๊ตฌ ํธ์ถ์ ํฌํจํ AI ์ํฌํ๋ก์ฐ ์ ๋ฐ์ ์ค๊ณยท๊ด๋ฆฌยทํ์ฅโํ ์ ์๋ ํ๋ ์์ํฌ ์ฐจ์์ ํตํฉ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
์ต์๋์ธ ์ฐ๊ณ ์ถ์. ์ต์๋์ธ์ผ๋ก ์ธ์ปจ๋ธ๋ ์ธ ์ด์ฉ๊ณ .. ์ฌ๊ธฐ์ ํ๋กฌํํธ๋ก ์ ํ ์นด์คํ ๊ธฐ๋ฒ ์ฐ๋ผ๊ณ ํ์. ์์ด๋ณด์ด๋๊ฑด ๋ค ๋๋ ค๋ฃ๋๊ฑฐ์.
MS์์ ๋ฐํํ๋๊น Teams๋ ๋ฃ์๊นโฆ? โํ์ฆ์ ์ผ์ ์ถ๊ฐํ๊ณ ์ต์๋์ธ ์บ๋ฆฐ๋์ ๋ฃ์ด์คโ ์ด๋ฐ์์ผ๋ก ใ ใ โฆ
์น ๊ฒ์๊ธฐ๋ฅ๋ ๋ฃ์ Perplexity โ๊ฒ์ํด์ ์ด ๋ด์ฉ ์ต์๋์ธ์ ์ถ๊ฐํด์คโ
์ฐธ๊ณ ์๋ฃ๋ฅผ ๋ณด๋ฉด MCP ์๋ฒ๋ ๋ฐ๋ก ๊ตฌ๋์์ผ๋๊ณ ์ด๋ฅผ SK์์ ๋ถ๋ฌ์ ์ฐ๋ ๋ฐฉ์์ด๋ผ ํจ. ๊ทธ๋ผ docker๋ก MCP ์๋ฒ ๊ฐ๊ฐ์ ๋ง์์ compose๋ก ์คํ์์ผ์ผ๊ฒ ๋ค.
SK ์ฐ๋ ์ด์ ? ์ฌ๋ฌ ๋ชจ๋ธ ์ฐ๋ ค๊ณ ํ์์.
์ฌ์ฉ์ ์์ฑ - OpenAI ์ธ์ - ํ๋กฌํํธ๋ก ์ ๋ฌ - ์๋ต - TTS ๋ฐฐ์ถ
์ด๋ ๊ฒ ๋๋ฉด ํ์ด์ฌ์ผ๋ก ๋์ด๊ฐ๋ ๊ฒ์ด ํ์์ด๋ค. ํ์ด์ฌ์์๋ง Real-time API๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ. โฆ์๋, ๊ตณ์ด Real-time API๋ฅผ ์จ์ผํ๋?
์ต์๋์ธ MCP << ์์ฑ ๊ถํ ์์. ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ. ํ์ผ์์คํ << Desktop์ ๋ฃจํธ๋ก ์ง์ ํจ.
Flow
- Semantic Kernel์ด ๋ญ์ง
- MCP๊ฐ ๋ญ์ง
- ๊ทธ๋์ ๋ด๊ฐ ์ด ์ฑ ๋ง๋ฆ ๊ฑ ์๋น์ค์
- ์๋งจํฑ ์ปค๋, MCP ๊ฐ์ด ์ฐ๋ ์๋์ง
- ์ด๋ค MCP ์๋ฒ ์ถ๊ฐํ๋์ง
- ์ฃผ์ํ ์
- ๋ณด์ (์ค์)
- ๋์ค์ ์ถ๊ฐํ๊ณ ์ถ์๊ฑฐ
- IoT
- ์ ํ ํํ์ด๋ ์ฐ๋
- MCP ์๋ฒ ์์ผ๋ฉด ์ง์ ๋ง๋ค์ด์ผํ ๋ฏ?
- IoT