๐ FastAPI์ AI ์์ด์ ํธ์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ, FastAPI-MCP ๊ณต๊ฐ!
์์ฆ AI ์์คํ
๊ณผ ๊ธฐ์กด ์น ์๋น์ค์ ํตํฉ์ ๊ด์ฌ์ด ๋ง์ผ์ ๊ฐ์?
๊ทธ๋ ๋ค๋ฉด ์ฃผ๋ชฉํ ๋งํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋์์ต๋๋ค.
๋ฐ๋ก FastAPI-MCP์
๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ FastAPI ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ AI ์์ด์ ํธ์ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ฒฐํด์ฃผ๋ Model Context Protocol(MCP) ๋ธ๋ฆฟ์ง์
๋๋ค.
๊ฐ์ฅ ์ธ์์ ์ธ ํน์ง์ ๋ฐ๋ก โ์ ๋ก ์ค์ (Zero-config)โ โ ๊ฐ๋ฐ์๊ฐ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ฑฐ์ ์์ ํ์ง ์๊ณ ๋, FastAPI ์๋ํฌ์ธํธ๋ฅผ MCP ํธํ ํด๋ก ์๋ ์ ํํ ์ ์๋ค๋ ์ ์
๋๋ค.
๐ง FastAPI-MCP๋ ๋ฌด์์ ํด๊ฒฐํด์ฃผ๋๊ฐ?
FastAPI-MCP๋ ๊ธฐ์กด์ REST API๋ฅผ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก AI ์นํ์ ์ผ๋ก ๋ณํํฉ๋๋ค:
- FastAPI์ ๋ชจ๋ ์๋ํฌ์ธํธ๋ฅผ ์๋ ํ์ํ๊ณ , MCP ํด๋ก ๋ ธ์ถ
- ๊ธฐ์กด Swagger/OpenAPI ๋ฌธ์ ๊ธฐ๋ฐ์ ์คํค๋ง์ ๋ฌธ์ ์ ๋ณด ์ ์ง
- MCP ์๋ฒ๋ฅผ FastAPI ๋ด์ ๋ง์ดํธํ๊ฑฐ๋, ๋ ๋ฆฝ ์๋น์ค๋ก ๋ฐฐํฌ ๊ฐ๋ฅ
uv
,pip
๋ชจ๋ ์ค์น ์ง์ โ dev ํ๊ฒฝ์ด๋ CI/CD์์ ์ ์ฐํ๊ฒ ์ ์ฉ ๊ฐ๋ฅ
๊ฐ๋จํ ๋งํ๋ฉด:
โ์ฝ๋ ์์ ๊ฑฐ์ ์์ด, API๋ฅผ AI๊ฐ ์ฌ์ฉํ ์ ์๋ MCP ํด๋ก ๋ณํํด์ฃผ๋ ์๋ํ ๋ ์ด์ดโ์
๋๋ค.
๐ฌ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๋ฐ์์?
AI/ML ์ ๋ฌธ๊ฐ Pratham Chandratre๋ ์ด๋ ๊ฒ ๋งํ์ต๋๋ค:
โFastAPI๋ฅผ MCP์ ์ฐ๊ฒฐํ๋ ๊ฑด ์ง๊ธ AI/LLM ์ํ๊ณ์ ๊ผญ ํ์ํ๋ ์กฐ์น์ผ. ๊ธฐ์กด ํด์ ์ฌ์์ฑํ์ง ์๊ณ ๋ฐ๋ก ํ๋ก๋์ ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ค๋ ๊ฑด ์์ฒญ๋ ์ด์ .โ
๋ ๋ค๋ฅธ ๊ฐ๋ฐ์์ธ Murat Aslan์ ํ์ค์ ์ธ ์ง๋ฌธ์ ๋์ก์ต๋๋ค:
โFastAPI ์ฑ์ ์ด๋ ๊ฒ ์ฝ๊ฒ MCP ์๋ฒ๋ก ๋ฐ๊พธ๋ ๊ฑด ์ ๋ง ์ธ์์ ์ด์ผ. ๊ทธ๋ฐ๋ฐ ์ปค์คํ ๋ฏธ๋ค์จ์ด๋ ์ธ์ฆ ์์คํ ๋ ์ ์๋ํ ๊น?โ
์ด์ฒ๋ผ ์ค๋ฌด์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ์์ค์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋ํ ๊ธฐ๋๊ฐ ์ปค์ง๊ณ ์์ต๋๋ค.
๐ง ์ด๋ค ๊ณณ์ ํ์ฉํ ์ ์์๊น?
FastAPI-MCP๋ ๋ค์๊ณผ ๊ฐ์ ์๋๋ฆฌ์ค์์ ๊ฐ๋ ฅํ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๊ฐ ๋ ์ ์์ต๋๋ค:
- ๋ํํ ๋ฌธ์ํ (Conversational Docs): AI๊ฐ API ์ฌ์ฉ๋ฒ์ ์ค๋ช ํด์ฃผ๋ฉฐ ์ธํฐ๋์ ์ ๊ณต
- ์ํฐํ๋ผ์ด์ฆ ์๋ํ: ๋ด๋ถ API๋ฅผ ์์ด์ ํธ๊ฐ ํธ์ถํด ๋ฐ๋ณต ์์ ์๋ํ
- ๋ฐ์ดํฐ ์กฐํ/์ ๋ฐ์ดํธ ์์ด์ ํธ: API๋ฅผ ํตํด ์ค์๊ฐ ๋ฐ์ดํฐ ์ํธ์์ฉ
- ๋ฉํฐ ์์ด์ ํธ ํ์ : ์ฌ๋ฌ AI๊ฐ MCP API๋ก ํต์ ํ๋ฉฐ ๋ณตํฉ์ ์ธ ์์ ์ฒ๋ฆฌ
๐ ๏ธ ์ค์น ๋ฐ ์ฌ์ฉ ์์
pip install fastapi-mcp
# ๋๋
uv pip install fastapi-mcp
FastAPI ์ฑ ์์์ ๋ค์์ฒ๋ผ ๊ฐ๋จํ MCP ์๋ฒ๋ฅผ ๋ง์ดํธํ ์ ์์ต๋๋ค:
from fastapi_mcp import mount_mcp
app = FastAPI()
# MCP ์๋ฒ๋ฅผ FastAPI ์ฑ์ ํตํฉ
mount_mcp(app)
๐ ์คํ์์ค ์ฐธ์ฌ ๋ฐ ๋งํฌ
FastAPI-MCP๋ MIT ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋๋ฉฐ, ๋๊ตฌ๋ ์์ ๋กญ๊ฒ ์ฌ์ฉํ๊ณ ๊ฐ์ ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค.
๊ธฐ์ฌ๋ฅผ ์ํ์๋ ๋ถ๋ค์ ๊ณต์ ๊ธฐ์ฌ ๊ฐ์ด๋๋ฅผ ํ์ธํด์ฃผ์ธ์!
๐ฆ GitHub: github.com/tadata-ai/fastapi-mcp
๐ ๋ฌธ์: tadata.ai/docs/fastapi-mcp