๐Ÿ’ญ์ง์‚ฌ๋ž‘ ํ‹ฐ ์•ˆ ๋‚ด๋Š” ๋ฒ•, ์ˆจ๊ธฐ๋Š” ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ๋งˆ์Œ์„ ๋‚ด๋ ค๋†“๋Š” ์—ฐ์Šต์ด ํ•„์š”ํ–ˆ๋˜ ์ง„์งœ ์ด์œ 

๐Ÿ“š MCP๋ž€ ๋ฌด์—‡์ธ๊ฐ€? AI ๋„๊ตฌ ์—ฐ๊ฒฐ ํ‘œ์ค€ Model Context Protocol ์™„์ „ ์ •๋ฆฌ

๋ณต์žกํ•œ AI ๋„๊ตฌ ์—ฐ๊ฒฐ์„ ํ•˜๋‚˜์˜ ํ‘œ์ค€์œผ๋กœ

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

๊ทธ ํ•ด๊ฒฐ์ฑ…์ด ๋ฐ”๋กœ MCP(Model Context Protocol)์ž…๋‹ˆ๋‹ค.


MCP์˜ ํ•ต์‹ฌ ๊ฐœ๋…: AI๋ฅผ ์œ„ํ•œ USB ํ—ˆ๋ธŒ

MCP๋Š” Anthropic์ด 2024๋…„ ๊ณต๊ฐœํ•œ ์˜คํ”ˆ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๋ชฉํ‘œ๋Š” "AI ๋ชจ๋ธ์ด ์™ธ๋ถ€ ์„ธ๊ณ„์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ์‹์„ ํ‘œ์ค€ํ™”ํ•˜๋Š” ๊ฒƒ"์ž…๋‹ˆ๋‹ค.

USB๋ฅผ ์ƒ๊ฐํ•ด ๋ณด๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” ๋งˆ์šฐ์Šค๋Š” PS/2, ํ‚ค๋ณด๋“œ๋Š” DIN, ํ”„๋ฆฐํ„ฐ๋Š” ๋ณ‘๋ ฌ ํฌํŠธ๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. ์žฅ์น˜๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ทœ๊ฒฉ์ด ํ•„์š”ํ–ˆ์ฃ . USB๊ฐ€ ๋‚˜์˜ค๋ฉด์„œ ๋ชจ๋“  ์žฅ์น˜๋ฅผ ํ•˜๋‚˜์˜ ํ‘œ์ค€ ํฌํŠธ์— ๊ฝ‚์„ ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.

MCP๊ฐ€ ๋ฐ”๋กœ ๊ทธ ์—ญํ• ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” AI๊ฐ€ GitHub ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด Claude ์ „์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ, GPT ์ „์šฉ Function Calling์„ ๋”ฐ๋กœ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. MCP๋Š” ์ด๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋งŒ๋“ค์–ด๋„ ์–ด๋–ค AI ์–ด์‹œ์Šคํ„ดํŠธ์—์„œ๋“  ๋™์ž‘ํ•˜๋„๋ก ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด: - MCP ์„œ๋ฒ„: ํŠน์ • ๋ฐ์ดํ„ฐ ์†Œ์Šค๋‚˜ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ธฐ๋Šฅ์„ ์ œ๊ณต (์˜ˆ: ํŒŒ์ผ ์‹œ์Šคํ…œ, DB, Slack ๋“ฑ) - MCP ํด๋ผ์ด์–ธํŠธ: AI ๋ชจ๋ธ์ด MCP ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ์ชฝ (Claude Desktop, Cursor ๋“ฑ) - ํ”„๋กœํ† ์ฝœ: ๋‘ ๊ตฌ์„ฑ์š”์†Œ ๊ฐ„ JSON-RPC ๊ธฐ๋ฐ˜ ํ†ต์‹  ๊ทœ๊ฒฉ


์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€: ์š”์ฒญ๋ถ€ํ„ฐ ๋‹ต๋ณ€๊นŒ์ง€

์˜ˆ๋ฅผ ๋“ค์–ด Claude Desktop์— ํŒŒ์ผ ์‹œ์Šคํ…œ MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•œ ์ƒํ™ฉ์„ ์ƒ์ƒํ•ด ๋ณด์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ "ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ README ํŒŒ์ผ ๋‚ด์šฉ ์š”์•ฝํ•ด ์ค˜"๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด:

1. Claude๊ฐ€ ์˜๋„ ํŒŒ์•… → ํŒŒ์ผ์„ ์ฝ์–ด์•ผ ํ•œ๋‹ค๊ณ  ํŒ๋‹จ 2. MCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ → `read_file("/project/README.md")` ํ˜ธ์ถœ 3. MCP ์„œ๋ฒ„๊ฐ€ ์‹ค์ œ ํŒŒ์ผ ์ฝ๊ธฐ ์ˆ˜ํ–‰ → ๋‚ด์šฉ ๋ฐ˜ํ™˜ 4. Claude๊ฐ€ ๋ฐ˜ํ™˜๋œ ๋‚ด์šฉ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€ → ์š”์•ฝ ์ œ๊ณต

AI ์–ด์‹œ์Šคํ„ดํŠธ๊ฐ€ "๋ง๋กœ๋งŒ ํ•˜๋Š” ์กด์žฌ"๊ฐ€ ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ ํ–‰๋™ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—์ด์ „ํŠธ๋กœ ์ง„ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Before MCP: AI์—๊ฒŒ ํŒŒ์ผ ๋‚ด์šฉ์„ ์•Œ๋ ค์ฃผ๋ ค๋ฉด ์ง์ ‘ ๋ณต์‚ฌํ•ด์„œ ์ฑ„ํŒ…์ฐฝ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. After MCP: "์ด ํด๋”์—์„œ PR #42 ๊ด€๋ จ ์ฝ”๋“œ ์ฐพ์•„์ค˜" ํ•œ ๋งˆ๋””๋ฉด ๋ฉ๋‹ˆ๋‹ค. GitHub MCP ์„œ๋ฒ„๊ฐ€ PR ๋‚ด์šฉ์„ ์ง์ ‘ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.


MCP ์„œ๋ฒ„ ์ง์ ‘ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค

MCP ์„œ๋ฒ„๋Š” ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค์–ด ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Node.js ๋˜๋Š” Python SDK๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

- Tools: AI๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์•ก์…˜. `create_issue`, `send_slack_message` ๊ฐ™์€ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. - Resources: AI๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค. ํŒŒ์ผ, DB ๋ ˆ์ฝ”๋“œ, API ์‘๋‹ต ๋“ฑ์ž…๋‹ˆ๋‹ค. - Prompts: ์ž์ฃผ ์“ฐ๋Š” ์ž‘์—…์„ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •์˜๋œ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.

ํŒ€ ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด๋ถ€ ์‹œ์Šคํ…œ์„ MCP ์„œ๋ฒ„๋กœ ๋งŒ๋“ค๋ฉด, ์ดํ›„์—๋Š” "์ด๋ฒˆ ๋‹ฌ ๋ฏธ์™„๋ฃŒ ์ด์Šˆ ๋ชฉ๋ก ์ •๋ฆฌํ•ด ์ค˜"๋ผ๊ณ ๋งŒ ํ•ด๋„ Claude๊ฐ€ Jira์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์ •๋ฆฌํ•ด ์ค๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๋งŒ๋“ค๋ฉด ํŒ€ ์ „์ฒด์˜ AI ์›Œํฌํ”Œ๋กœ๊ฐ€ ํ†ต์งธ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฉ๋‹ˆ๋‹ค.


์ง€๊ธˆ ๋‹น์žฅ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ณต์‹ MCP ์„œ๋ฒ„๋“ค

์ด๋ฏธ ๊ณต๊ฐœ๋œ MCP ์„œ๋ฒ„๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด:

| ์„œ๋ฒ„ ์ด๋ฆ„ | ๊ธฐ๋Šฅ | |---|---| | `filesystem` | ๋กœ์ปฌ ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ | | `github` | PR, ์ด์Šˆ, ์ฝ”๋“œ ๊ด€๋ฆฌ | | `postgres` | SQL ์ฟผ๋ฆฌ ์‹คํ–‰ | | `brave-search` | ์›น ๊ฒ€์ƒ‰ ๋ฐ ์š”์•ฝ | | `slack` | ๋ฉ”์‹œ์ง€ ์ฝ๊ธฐ/๋ณด๋‚ด๊ธฐ |

Claude Desktop์˜ `claude_desktop_config.json`์— ๋ช‡ ์ค„๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


MCP๊ฐ€ AI ์ƒํƒœ๊ณ„์— ์˜๋ฏธํ•˜๋Š” ๊ฒƒ

MCP๋Š” ๋‹จ์ˆœํžˆ "AI๊ฐ€ ๋” ๋งŽ์€ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค"๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. AI๊ฐ€ ์‹ค์ œ ์—…๋ฌด ํ™˜๊ฒฝ์— ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ƒ๊ฒผ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์„œ๋น„์Šค๊ฐ€ MCP ์„œ๋ฒ„๋ฅผ ๊ณต๊ฐœํ• ์ˆ˜๋ก, AI ์–ด์‹œ์Šคํ„ดํŠธ๋Š” ์ž๋™์œผ๋กœ ๋” ๊ฐ•๋ ฅํ•ด์ง‘๋‹ˆ๋‹ค. MCP๋Š” ๊ทธ ์„ฑ์žฅ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ฉํ•ด ์ฃผ๋Š” ๊ทœ๊ฒฉ์ž…๋‹ˆ๋‹ค.

๊ด€๋ จ ๊ธ€: MCP ๊ด€๋ จ ๊ธ€ ๋” ๋ณด๊ธฐ

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

[๋กœ์ŠคํŠธ์•„ํฌ] ์ œ์ž‘ ํšจ์œจ ์ตœ์ ํ™” ์œ„ํ•œ ์˜์ง€ ์„ธํŒ…

[๋กœ์ŠคํŠธ์•„ํฌ] ๋กœ์ŠคํŠธ์•„ํฌ ์ƒํ™œ ๋„๊ตฌ ์˜ต์…˜

ํ•œ๊ตญ ํ•ต๋ฌด์žฅ ๋…ผ์˜์™€ ๋ฐฉ์œ„์‚ฐ์—… ๊ด€๋ จ์ฃผ: ํ•ต๋ฌด๊ธฐ ๊ฐœ๋ฐœ ๊ณผ์ •๊ณผ ์œ ๋ง ์ข…๋ชฉ ๋ถ„์„