๐Ÿ› ๏ธAI ๋„๊ตฌ2026-01-28

ํŒŒ์ด์ฌ์œผ๋กœ ๋š๋”ฑ! ๊ฐ€์žฅ ์‰ฌ์šด MCP ์„œ๋ฒ„, FastMCP 3.0

๐Ÿ’ก ํ•œ์ค„ ์š”์•ฝ: ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ํŒŒ์ด์ฌ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํ•˜๋‚˜๋กœ MCP ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ ? FastMCP 3.0์ด ์ถœ์‹œ๋์–ด. ํ•ซ ๋ฆฌ๋กœ๋”ฉ๋ถ€ํ„ฐ ๋””๋ฒ„๊น…๊นŒ์ง€, ์ด์ œ AI ์—์ด์ „ํŠธ ๋„๊ตฌ ๊ฐœ๋ฐœ๋„ ์›น ๊ฐœ๋ฐœ์ฒ˜๋Ÿผ ์‰ฌ์›Œ์ง€๋Š” ๊ฑฐ์•ผ.

๐Ÿค” ์ด๊ฒŒ ๋ญ”๋ฐ?

MCP(Model Context Protocol)๊ฐ€ ์š”์ฆ˜ ํ•ซํ•˜์ž–์•„. Claude ๊ฐ™์€ AI ๋ชจ๋ธ์ด ๋‚ด ๋ฐ์ดํ„ฐ๋‚˜ ํˆด์— ์ ‘๊ทผํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์ธ๋ฐ, ์‚ฌ์‹ค ์ด๊ฑฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ์งœ๋ ค๋ฉด ์€๊ทผํžˆ ๊ท€์ฐฎ๊ฑฐ๋“ .

FastMCP 3.0์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ด๊ฑธ '์—„์ฒญ ๋น ๋ฅด๊ฒŒ' ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŒŒ์ด์ฌ ํ”„๋ ˆ์ž„์›Œํฌ์•ผ. FastAPI ์จ๋ณธ ์  ์žˆ์–ด? ๋”ฑ ๊ทธ ๋А๋‚Œ์ด์•ผ. @mcp.tool() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋งŒ ๋ถ™์ด๋ฉด ๊ทธ ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋กœ AI๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ๋˜๋Š” ๋งˆ๋ฒ•์ด์ง€.

๋‹จ์ˆœํžˆ ์‰ฌ์šด ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ์—์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ฝ‰ ์ฑ„์›Œ์„œ ๋‚˜์™”์–ด. ๊ฐœ๋ฐœํ•  ๋•Œ ์„œ๋ฒ„ ๊ป๋‹ค ์ผฐ๋‹ค ํ•  ํ•„์š” ์—†๋Š” 'ํ•ซ ๋ฆฌ๋กœ๋”ฉ', ์ด๋ฏธ์ง€ ๊ฐ™์€ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์—๋Ÿฌ ๋‚ฌ์„ ๋•Œ ์–ด๋””๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€์‹œ๋ณด๋“œ๊นŒ์ง€. ์ด์ œ "MCP ์„œ๋ฒ„ ๋งŒ๋“œ๋Š” ๊ฒŒ ์–ด๋ ค์›Œ์„œ ๋ชปํ•˜๊ฒ ์–ด์š”"๋ผ๋Š” ํ•‘๊ณ„๋Š” ์•ˆ ํ†ตํ•  ๊ฒƒ ๊ฐ™๋„ค.

๐Ÿ“Œ ํ•ต์‹ฌ ์ •๋ฆฌ

  • ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ๊ธฐ๋ฐ˜: FastAPI์ฒ˜๋Ÿผ ์ง๊ด€์ ์ธ ์ฝ”๋“œ๋กœ MCP ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
  • ์Šค๋งˆํŠธํ•œ ๊ธฐ๋Šฅ: ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ(์ด๋ฏธ์ง€ ๋“ฑ)์™€ ๊ธด ์ž‘์—… ์ฒ˜๋ฆฌ(Long contexts)๋„ ์ง€์›
  • ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜(DX): ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๋ฉด ๋ฐ”๋กœ ๋ฐ˜์˜๋˜๋Š” ํ•ซ ๋ฆฌ๋กœ๋”ฉ & ๋‚ด์žฅ ๋””๋ฒ„๊น… ํˆด
  • ๋‹ค์žฌ๋‹ค๋Šฅ: ๋‹จ์ˆœ ํˆด ์ œ๊ณต์„ ๋„˜์–ด ๋ฐ์ดํ„ฐ ๋ฆฌ์†Œ์Šค ์—ฐ๊ฒฐ, ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ ๊ด€๋ฆฌ๊นŒ์ง€
  • ์˜คํ”ˆ์†Œ์Šค: ๋ˆ„๊ตฌ๋‚˜ ๋ฌด๋ฃŒ๋กœ ์“ฐ๊ณ  ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Œ

MAX5์˜ ์ƒ๊ฐ ๐ŸŽฏ

๐Ÿ‘จโ€๐Ÿ’ป ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ๋ ˆ์‹œํ”ผ

FastMCP๋กœ '๋‚ด ๋กœ์ปฌ ํŒŒ์ผ ๊ฒ€์ƒ‰๊ธฐ'๋ฅผ 3๋ถ„ ๋งŒ์— ๋งŒ๋“ค์–ด๋ณด์ž. Claude์—๊ฒŒ ์ด๋ ‡๊ฒŒ ์‹œ์ผœ๋ด.

ํ”„๋กฌํ”„ํŠธ:

"FastMCP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋กœ์ปฌ ํด๋”์˜ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด์ค˜.

  1. search_notes(query: str) ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  @mcp.tool๋กœ ๊ฐ์‹ธ.
  2. fd๋‚˜ grep ๋ช…๋ น์–ด๋ฅผ ํŒŒ์ด์ฌ subprocess๋กœ ์‹คํ–‰ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•˜๊ฒŒ ํ•ด.
  3. mcp-inspector๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์ฃผ์„์œผ๋กœ ๋‹ฌ์•„์ค˜."

์ด๋ ‡๊ฒŒ ๋งŒ๋“  ์„œ๋ฒ„๋ฅผ Claude Desktop ์•ฑ ์„ค์ •(claude_desktop_config.json)์— ๋“ฑ๋กํ•˜๋ฉด, ์ด์ œ Claude๊ฐ€ ๋‚ด ์ปดํ“จํ„ฐ ์† ๋…ธํŠธ๋ฅผ ์ฝ๊ณ  ๋Œ€๋‹ตํ•ด์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฑฐ์•ผ.

๐Ÿ’ธ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์•„์ด๋””์–ด

"SaaS ์—ฐ๋™ ์ „์šฉ MCP ์—์ด์ „ํŠธ" ์Šฌ๋ž™, ๋…ธ์…˜, ์ง€๋ผ ๊ฐ™์€ ํˆด๋“ค์€ API๊ฐ€ ๋‹ค ์ œ๊ฐ๊ฐ์ด๋ผ ์—ฐ๋™ํ•˜๊ธฐ ํž˜๋“ค์ž–์•„. FastMCP๋กœ ์ด API๋“ค์„ ํ†ต์ผ๋œ MCP ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ฐ์‹ธ์„œ(Wrapper) ์ œ๊ณตํ•˜๋Š” ๊ฑฐ์•ผ. "์Šฌ๋ž™์—์„œ ์•ˆ ์ฝ์€ ๋ฉ”์‹œ์ง€ ์š”์•ฝํ•ด์ค˜" ๊ฐ™์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐฐํฌํ•ด๋ณด๋ฉด ์–ด๋–จ๊นŒ? ๊ธฐ์—… ๋‚ด๋ถ€์šฉ AI ๋„์ž…ํ•  ๋•Œ ํ•„์ˆ˜์ ์ธ ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ์–ด.

์ด ๊ธ€์ด ์–ด๋• ๋‚˜์š”?