# 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