Skip to main content
Glama

이 문서는 FastAPI 서버를 MySQL, Redis와 함께 Docker로 실행하고, Python 3.12.10 로컬 개발환경에서도 동일하게 사용할 수 있도록 구성하는 방법을 안내합니다.


🧱 아키텍처 구성

┌─────────────────────────────┐ │ Cursor / VSCode / Client │ │ (LLM Agent) │ └──────────────┬──────────────┘ │ MCP (HTTP) ▼ ┌─────────────────────────────┐ │ MCP Server (FastMCP) │ │ FastAPI + MCP SDK │ │ │ │ ├── Tool Registry │ │ ├── LLM Tool │ │ └── DB Tool (optional) │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Ollama Server │ │ (LLM Runtime, Docker) │ └─────────────────────────────┘
  • LLM(Client)은 MCP HTTP API만 호출

  • FastAPI는 Tool Router + 비즈니스 로직 분리

  • Redis는 캐시, MySQL은 영속 데이터 저장소 역할


🧱 전체 디렉토리 구조

mcp-llm-stack/ │ ├── docker-compose.yml ├── Dockerfile ├── requirements.txt │ └── app/ ├── main.py # FastMCP 엔트리 │ ├── mcp/ │ ├── __init__.py │ └── tools.py # MCP Tools (LLM 호출) │ └── llm/ └── ollama_client.py # Ollama 호출 로직

📌 VS Code 디버그 세팅

다음 파일들은 디버그 모드 전용입니다.

  • Dockerfile_debug

  • docker-compose.yml_debug

👉 VS Code에서 FastAPI + Docker + breakpoints 디버깅 가능


📌 1. 실행 방법

Windows 환경에서는 Docker Desktop이 실행 중이어야 합니다.

🐳 Docker Compose 실행

docker-compose up --build

🚀 백그라운드(데몬) 실행

docker-compose up --build -d

🛑 컨테이너 종료

docker-compose down

📌 Docker 캐시 제거 (빌드 오류 시)

docker build --no-cache -t myfastapi .

📌 Docker 캐시 충돌 오류 해결

캐시 충돌로 인해 빌드 오류가 발생할 경우 아래 명령어로 해결할 수 있습니다.

docker system prune -a

⚠ 실행 시 모든 미사용 Docker 이미지/컨테이너가 제거됩니다.


-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lhmpaiPublic/McpLLMServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server