Python MCP 서버 구축 — Claude·GPT가 내 API를 도구로 쓰게 만드는 법
REST API 엔드포인트 하나 붙이는 데 Swagger 문서 작성까지 포함해서 30분이 걸렸다. 같은 기능을 MCP 도구로 등록하는 데는 5분이면 됐다. Python mcp 패키지로 서버를 만들고 Claude Desktop에서 자연어로 호출하기까지의 과정이다.
REST API 엔드포인트 하나 붙이는 데 Swagger 문서 작성까지 포함해서 30분이 걸렸다. 같은 기능을 MCP 도구로 등록하는 데는 5분이면 됐다. Python mcp 패키지로 서버를 만들고 Claude Desktop에서 자연어로 호출하기까지의 과정이다.
매일 반복하던 엑셀 가공, 메일 발송, 폴더 정리를 Python 스크립트 3개로 대체한 과정이다. openpyxl, smtplib, pathlib 각각의 실전 사용법과 삽질 포인트를 다룬다.
레거시 Flask 서버 40개 엔드포인트를 FastAPI REST API로 전환한 과정이다. JWT 인증 구현, Pydantic 모델 도입, Docker 멀티스테이지 빌드까지 실제 프로젝트에서 겪은 시행착오를 시간순으로 풀었다.
requests로 긁었는데 빈 리스트가 돌아왔다. 알고 보니 JavaScript 렌더링 페이지였다. BeautifulSoup과 Selenium을 실무에서 어떻게 나눠 쓰는지, 삽질 과정과 함께 정리했다.
requests 순차 호출로 8초 걸리던 API 집계를 asyncio.gather와 aiohttp로 1.6초까지 줄인 과정이다. event loop 충돌, 세션 관리, 동시성 제어까지 프론트 출신 백엔드 개발자 시점에서 풀어냈다.
월 $180이던 LLM API 비용을 $72까지 줄인 Python LLM API 비용 최적화 실전기. 시멘틱 캐싱, OpenAI Batch API, 프롬프트 압축 세 가지를 조합해서 적용한 과정과 주의할 점을 다룬다.
FastAPI에서 JWT 인증을 직접 구현하면서 3시간을 날린 경험을 바탕으로, 토큰 설계부터 Depends 체이닝을 이용한 권한 분리까지 실무에서 마주친 함정들을 다룬다.
커버리지 80%를 달성했는데 버그는 왜 안 줄었나. unittest에서 pytest로 전환하면서 겪은 시행착오와 fixture·mock·커버리지 리포트를 실무에서 올바르게 쓰는 방법을 정리했다.
Python 비동기 크롤링 aiohttp 조합으로 requests 대비 10배 속도를 얻는 과정을 정리했다. 단순 교체가 아닌 asyncio.Semaphore 동시성 제어와 지수 백오프 재시도까지 포함한 실전 크롤러 코드를 다룬다.
FastAPI 프로젝트의 Docker 이미지가 1.2GB까지 불어났다. 멀티스테이지 빌드와 .dockerignore 설정으로 187MB까지 줄인 과정을 단계별로 정리했다. slim과 alpine 비교, 빌드 에러 대응 포함.