Skip to main content
Glama

MCP Localization Project

by Skynotdie
  • Linux
  • Apple
README.md4.77 kB
# MCP 로컬화 프로젝트 ## 프로젝트 개요 MCP(Model Context Protocol) 기능을 로컬화하여 CPU와 RAM을 통해 GPU의 인공지능을 통합 관리하는 시스템입니다. ## 주요 기능 - **MCP 오케스트레이터**: 다양한 MCP 도구들을 통합 관리 - **로컬 도구 래퍼**: 기존 MCP 도구들의 로컬 버전 구현 - **통합 API**: RESTful API를 통한 시스템 접근 - **CLI 인터페이스**: 명령줄을 통한 직접 제어 - **작업 관리**: 비동기 작업 처리 및 의존성 관리 ## 지원 도구 1. **Terminal**: 시스템 명령 실행 2. **Filesystem**: 파일 시스템 접근 (읽기/쓰기/목록) 3. **EditFileLines**: 파일 라인 단위 편집 4. **Context7**: 라이브러리 문서 검색 (캐시 지원) 5. **GoogleSearch**: 웹 검색 (캐시 지원) 6. **TaskManager**: 작업 생성 및 관리 ## 설치 방법 ### 1. 저장소 클론 ```bash git clone <repository-url> cd Qwen2.5 ``` ### 2. 가상환경 설정 ```bash python -m venv venv source venv/bin/activate # Linux/Mac # or venv\\Scripts\\activate # Windows ``` ### 3. 의존성 설치 ```bash pip install -r requirements.txt ``` ## 사용 방법 ### CLI 모드 ```bash python main.py --mode cli ``` CLI 명령어: - `list`: 작업 목록 조회 - `create <name> <tool_type>`: 새 작업 생성 - `execute <task_id>`: 작업 실행 - `status <task_id>`: 작업 상태 확인 - `terminal <command>`: 터미널 명령 실행 - `help`: 도움말 - `exit`: 종료 ### API 서버 모드 ```bash python main.py --mode api --host 0.0.0.0 --port 8000 ``` API 서버가 시작되면 http://localhost:8000에서 접근 가능합니다. ### API 엔드포인트 #### 시스템 정보 - `GET /`: 기본 정보 - `GET /health`: 헬스 체크 - `GET /system/info`: 시스템 상태 정보 #### 작업 관리 - `POST /tasks`: 작업 생성 - `GET /tasks`: 작업 목록 조회 - `GET /tasks/{task_id}`: 특정 작업 조회 - `POST /tasks/{task_id}/execute`: 작업 실행 - `DELETE /tasks/{task_id}`: 작업 취소 #### 도구 직접 실행 - `POST /tools/execute`: 도구 직접 실행 ## 설정 옵션 ### 명령줄 옵션 ```bash python main.py --help ``` - `--mode`: 실행 모드 (cli/api) - `--host`: API 서버 호스트 - `--port`: API 서버 포트 - `--base-path`: 기본 작업 경로 - `--log-level`: 로그 레벨 ## 아키텍처 ### 핵심 컴포넌트 1. **MCPOrchestrator**: 작업 생성, 실행, 관리 2. **IntegratedToolWrappers**: 도구들의 로컬 래퍼 3. **API Interface**: RESTful API 서버 4. **DatabaseManager**: SQLite 기반 데이터 저장 ### 데이터 흐름 ``` 사용자 입력 → MCP 오케스트레이터 → 도구 실행 → 결과 반환 ↓ ↓ ↓ CLI/API 작업 관리 데이터베이스 ``` ## 개발 가이드 ### 새 도구 추가 1. `tool_wrappers.py`에 새 래퍼 클래스 추가 2. `mcp_orchestrator.py`에 도구 타입 추가 3. `main.py`에서 도구 등록 ### 테스트 실행 ```bash # 개별 모듈 테스트 python mcp_orchestrator.py python tool_wrappers.py # 전체 시스템 테스트 python main.py --mode cli ``` ## 데이터베이스 구조 ### Tables - `tasks`: 작업 정보 - `tool_logs`: 도구 실행 로그 - `cache`: 캐시 데이터 - `library_docs`: 라이브러리 문서 캐시 - `search_results`: 검색 결과 캐시 ## 보안 고려사항 - 터미널 명령 실행 시 위험한 명령 차단 - 파일 시스템 접근 시 경로 검증 - 데이터베이스 인젝션 방지 - API 요청 검증 ## 성능 최적화 - 비동기 작업 처리 - 데이터베이스 쿼리 최적화 - 캐시 시스템 활용 - 메모리 사용량 모니터링 ## 트러블슈팅 ### 일반적인 문제 1. **모듈 import 오류**: 가상환경 활성화 확인 2. **데이터베이스 오류**: 권한 및 디스크 용량 확인 3. **포트 충돌**: 다른 포트 사용 (`--port` 옵션) 4. **의존성 오류**: `pip install -r requirements.txt` 재실행 ### 로그 확인 ```bash tail -f mcp_orchestrator.log ``` ## 향후 계획 ### Phase 3: 고급 기능 (예정) - [ ] 작업 자동화 시스템 - [ ] 캐싱 및 오프라인 모드 - [ ] 성능 모니터링 및 최적화 - [ ] Qwen2.5 모델 연동 ### Phase 4: 사용자 인터페이스 (예정) - [ ] 웹 기반 관리 패널 - [ ] 설정 관리 시스템 - [ ] 실시간 모니터링 대시보드 ## 라이선스 이 프로젝트는 MIT 라이선스 하에 배포됩니다. ## 기여하기 1. Fork the repository 2. Create a feature branch 3. Commit your changes 4. Push to the branch 5. Create a Pull Request ## 문의 프로젝트 관련 문의사항이나 버그 리포트는 Issues 섹션에 등록해주세요.

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