FastAPI-MCP 프로젝트 소개
FastAPI-MCP
는 FastAPI로 작성한 API 서버의 모든 엔드포인트(Endpoints)를 MCP 도구(tool)로 자동 변환해주는 라이브러리입니다. 별도의 설정 없이 FastAPI 앱에 바로 연결해 MCP 서버를 실행할 수 있으며, 요청/응답 모델의 스키마와 Swagger 문서까지 그대로 유지합니다. MCP(Model Context Protocol)는 Claude, Cursor 같은 AI 도구와 쉽게 통합되도록 고안된 프로토콜로, MCP 도구로 변환된 후에는 Claude Desktop 또는 Cursor 같은 도구에서 바로 사용할 수 있습니다.
기존에는 FastAPI 앱을 외부 시스템에서 도구화하려면 별도 API 문서나 SDK 생성, 커넥터 개발이 필요했습니다. 하지만 FastAPI-MCP
를 쓰면 앱을 그대로 MCP 서버로 확장할 수 있어 개발 생산성을 크게 끌어올릴 수 있습니다. 특히 LLM 기반 툴과의 연동이 필요한 프로젝트에서 큰 힘을 발휘합니다.
FastAPI-MCP의 주요 기능
- FastAPI 앱에 MCP 서버를 직접 Mount 가능
- 자동 엔드포인트 탐색 및 MCP 툴 변환
- 요청/응답 모델의 JSON 스키마 유지
- Swagger 문서에서 정의한 설명 및 정보 그대로 노출
- 사용자 정의(Custom) MCP 도구 추가 지원
설치 및 사용 방법
설치 방법
# uv를 사용하는 경우
uv add fastapi-mcp
# pip를 사용하는 경우
pip install fastapi-mcp
기본 사용법
from fastapi import FastAPI
from fastapi_mcp import add_mcp_server
app = FastAPI()
add_mcp_server(app, mount_path="/mcp", name="My API MCP")
고급 설정 예시
add_mcp_server(
app,
mount_path="/mcp",
name="My API MCP",
describe_all_responses=True,
describe_full_response_schema=True
)
사용자 정의(Custom) MCP 도구 추가하기
@mcp_server.tool()
async def get_server_time() -> str:
from datetime import datetime
return datetime.now().isoformat()
Claude Desktop에서 사용하기 (mcp-proxy 활용)
mcp-proxy
설치:uv tool install mcp-proxy
- MCP 서버 URL을 설정(JSON config)
- 자동으로 모든 툴을 인식하고 실행 가능!
라이선스
FastAPI-MCP 프로젝트는 MIT License로 공개 및 배포되고 있습니다. 상업적 사용에 제약이 없습니다.
FastAPI-MCP 프로젝트 GitHub 저장소
FastAPI-MCP 사용 예시
더 읽어보기
-
[Deep Research] Model Context Protocol(MCP) 개념 및 이해를 위한 학습 자료
-
AppleScript-MCP: AppleScript 활용하여 macOS의 자동화 및 제어를 지원하는 MCP Server
-
Notion MCP Integration: Notion API & Model Context Protocol 통합 프로젝트
-
AgentIQ: 다양한 프레임워크의 Enterprise Agent들을 손쉽게 통합할 수 있도록 설계된 라이브러리 (feat. NVIDIA)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~