Skip to main content
Glama

OpenManager Vibe V4 MCP Server

by skyasu2
README.md6.06 kB
# OpenManager Vibe V4 ## 프로젝트 개요 OpenManager Vibe V4는 서버 모니터링 및 AI 기반 분석 대시보드입니다. 이벤트 기반 아키텍처를 사용하여 컴포넌트 간 느슨한 결합을 구현하고, 유지보수성과 확장성을 높였습니다. ## 주요 기능 - 서버 상태 실시간 모니터링 - CPU, 메모리, 디스크 사용량 시각화 - AI 기반 자연어 쿼리 및 분석 - 서버 성능 문제 자동 탐지 및 제안 ## 아키텍처 ### 컴포넌트 다이어그램 ``` +----------------+ +----------------+ +----------------+ | Dashboard | | AIProcessor | | ChartManager | +----------------+ +----------------+ +----------------+ | | | v v v +----------------------------------------------------------+ | EventBus | +----------------------------------------------------------+ ^ ^ ^ | | | +----------------+ +----------------+ +----------------+ |ServerDataService| | AIService | | 기타 서비스 | +----------------+ +----------------+ +----------------+ ``` ### 주요 컴포넌트 1. **EventBus**: 모든 컴포넌트 간 통신의 중심점으로, 이벤트 기반 아키텍처 구현 2. **Dashboard**: 서버 상태 및 메트릭 표시, 서버 목록 및 필터링 관리 3. **AIProcessor**: AI 쿼리 입력 처리 및 응답 표시, 컨텍스트 기반 쿼리 제안 4. **ChartManager**: 차트 및 데이터 시각화 관리 5. **ServerDataService**: 서버 데이터 요청 및 관리 6. **AIService**: AI 쿼리 처리 및 응답 생성 ### 이벤트 흐름 주요 이벤트와 해당 이벤트를 발행하고 구독하는 컴포넌트: | 이벤트 | 발행자 | 구독자 | 설명 | |-------|-------|-------|------| | servers:data-updated | ServerDataService | Dashboard, ChartManager | 서버 데이터 업데이트 | | server:selected | Dashboard | AIProcessor, ChartManager | 사용자가 서버 선택 | | ai:response-received | AIService | Dashboard, ChartManager | AI 응답 수신 | | filter:changed | Dashboard | AIProcessor | 서버 필터 변경 | | context:updated | 여러 컴포넌트 | AIProcessor | 컨텍스트 정보 변경 | | error | 여러 컴포넌트 | Dashboard | 오류 발생 | ## 설치 및 실행 ```bash # 의존성 설치 npm install # 개발 서버 실행 npm start # 테스트 실행 npm test # 테스트 커버리지 확인 npm run test:coverage ``` ## 테스트 프로젝트는 Jest 기반의 테스트 프레임워크를 사용합니다: - **단위 테스트**: 개별 컴포넌트 및 서비스 테스트 - **통합 테스트**: 컴포넌트 간 상호작용 테스트 - **커버리지 리포트**: `npm run test:coverage` 실행 후 `coverage/lcov-report/index.html` 확인 ```bash # 테스트 의존성 설치 npm install --save-dev jest @babel/core @babel/preset-env babel-jest @testing-library/dom @testing-library/jest-dom # 모든 테스트 실행 npm test # 개발 중 테스트 자동 실행 npm run test:watch # 테스트 커버리지 확인 npm run test:coverage ``` ## 개발 가이드 ### 새 컴포넌트 추가 1. 컴포넌트 클래스 생성 (`components/` 디렉토리) 2. EventBus 구독 설정 3. 필요한 서비스 주입 4. DOM 요소 참조 및 이벤트 리스너 설정 ### 새 이벤트 추가 1. 적절한 이벤트 이름 정의 (형식: `domain:action`) 2. 발행 컴포넌트에서 `EventBus.publish()` 호출 3. 구독 컴포넌트에서 `EventBus.subscribe()` 설정 ### 테스트 주도 개발(TDD) 1. 테스트 코드 작성 2. 테스트 실행 및 실패 확인 3. 최소한의 코드로 테스트 통과 4. 코드 리팩토링 및 테스트 유지 ## 목적 및 기능 - 서버 관리자를 위한 직관적인 대시보드 UI 제공 - 자연어 기반 서버 모니터링 및 분석 지원 - 시각적 서버 상태 표시 및 필터링 기능 - 문제 분석 보고서 자동 생성 ## 구성 요소 - **index.html**: 메인 랜딩 페이지 - **server_dashboard.html**: 서버 모니터링 대시보드 - **server_detail.html**: 서버 상세 정보 페이지 - **css/**: 스타일시트 파일들 - **modern-style.css**: 대시보드용 스타일 - **style.css**: 기본 스타일 시트 - **js 파일들**: - **data_processor.js**: 데이터 처리 로직 - **ai_processor.js**: 자연어 처리 엔진 - **fixed_dummy_data.js**: 고정 더미 데이터 - **summary.js**: 보고서 생성 기능 - **agent.js**: 에이전트 스크립트 ## 실행 방법 이 폴더는 순수 정적 웹 사이트이므로 어떤 정적 파일 서버로도 실행 가능합니다: ```bash # VSCode Live Server 사용: # VSCode에서 index.html 열고 "Go Live" 클릭 # 또는 간단한 HTTP 서버로 실행: npx serve . # 또는 Python으로 간단히 실행: python -m http.server ``` ## 배포 정보 - **배포 플랫폼**: Netlify - **라이브 URL**: https://openvibe3.netlify.app - **자동 배포**: GitHub 저장소 main 브랜치에 푸시 시 자동 배포 ## 개발 가이드라인 - UI/UX 디자인은 현재 스타일을 90% 이상 유지해야 합니다 - Commit ad03d5f 기준 디자인을 준수해 주세요 - 변경이 필요한 경우 루트 README의 개발 가이드라인을 참조하세요 ## MCP 서버 연동 정보 프론트엔드는 `config.js` 파일의 설정을 통해 백엔드 MCP 서버와 통신합니다: ```javascript // API 엔드포인트 설정 예시 const API_URL = "https://openmanager-vibe-v4.onrender.com/query"; ``` ## 데모 사용 시 주의사항 현재 이 프론트엔드는 실제 서버 데이터 대신 `fixed_dummy_data.js`에서 생성된 가상 데이터를 사용합니다. 시연 목적으로 설계되었으며 실제 서버 모니터링에는 백엔드 연동이 필요합니다.

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/skyasu2/openmanager-vibe-v4'

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