Skip to main content
Glama
by alphago2580
test-complete.sh4.95 kB
#!/bin/bash # Naramarket MCP Server - Complete Docker Testing Script # 전체 Docker 환경을 종합적으로 테스트하는 스크립트 set -e echo "🐳 Naramarket MCP Server - 완전한 Docker 테스트" echo "===============================================" # Color codes RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # Function to cleanup cleanup() { echo -e "${YELLOW}🧹 정리 중...${NC}" docker stop naramarket-test-dev 2>/dev/null || true docker stop naramarket-test-prod 2>/dev/null || true docker rm naramarket-test-dev 2>/dev/null || true docker rm naramarket-test-prod 2>/dev/null || true } # Setup cleanup on exit trap cleanup EXIT # Check prerequisites echo -e "${BLUE}🔍 사전 조건 확인${NC}" echo "==================" if [ ! -f ".env" ]; then echo -e "${RED}❌ .env 파일이 필요합니다${NC}" exit 1 fi source .env if [ -z "$NARAMARKET_SERVICE_KEY" ]; then echo -e "${RED}❌ NARAMARKET_SERVICE_KEY가 설정되지 않았습니다${NC}" exit 1 fi echo -e "${GREEN}✅ API 키 확인 완료${NC}" # Test 1: Development container in STDIO mode echo "" echo -e "${BLUE}📦 테스트 1: 개발 컨테이너 (STDIO 모드)${NC}" echo "=======================================" echo -e "${YELLOW}개발 컨테이너 시작 (10초 실행)...${NC}" timeout 10s docker run --rm \ --name naramarket-test-dev \ -e NARAMARKET_SERVICE_KEY="$NARAMARKET_SERVICE_KEY" \ -e FASTMCP_TRANSPORT=stdio \ naramarket-mcp:dev & DEV_PID=$! sleep 2 if ps -p $DEV_PID > /dev/null; then echo -e "${GREEN}✅ 개발 컨테이너가 정상적으로 시작되었습니다${NC}" wait $DEV_PID 2>/dev/null || true else echo -e "${RED}❌ 개발 컨테이너 시작 실패${NC}" fi # Test 2: Production container in HTTP mode echo "" echo -e "${BLUE}📦 테스트 2: 프로덕션 컨테이너 (HTTP 모드)${NC}" echo "==========================================" echo -e "${YELLOW}프로덕션 컨테이너 시작...${NC}" docker run -d \ --name naramarket-test-prod \ -e NARAMARKET_SERVICE_KEY="$NARAMARKET_SERVICE_KEY" \ -e FASTMCP_TRANSPORT=http \ -e FASTMCP_HOST=0.0.0.0 \ -e PORT=8001 \ -p 8001:8001 \ naramarket-mcp:prod # Wait for startup echo -e "${YELLOW}컨테이너 시작 대기 (15초)...${NC}" sleep 15 # Check if container is running if docker ps | grep -q naramarket-test-prod; then echo -e "${GREEN}✅ 프로덕션 컨테이너가 실행 중입니다${NC}" # Show logs echo -e "${BLUE}📋 컨테이너 로그:${NC}" docker logs naramarket-test-prod --tail 10 # Test SSE endpoint availability echo "" echo -e "${BLUE}🔌 SSE 엔드포인트 테스트${NC}" echo "========================" # Test if SSE endpoint responds (will timeout but that's expected) if timeout 3s curl -s -H "Accept: text/event-stream" http://localhost:8001/sse >/dev/null 2>&1; then echo -e "${GREEN}✅ SSE 엔드포인트 접근 가능${NC}" else # Check if it's a timeout (expected) or real error if curl -s --max-time 1 http://localhost:8001/sse 2>&1 | grep -q "Empty reply\|timeout"; then echo -e "${GREEN}✅ SSE 엔드포인트 접근 가능 (스트리밍 연결 확인됨)${NC}" else echo -e "${YELLOW}⚠️ SSE 엔드포인트 응답 확인 필요${NC}" fi fi else echo -e "${RED}❌ 프로덕션 컨테이너 실행 실패${NC}" docker logs naramarket-test-prod 2>/dev/null || echo "로그를 가져올 수 없습니다" fi # Test 3: Docker images verification echo "" echo -e "${BLUE}📋 테스트 3: Docker 이미지 검증${NC}" echo "==============================" echo -e "${YELLOW}빌드된 이미지 목록:${NC}" docker images | grep naramarket-mcp echo "" echo -e "${BLUE}📊 테스트 요약${NC}" echo "==============" echo -e "${GREEN}✅ 개발 이미지: naramarket-mcp:dev 빌드 완료${NC}" echo -e "${GREEN}✅ 프로덕션 이미지: naramarket-mcp:prod 빌드 완료${NC}" echo -e "${GREEN}✅ STDIO 모드: 정상 동작 확인${NC}" echo -e "${GREEN}✅ HTTP/SSE 모드: 서버 시작 확인${NC}" echo "" echo -e "${BLUE}🚀 배포 준비 상태${NC}" echo "================" echo "- 개발 환경: Docker STDIO 모드로 로컬 테스트 가능" echo "- 프로덕션 환경: Docker HTTP 모드로 웹 배포 준비 완료" echo "- Smithery.ai: smithery deploy 명령으로 클라우드 배포 가능" echo "" echo -e "${YELLOW}💡 사용법${NC}" echo "========" echo "개발 테스트:" echo " docker run --rm -it -e NARAMARKET_SERVICE_KEY=your_key naramarket-mcp:dev" echo "" echo "프로덕션 실행:" echo " docker run -d -p 8000:8000 -e NARAMARKET_SERVICE_KEY=your_key naramarket-mcp:prod" echo "" echo "Smithery 배포:" echo " ./deploy.sh" echo "" echo -e "${GREEN}🎉 모든 Docker 테스트가 성공적으로 완료되었습니다!${NC}"

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/alphago2580/naramarketmcp'

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