test_server_startup.py•1.95 kB
#!/usr/bin/env python3
"""
MCP 서버 시작 테스트
"""
import asyncio
import sys
import os
from dotenv import load_dotenv
# .env 파일 로드
load_dotenv()
# 프로젝트 루트를 경로에 추가
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
async def test_server_initialization():
"""서버 초기화 테스트"""
print("\n" + "="*70)
print("MCP 서버 초기화 테스트")
print("="*70)
try:
# 모듈 import 테스트
print("1. 모듈 import 중...")
from src.main import mcp, health_impl
print(" ✅ 모듈 import 성공")
# 헬스 체크 테스트
print("2. 헬스 체크 실행 중...")
health_result = await health_impl()
print(f" ✅ 헬스 체크 성공: {health_result.get('status')}")
# MCP 도구 등록 확인
print("3. MCP 도구 등록 확인 중...")
# mcp 객체의 도구들을 확인할 수 있는지 테스트
print(" ✅ MCP 객체 생성 성공")
print("\n" + "="*70)
print("✅ 서버 초기화 성공!")
print("="*70)
print("\n서버를 실행하려면 다음 명령어를 사용하세요:")
print(" python3 -m src.main")
print("\n또는 Cursor에서 MCP 서버로 설정하여 사용할 수 있습니다.")
return True
except Exception as e:
print(f"\n❌ 서버 초기화 실패: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
try:
success = asyncio.run(test_server_initialization())
sys.exit(0 if success else 1)
except KeyboardInterrupt:
print("\n\n테스트가 중단되었습니다.")
sys.exit(1)
except Exception as e:
print(f"\n\n테스트 실행 중 오류 발생: {e}")
import traceback
traceback.print_exc()
sys.exit(1)