Agent Academy ยท ๋žฉ

๐Ÿค– Microsoft Copilot Studio โค๏ธ MCP

MCP ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๊ณ  Microsoft Copilot Studio์— ์—ฐ๊ฒฐํ•˜๋Š” ์‹ค์ „ ๋žฉ์ž…๋‹ˆ๋‹ค. Node.js MCP ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ ๋˜๋Š” Azure์— ๋ฐฐํฌํ•˜๊ณ  GitHub Copilot ๋ฐ Copilot Studio์™€ ์—ฐ๋™ํ•ฉ๋‹ˆ๋‹ค.

์›๋ฌธ ๋ฒˆ์—ญ ๊ฒŒ์‹œ๋ฌผ โ€” ์ด ๊ธ€์€ Copilot Studio Agent Academy์˜ ์›๋ฌธ ๐Ÿค– Microsoft Copilot Studio โค๏ธ MCP์„ ํ•œ๊ธ€๋กœ ์˜ฎ๊ธด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›๋ฌธ ํ‘œํ˜„์ด ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค– Microsoft Copilot Studio โค๏ธ MCP

MCP Joker Badge
MCP Joker Badge

์—์ด์ „ํŠธ ์—ฌ๋Ÿฌ๋ถ„, ์ž„๋ฌด๋ฅผ ๋ฐ›์•„๋“ค์ธ๋‹ค๋ฉด โ€” ์ ์ง„ ๋’ค์— MCP ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๊ณ  Microsoft Copilot Studio์— ์—ฐ๊ฒฐํ•˜์„ธ์š”. ๋‚œ๊ธฐ๋ฅ˜๋ฅผ ๋งŒ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์„ ๋ฏฟ๊ณ , ์–ด๋–ค ์—”๋“œํฌ์ธํŠธ๋„ ์„ค์ •๋˜์ง€ ์•Š์€ ์ฑ„ ๋‚จ๊ฒจ๋‘์ง€ ๋งˆ์„ธ์š”. ๐ŸŽฏ

์ค‘์š”: ์ด ๋ฏธ์…˜์˜ Copilot Studio ๋‹จ๊ณ„์—๋Š” GitHub Copilot harness๋กœ ๊ตฌ๋™๋˜๋Š” ์—์ด์ „ํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— New Experience๋ฅผ ์ผœ์„ธ์š”. MCP ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ์—๋Š” Visual Studio Code์˜ GitHub Copilot๋„ ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ๋ฏธ์…˜ ๋ชฉํ‘œ

์ด ๋ฏธ์…˜์—์„œ ๋‹ค์Œ์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

  • MCP ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ Azure์— ๋ฐฐํฌํ•˜๊ธฐ
  • Visual Studio Code์˜ GitHub Copilot์œผ๋กœ MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐ ๋ฐ ํ…Œ์ŠคํŠธํ•˜๊ธฐ
  • GitHub Copilot harness ๊ธฐ๋ฐ˜ Copilot Studio ์—์ด์ „ํŠธ์— MCP ์„œ๋ฒ„ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • ๋ฏธ์…˜์„ ๋งˆ์นœ ๋’ค Azure ๋ฆฌ์†Œ์Šค ์ œ๊ฑฐํ•˜๊ธฐ

โ“ MCP๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Model Context Protocol (MCP)๋Š” Anthropic์ด ์ •์˜ํ•œ ์˜คํ”ˆ ํ”„๋กœํ† ์ฝœ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด LLM์— ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹์„ ํ‘œ์ค€ํ™”ํ•ฉ๋‹ˆ๋‹ค. MCP๋Š” AI ๋ชจ๋ธ์„ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค ๋ฐ ๋„๊ตฌ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. MCP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”์ด์ปค๊ฐ€ ๊ธฐ์กด ์ง€์‹ ์„œ๋ฒ„์™€ API๋ฅผ Copilot Studio์— ์ง์ ‘ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ†š MCP vs ์ปค๋„ฅํ„ฐ

์–ธ์ œ MCP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์–ธ์ œ ์ปค๋„ฅํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? MCP๊ฐ€ ์ปค๋„ฅํ„ฐ๋ฅผ ๋Œ€์ฒดํ• ๊นŒ์š”?

MCP ์„œ๋ฒ„๋Š” ์ปค๋„ฅํ„ฐ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•ด Copilot Studio์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์‹ค ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์€ ํฌ๊ฒŒ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๊ฐ€ ์ปค๋„ฅํ„ฐ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ Virtual Network ํ†ตํ•ฉ, ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€ ์ œ์–ด, ์—ฌ๋Ÿฌ ์ธ์ฆ ๋ฐฉ๋ฒ• ๊ฐ™์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ณด์•ˆ ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ์ œ์–ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ๋“ค์€ ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, AI ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ MCP์™€ ์ปค๋„ฅํ„ฐ๋Š” ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ๋” ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Visual Studio Code ์„ค์น˜ (๋‹ค์šด๋กœ๋“œ)
  • Node v22 (๊ฐ€๋Šฅํ•˜๋ฉด nvm for Windows ๋˜๋Š” nvm์œผ๋กœ ์„ค์น˜)
  • Docker ์„ค์น˜ (๋‹ค์šด๋กœ๋“œ)
  • Azure Developer CLI ์„ค์น˜ (๋‹ค์šด๋กœ๋“œ)
  • Azure ๊ตฌ๋… (๊ฒฐ์ œ ์ˆ˜๋‹จ ์ถ”๊ฐ€)
  • GitHub Copilot harness์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” Copilot Studio ํ‰๊ฐ€ํŒ ๋˜๋Š” ๊ฐœ๋ฐœ์ž ๊ณ„์ •

GitHub Copilot harness ์ฒญ๊ตฌ: ์ด ๋ฏธ์…˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” Microsoft Copilot Studio์˜ GitHub Copilot harness๋Š” ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜ ์ฒญ๊ตฌ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ์ž‘์„ฑ, ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ํ…Œ์ŠคํŠธ, ํ‰๊ฐ€, ์‚ฌ์šฉ ๊ณผ์ •์—์„œ Copilot Credits๊ฐ€ ์†Œ์ง„๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹œ์ž‘ ์ „ Copilot Credits ์ฒญ๊ตฌ ๊ฐœ์š”๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๐Ÿงช Lab 1.1 - MCP ์„œ๋ฒ„ ์„ค์ •

์ด์ œ ์„ ํƒ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ Azure์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฐฉ์‹ ๋ชจ๋‘์— ํ•„์š”ํ•œ ๊ณตํ†ต ๋‹จ๊ณ„๊ฐ€ ๋ช‡ ๊ฐ€์ง€ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. Jokes MCP Server๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    ๋‹ค์šด๋กœ๋“œ ๋งํฌ: https://download-directory.github.io/?url=https://github.com/microsoft/agent-academy/tree/main/docs/special-ops/mcs-mcp/source&filename=jokes-mcp-server

  2. zip ํŒŒ์ผ์˜ ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค.

  3. Visual Studio Code๋ฅผ ์—ด๊ณ  ์••์ถ•์„ ํ‘ผ ํด๋”๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

  4. ctrl + ` (Windows/Linux) ๋˜๋Š” cmd + ` (Mac)์„ ๋ˆŒ๋Ÿฌ Visual Studio Code์—์„œ ํ„ฐ๋ฏธ๋„์„ ์—ฝ๋‹ˆ๋‹ค.

๐Ÿƒโ€โ™€๏ธ MCP ์„œ๋ฒ„ ๋กœ์ปฌ ์‹คํ–‰

  1. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค:

     npm install
    
  2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ์„œ๋ฒ„๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:

     npm run build && npm run start
    
    ์„œ๋ฒ„ ๋นŒ๋“œ ๋ฐ ์‹œ์ž‘ ํ›„ ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด
    ์„œ๋ฒ„ ๋นŒ๋“œ ๋ฐ ์‹œ์ž‘ ํ›„ ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด
  3. Visual Studio Code ํ„ฐ๋ฏธ๋„ ์ƒ๋‹จ์—์„œ PORTS๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ„ฐ๋ฏธ๋„์ด ์—ด๋ ค ์žˆ๊ณ  PORTS ํƒญ์ด ๊ฐ•์กฐ๋œ VS Code ํ™”๋ฉด
    ํ„ฐ๋ฏธ๋„์˜ PORTS ํƒญ
  4. ๋…น์ƒ‰ Forward a Port ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    Forward a Port ๋ฒ„ํŠผ์ด ๊ฐ•์กฐ๋œ PORTS ํƒญ
    Forward a Port ๋ฒ„ํŠผ
  5. ํฌํŠธ ๋ฒˆํ˜ธ๋กœ 3000์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 5๋‹จ๊ณ„์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋ณด์ธ ํฌํŠธ ๋ฒˆํ˜ธ์™€ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. GitHub ๋กœ๊ทธ์ธ์„ ์š”์ฒญ๋ฐ›์œผ๋ฉด ๋กœ๊ทธ์ธํ•˜์„ธ์š”. ํฌํŠธ ํฌ์›Œ๋”ฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  6. ๋ฐฉ๊ธˆ ์ถ”๊ฐ€ํ•œ ํ–‰์„ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•˜๊ณ  Port visibility > Public์„ ์„ ํƒํ•ด ์„œ๋ฒ„๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

  7. Forwarded address๋ฅผ Ctrl + ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ๋Š” https://something-3000.something.devtunnels.ms ๊ฐ™์€ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

  8. ๋‹ค์Œ ํŒ์—…์—์„œ Copy๋ฅผ ์„ ํƒํ•ด URL์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    ํฌํŠธ, ํฌ์›Œ๋“œ๋œ ์ฃผ์†Œ, ๊ฐ€์‹œ์„ฑ์ด ๊ฐ•์กฐ๋œ PORTS ์„ค์ • ํ™”๋ฉด
    PORTS ์„ค์ • ํ™”๋ฉด
  9. ์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์ฃผ์†Œ์ฐฝ์— URL์„ ๋ถ™์—ฌ๋„ฃ์€ ๋’ค ๋’ค์— /mcp๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}

๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋ฌธ์ œ๋  ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค!

๐ŸŒŽ Azure์— ๋ฐฐํฌ

์ค‘์š”: ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ์— ๋‚˜์™€ ์žˆ๋“ฏ์ด, ์ด ๋ถ€๋ถ„์„ ์ง„ํ–‰ํ•˜๋ ค๋ฉด ๋จธ์‹ ์— Azure Developer CLI๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด Azure Developer CLI์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

azd auth login

๊ฒฝ๊ณ : azd up์„ ์‹คํ–‰ํ•˜๋ฉด Azure์—์„œ ๊ณต๊ฐœ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ MCP ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋žฉ์„ ์™„๋ฃŒํ•œ ๋’ค์—๋Š” ๋ฐ˜๋“œ์‹œ azd down์„ ์‹คํ–‰ํ•ด Azure ๊ตฌ๋…์—์„œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•˜์„ธ์š”. Azure ๋ฆฌ์†Œ์Šค ์ œ๊ฑฐ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ Lab 1.4 ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

azd up

๊ณ ์œ ํ•œ ํ™˜๊ฒฝ ์ด๋ฆ„์œผ๋กœ mcsmcplab ๋˜๋Š” ๋น„์Šทํ•œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•  Azure ๊ตฌ๋…์„ ์„ ํƒํ•˜๊ณ  ์œ„์น˜ ๊ฐ’์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„ ๋ฐฐํฌ์— ๋ช‡ ๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ๋งˆ์ง€๋ง‰์— ํ‘œ์‹œ๋˜๋Š” URL ๋์— /mcp๋ฅผ ์ถ”๊ฐ€ํ•ด ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Azd ์„œ๋ฒ„ ๋ฐฐํฌ ์ถœ๋ ฅ
Azd ์„œ๋ฒ„ ๋ฐฐํฌ ์ถœ๋ ฅ

๋‹ค์‹œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}

๐Ÿงช Lab 1.2 - Visual Studio Code์—์„œ Jokes MCP Server ์‚ฌ์šฉ

Jokes MCP Server๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋ฒ„ URL(devtunnel URL ๋˜๋Š” ๋ฐฐํฌ๋œ Azure Container App URL)์— /mcp๋ฅผ ๋ถ™์ธ ๊ฐ’์„ Visual Studio Code์— MCP ์„œ๋ฒ„๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ctrl + shift + P (Windows/Linux) ๋˜๋Š” cmd + shift + P (Mac)๋ฅผ ๋ˆ„๋ฅด๊ณ  MCP๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  2. MCP: Add Serverโ€ฆ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. HTTP (HTTP or Server-Sent Events)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. ์ž…๋ ฅ ์ƒ์ž์— ์„œ๋ฒ„ URL์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋์— /mcp๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

  5. Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

  6. ์„œ๋ฒ„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JokesMCP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. User Settings๋ฅผ ์„ ํƒํ•ด MCP ์„œ๋ฒ„ ์„ค์ •์„ ์‚ฌ์šฉ์ž ์„ค์ •์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

    ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด settings.json ํŒŒ์ผ์— MCP ์„œ๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค:

    settings.json ํŒŒ์ผ
    settings.json ํŒŒ์ผ
  8. GitHub Copilot์„ ์—ฝ๋‹ˆ๋‹ค.

  9. Agent ๋ชจ๋“œ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  10. ๋„๊ตฌ ์•„์ด์ฝ˜์„ ์„ ํƒํ–ˆ์„ ๋•Œ JokesMCP ์„œ๋ฒ„ ์•ก์…˜์ด ์„ ํƒ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

    GitHub Copilot์˜ ๋„๊ตฌ ๋ฉ”๋‰ด
    GitHub Copilot์˜ ๋„๊ตฌ ๋ฉ”๋‰ด
  11. ๋‹ค์Œ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

     Get a chuck norris joke from the Dev category
    

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

Dev ์นดํ…Œ๊ณ ๋ฆฌ ๋†๋‹ด ์š”์ฒญ๊ณผ GitHub Copilot์˜ ์‘๋‹ต ์Šคํฌ๋ฆฐ์ƒท
Dev ์นดํ…Œ๊ณ ๋ฆฌ ๋†๋‹ด ์š”์ฒญ๊ณผ ์‘๋‹ต

์ด์ œ Visual Studio Code์— JokesMCP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค!

๐Ÿงช Lab 1.3 - Microsoft Copilot Studio์—์„œ Jokes MCP Server ์‚ฌ์šฉ

Microsoft Copilot Studio์—์„œ Jokes MCP Server๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  MCP ์„œ๋ฒ„๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ ์ƒ์„ฑ ๋ฐ MCP ์„œ๋ฒ„ ๋„๊ตฌ ์ถ”๊ฐ€

  1. Copilot Studio๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  2. ์™ผ์ชฝ ์•„๋ž˜์˜ ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‚ฌ์šฉํ•  ํ™˜๊ฒฝ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์™ผ์ชฝ ํƒ์ƒ‰์—์„œ Agents๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. New Agent ๋˜๋Š” Create your first agent ๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๊ฐ™์€ ๋™์ž‘์„ ํ•ฉ๋‹ˆ๋‹ค.

    ์ƒˆ ์—์ด์ „ํŠธ ์ƒ์„ฑ
    ์ƒˆ ์—์ด์ „ํŠธ ์ƒ์„ฑ

    ์ฐธ๊ณ : ์—์ด์ „ํŠธ ์ƒ์„ฑ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต 10์ดˆ ์ด๋‚ด์— ์—์ด์ „ํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  5. ์ด์ œ ์ด๋ฆ„์„ Jokester๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋ฆ„ ํŽธ์ง‘
    ์ด๋ฆ„ ํŽธ์ง‘
  6. ์ด๋ฆ„์„ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค:

     Jokester
    
  7. ๋‹ค์Œ Instructions๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

     You are a joke-telling assistant. Your sole purpose is to deliver appropriate, clever, and engaging jokes upon request. Follow these rules:
        
     * Respond only when the user asks for a joke or something related (e.g., "Tell me something funny").
     * Match the tone and humor preference of the user based on their inputโ€”clean, dark, dry, pun-based, dad jokes, etc.
     * Never break character or provide information unrelated to humor.
     * Keep jokes concise and clearly formatted.
     * Avoid offensive, discriminatory, or NSFW content.
     * When unsure about humor preference, default to a clever and universally appropriate joke.
     * Do not repeat jokes within the same session.
     * Avoid explaining the joke unless explicitly asked.
     * Be responsive, witty, and quick.
    
  8. Save๋ฅผ ์„ ํƒํ•ด Instructions๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  9. ์˜ค๋ฅธ์ชฝ ๋ฉ”๋‰ด์—์„œ Tools๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    Tools ๋ฉ”๋‰ด
    Tools ๋ฉ”๋‰ด
  10. Add๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ Model Context Protocol MCP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    MCP ์ƒ์„ฑ
    MCP ์ƒ์„ฑ

    ์ƒˆ MCP ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  11. ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

     Jokes MCP Server
    
  12. ์„ค๋ช…์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

     MCP server that fetches Chuck Norris and dad jokes on demand.
    
  13. devtunnel URL์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: https://something-3000.something.devtunnels.ms/mcp ๋˜๋Š” Azure์— ๋ฐฐํฌ๋œ MCP ์„œ๋ฒ„ URL.

  14. Add๋ฅผ ์„ ํƒํ•ด MCP ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    MCP ์„œ๋ฒ„ ์ƒ์„ฑ
    MCP ์„œ๋ฒ„ ์ƒ์„ฑ

    Copilot Studio๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ปค๋„ฅํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

  15. Not connected (1)์™€ Create new Connection (2)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์•ก์…˜ ๋ฐ ์—ฐ๊ฒฐ
    ์•ก์…˜ ๋ฐ ์—ฐ๊ฒฐ
  16. ์›ํ•˜๋Š” ๊ฒฝ์šฐ display name (1)์„ ์ž…๋ ฅํ•˜๊ณ  Create (2)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์—ฐ๊ฒฐ ์ƒ์„ฑ
    ์—ฐ๊ฒฐ ์ƒ์„ฑ
  17. Add๋ฅผ ์„ ํƒํ•ด MCP ์„œ๋ฒ„๋ฅผ ์—์ด์ „ํŠธ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    MCP ์„œ๋ฒ„๋ฅผ ์—์ด์ „ํŠธ์— ์ถ”๊ฐ€
    MCP ์„œ๋ฒ„๋ฅผ ์—์ด์ „ํŠธ์— ์ถ”๊ฐ€

    ํŒ: ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด MCP ์„œ๋ฒ„๊ฐ€ ์—์ด์ „ํŠธ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

    MCP ์„œ๋ฒ„ ๋„๊ตฌ
    MCP ์„œ๋ฒ„ ๋„๊ตฌ
  18. ์ƒ๋‹จ ๊ฐ€์šด๋ฐ์˜ Preview๋ฅผ ์„ ํƒํ•ด Build mode์—์„œ Preview mode๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    Preview mode
    Preview mode
  19. Preview mode์—์„œ ๋‹ค์Œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค:

     Can I get a Chuck Norris joke?
    

    ์—์ด์ „ํŠธ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  20. Allow๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์—์ด์ „ํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ์šฉ
    ์—ฐ๊ฒฐ ์‚ฌ์šฉ ํ—ˆ์šฉ

    ๊ทธ๋Ÿฌ๋ฉด ์—์ด์ „ํŠธ๊ฐ€ MCP ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ  ๋†๋‹ด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    ๋†๋‹ด ๊ฒฐ๊ณผ
    ๋†๋‹ด ๊ฒฐ๊ณผ
  21. ์ด์ œ ๋‹ค์Œ ๋ฉ”์‹œ์ง€๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค:

     Can I get a Dad joke?
    

    ์ด์ œ ์•„๋น  ๊ฐœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    ์•„๋น  ๊ฐœ๊ทธ
    ์•„๋น  ๊ฐœ๊ทธ

์ด๋กœ์จ Jokes MCP Server๊ฐ€ Microsoft Copilot Studio์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงช Lab 1.4 - Azure ๋ฆฌ์†Œ์Šค ์ œ๊ฑฐ

Azure์— MCP ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ–ˆ๋‹ค๋ฉด Azure ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. ๋žฉ์„ ๋งˆ์นœ ๋’ค Azure ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

azd down

์ด ๋ช…๋ น์€ ์‚ญ์ œ๋  ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. y๋กœ ํ™•์ธํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์ง€๋งŒ, ๋งˆ์ง€๋ง‰์— ํ™•์ธ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

๋ฆฌ์†Œ์Šค ์‚ญ์ œ ์™„๋ฃŒ
๋ฆฌ์†Œ์Šค ์‚ญ์ œ ์™„๋ฃŒ

โœ… ๋ฏธ์…˜ ์™„๋ฃŒ

์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค, ์—์ด์ „ํŠธ โ€” ๋ฏธ์…˜ ์™„๋ฃŒ! MCP ์„œ๋ฒ„๋ฅผ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌํ•˜๊ณ  GitHub Copilot๊ณผ Microsoft Copilot Studio ๋ชจ๋‘์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฏธ์…˜์—์„œ ๋‹ฌ์„ฑํ•œ ๊ฒƒ:

โœ… MCP ์„œ๋ฒ„ ๋ฐฐํฌ: Node.js์™€ Docker๋ฅผ ์‚ฌ์šฉํ•ด ์ปค์Šคํ…€ MCP ์„œ๋ฒ„๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… ๋กœ์ปฌ ๋ฐ ํด๋ผ์šฐ๋“œ ํ˜ธ์ŠคํŒ…: ํฌํŠธ ํฌ์›Œ๋”ฉ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ณ  Azure Developer CLI๋ฅผ ์‚ฌ์šฉํ•ด Azure์— ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… GitHub Copilot ํ†ตํ•ฉ: MCP ์„œ๋ฒ„๋ฅผ Visual Studio Code์— ์—ฐ๊ฒฐํ•˜๊ณ  GitHub Copilot Agent Mode์—์„œ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… Copilot Studio ํ†ตํ•ฉ: MCP ์„œ๋ฒ„๋ฅผ ์ปค์Šคํ…€ Instructions์™€ ๋„๊ตฌ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ๊ฐ–์ถ˜ Copilot Studio ์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ… ์™„๋ฃŒ ๋ฐฐ์ง€ ๋ฐ›๊ธฐ

MCP Joker Badge
MCP Joker Badge

์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค, ์—์ด์ „ํŠธ. ๋ฏธ์…˜ ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค! ์ด์ œ ๋ฐฐ์ง€๋ฅผ ๋ฐ›์„ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

๋ฐฐ์ง€ ์š”์ฒญ ์–‘์‹์„ ์ œ์ถœํ•˜๊ณ  ๋ชจ๋“  ํ•„์ˆ˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜์„ธ์š”:

https://aka.ms/agent-academy-special-ops/mcsmcp/form

์ œ์ถœ์ด ๊ฒ€ํ† ๋˜๋ฉด Global AI Community์—์„œ ๋ฐฐ์ง€ ์ˆ˜๋ น ์•ˆ๋‚ด ์ด๋ฉ”์ผ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํŒ: ์ด๋ฉ”์ผ์ด ๋ณด์ด์ง€ ์•Š์œผ๋ฉด ์ŠคํŒธ ๋˜๋Š” ์ •ํฌ ํด๋”๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๐Ÿ“š ์ „์ˆ  ์ž๋ฃŒ

๐Ÿ“– Microsoft Copilot Studio MCP ๋ฐœํ‘œ ๋ธ”๋กœ๊ทธ

๐Ÿ“– Microsoft Copilot Studio MCP ๋ฌธ์„œ

๐Ÿ“– Model Context Protocol ๊ฐœ์š”