#!/bin/bash
# MKY 1.0 - MCP-OS CLI 전역 실행 스크립트
# 클로드코드 스타일 터미널 AI 인터페이스
# 스크립트 경로 확인
SCRIPT_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
MCP_CLI_PATH="$SCRIPT_DIR/mcp_os/core/cli/mcp_os_cli.py"
VENV_PYTHON="$SCRIPT_DIR/venv/bin/python"
# 배너 표시 함수
show_banner() {
echo "🚀 MKY 1.0 - MCP-OS CLI Interface"
echo " 클로드코드 스타일 로컬 AI CLI"
echo " 위치: $SCRIPT_DIR"
echo ""
}
# 도움말 표시
show_help() {
show_banner
echo "사용법:"
echo " mky1.0 # CLI 시작 (기본 모델: gemma3:12b)"
echo " mky1.0 <model_name> # 특정 모델로 CLI 시작"
echo " mky1.0 test # 시스템 테스트"
echo " mky1.0 help # 도움말"
echo ""
echo "모델 선택 예시:"
echo " mky1.0 gemma3:12b # Gemma3 12B 모델 사용"
echo " mky1.0 llama3.1:8b # Llama 8B 모델 사용"
echo " mky1.0 qwen2.5:7b # Qwen 7B 모델 사용"
echo ""
echo "CLI 명령어:"
echo " 💬 메시지 입력 # AI와 대화"
echo " /file <경로> # 파일 편집"
echo " /run <명령> # 명령 실행"
echo " /mcp <도구> # MCP 도구 사용"
echo " /help # CLI 내 도움말"
echo " /exit # 종료"
echo ""
}
# 환경 확인 함수
check_environment() {
# Python 가상환경 확인
if [ ! -f "$VENV_PYTHON" ]; then
echo "❌ Python 가상환경을 찾을 수 없습니다: $VENV_PYTHON"
echo "설치 방법:"
echo " cd $SCRIPT_DIR"
echo " python3 -m venv venv"
echo " ./venv/bin/pip install rich"
return 1
fi
# CLI 스크립트 확인
if [ ! -f "$MCP_CLI_PATH" ]; then
echo "❌ CLI 스크립트를 찾을 수 없습니다: $MCP_CLI_PATH"
return 1
fi
return 0
}
# GPU 강제 사용 환경변수 설정
setup_gpu_environment() {
# CPU 최적화 환경변수 무효화 (GPU 사용 강제)
export OMP_NUM_THREADS=1
export OPENBLAS_NUM_THREADS=1
export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export VECLIB_MAXIMUM_THREADS=1
# GPU 사용 강제
export CUDA_VISIBLE_DEVICES=0
export OLLAMA_GPU=1
export OLLAMA_NUM_GPU=1
echo "🔧 GPU 최적화 환경변수 적용됨"
}
# 메인 실행 함수
main() {
# 인자에 따른 처리
case "${1:-}" in
"help"|"-h"|"--help")
show_help
exit 0
;;
"test"|"--test")
show_banner
echo "🧪 시스템 테스트를 시작합니다..."
if check_environment; then
echo "✅ 환경 확인 완료"
timeout 30 "$VENV_PYTHON" "$MCP_CLI_PATH" --test
fi
exit $?
;;
"")
# 기본 실행 (기본 모델 사용)
show_banner
setup_gpu_environment
if check_environment; then
echo "✅ 환경 확인 완료, CLI를 시작합니다..."
echo " (기본 모델: gemma3:12b)"
echo " (Ctrl+C로 언제든 즉시 종료 가능)"
echo ""
# 정상 종료 핸들러 설정
trap 'echo -e "\n👋 종료 신호 감지! 정상 종료합니다..."; kill $! 2>/dev/null; wait; exit 0' INT TERM
# 타임아웃 없이 실행 - 사용자가 직접 제어
"$VENV_PYTHON" "$MCP_CLI_PATH" --model "gemma3:12b"
exit $?
else
echo "❌ 환경 설정을 확인해주세요."
exit 1
fi
;;
*)
# 모델 이름으로 처리
MODEL_NAME="$1"
show_banner
setup_gpu_environment
if check_environment; then
echo "✅ 환경 확인 완료, CLI를 시작합니다..."
echo " (선택된 모델: $MODEL_NAME)"
echo " (Ctrl+C로 언제든 즉시 종료 가능)"
echo ""
# 정상 종료 핸들러 설정
trap 'echo -e "\n👋 종료 신호 감지! 정상 종료합니다..."; kill $! 2>/dev/null; wait; exit 0' INT TERM
# 타임아웃 없이 실행 - 사용자가 직접 제어
"$VENV_PYTHON" "$MCP_CLI_PATH" --model "$MODEL_NAME"
exit $?
else
echo "❌ 환경 설정을 확인해주세요."
exit 1
fi
;;
esac
}
# 스크립트 실행
main "$@"
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/Skynotdie/mky'
If you have feedback or need assistance with the MCP directory API, please join our Discord server