Skip to content

ScriptonBasestar-containers/sb-docker-mcps

Repository files navigation

MCP Servers Docker & Kubernetes Integration

다양한 MCP(Model Context Protocol) 서버들을 도커 컨테이너로 관리하고 로컬 쿠버네티스 클러스터에 배포하기 위한 통합 관리 리포지터리

📋 프로젝트 개요

이 프로젝트는 awesome-mcp-servers에서 제공하는 다양한 MCP 서버들을 도커화하고, 로컬 쿠버네티스 환경에서 운영할 수 있도록 구성된 통합 관리 시스템입니다.

🏗️ 프로젝트 구조

sb-docker-mcps/
├── README.md
├── Makefile                        # 빌드 및 배포 자동화
├── docker-compose.yml             # 로컬 개발용
├── skaffold.yaml                   # 개발 워크플로우
├── config/
│   ├── default.yaml               # 기본 설정
│   └── local.yaml                 # 로컬 환경 설정
├── servers/                       # MCP 서버별 구성
│   ├── brave-search/
│   │   ├── Dockerfile
│   │   ├── package.json
│   │   ├── src/
│   │   └── k8s/
│   ├── postgres/
│   │   ├── Dockerfile
│   │   ├── requirements.txt
│   │   ├── src/
│   │   └── k8s/
│   ├── sqlite/
│   └── ...
├── infrastructure/               # 쿠버네티스 인프라 구성
│   ├── namespace/
│   ├── ingress/
│   ├── monitoring/
│   └── storage/
├── charts/                      # Helm 차트
│   ├── mcp-server/
│   └── mcp-gateway/
├── scripts/                     # 유틸리티 스크립트
│   ├── build-all.sh
│   ├── deploy-server.sh
│   └── setup-cluster.sh
└── docs/                        # 문서
    ├── setup.md
    ├── development.md
    └── deployment.md

🚀 주요 기능

  • 다중 MCP 서버 지원: PostgreSQL, SQLite, Brave Search, Google Drive 등
  • 컨테이너화: 각 서버별 도커 이미지 제공
  • 쿠버네티스 배포: Helm 차트를 통한 쉬운 배포
  • 로컬 개발 환경: Docker Compose를 통한 빠른 개발 환경 구성
  • 모니터링: Prometheus + Grafana 통합
  • Gateway: 단일 엔드포인트를 통한 다중 서버 접근

🛠️ 사전 요구사항

  • Docker & Docker Compose
  • Kubernetes (minikube, kind, k3s 등)
  • Helm 3.x
  • kubectl
  • make

⚡ 빠른 시작

# 1. 프로젝트 클론
git clone <repository-url>
cd sb-docker-mcps

# 2. 로컬 쿠버네티스 클러스터 설정
make setup-cluster

# 3. 전체 서버 빌드
make build-all

# 4. 기본 서버들 배포
make deploy-core

# 5. 개발 환경 시작 (선택사항)
make dev

📦 지원 서버 목록

Core Servers (기본 배포)

  • PostgreSQL Server - 데이터베이스 연동
  • SQLite Server - 로컬 DB 지원
  • File System Server - 파일 시스템 접근
  • Memory Server - 지식 그래프 기반 메모리

Extended Servers (선택 배포)

  • Brave Search - 웹 검색 기능
  • Google Drive - 클라우드 스토리지
  • GitHub Server - Git 리포지터리 관리
  • Slack Server - 커뮤니케이션
  • Weather Server - 날씨 정보

🔧 개발 가이드

새로운 서버 추가

# 서버 템플릿 생성
make create-server NAME=new-server-name LANG=python

# 개발 및 테스트
cd servers/new-server-name
make dev

# 빌드 및 배포
make build deploy

설정 관리

  • config/default.yaml: 기본 설정
  • config/local.yaml: 로컬 오버라이드
  • 각 서버별 k8s/values.yaml: 서버별 설정

📊 모니터링

# Grafana 대시보드 접근
kubectl port-forward svc/grafana 3000:3000

# Prometheus 메트릭 확인
kubectl port-forward svc/prometheus 9090:9090

🤝 기여 방법

  1. 이슈 생성 또는 기존 이슈 확인
  2. 피처 브랜치 생성
  3. 변경사항 커밋
  4. Pull Request 생성

📚 문서

📄 라이선스

MIT License

🙏 감사

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors