๐ก ํ์ค ์์ฝ: ๋ณต์กํ ์ค์ ์์ด ํ์ด์ฌ ๋ฐ์ฝ๋ ์ดํฐ ํ๋๋ก 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 ์๋ฒ๋ฅผ ๋ง๋ค์ด์ค.
search_notes(query: str)ํจ์๋ฅผ ๋ง๋ค๊ณ@mcp.tool๋ก ๊ฐ์ธ.fd๋grep๋ช ๋ น์ด๋ฅผ ํ์ด์ฌsubprocess๋ก ์คํํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๊ฒ ํด.mcp-inspector๋ก ํ ์คํธํ๋ ๋ฐฉ๋ฒ๋ ์ฃผ์์ผ๋ก ๋ฌ์์ค."
์ด๋ ๊ฒ ๋ง๋ ์๋ฒ๋ฅผ Claude Desktop ์ฑ ์ค์ (claude_desktop_config.json)์ ๋ฑ๋กํ๋ฉด, ์ด์ Claude๊ฐ ๋ด ์ปดํจํฐ ์ ๋
ธํธ๋ฅผ ์ฝ๊ณ ๋๋ตํด์ค ์ ์๊ฒ ๋๋ ๊ฑฐ์ผ.
๐ธ ์ฌ์ด๋ ํ๋ก์ ํธ ์์ด๋์ด
"SaaS ์ฐ๋ ์ ์ฉ MCP ์์ด์ ํธ" ์ฌ๋, ๋ ธ์ , ์ง๋ผ ๊ฐ์ ํด๋ค์ API๊ฐ ๋ค ์ ๊ฐ๊ฐ์ด๋ผ ์ฐ๋ํ๊ธฐ ํ๋ค์์. FastMCP๋ก ์ด API๋ค์ ํต์ผ๋ MCP ์ธํฐํ์ด์ค๋ก ๊ฐ์ธ์(Wrapper) ์ ๊ณตํ๋ ๊ฑฐ์ผ. "์ฌ๋์์ ์ ์ฝ์ ๋ฉ์์ง ์์ฝํด์ค" ๊ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋ฒ๋ฅผ ๋ง๋ค์ด์ ๋ฐฐํฌํด๋ณด๋ฉด ์ด๋จ๊น? ๊ธฐ์ ๋ด๋ถ์ฉ AI ๋์ ํ ๋ ํ์์ ์ธ ๋ฏธ๋ค์จ์ด๊ฐ ๋ ์๋ ์์ด.