๐Ÿ“š 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 ๊ด€๋ จ ๊ธ€ ๋” ๋ณด๊ธฐ](https://warguss.blogspot.com/search?q=MCP+๊ด€๋ จ+๊ธ€)

๋Œ“๊ธ€

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

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

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

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