Skip to main content
Glama

WhaTap MXQL CLI

by devload
COMPLETE_GUIDE.md8.75 kB
# WhaTap MXQL - 완벽 가이드 ## 🎯 프로젝트 완성! WhaTap 모니터링 데이터를 자연어로 조회할 수 있는 완전한 시스템이 완성되었습니다! ## 🏗️ 아키텍처 ``` ┌─────────────────────────────────────────────────────────────┐ │ Claude Code │ │ │ │ ┌────────────────────┐ ┌───────────────────────┐ │ │ │ Skill (지식/가이드) │ │ MCP Tools (실행) │ │ │ │ │ │ │ │ │ │ mxql-for-claude │ │ whatap-mxql │ │ │ │ -code │ │ │ │ │ │ │ │ • login() │ │ │ │ • 631 카테고리 │ ◄────► │ • getProjects() │ │ │ │ • MXQL 패턴 │ │ • executeMxql() │ │ │ │ • 최적화 가이드 │ │ • getCategory() │ │ │ │ • Python 유틸 │ │ │ │ │ └────────────────────┘ └───────────────────────┘ │ │ │ │ │ │ │ │ │ │ └───────────┬───────────────────┘ │ │ │ │ └────────────────────────┼─────────────────────────────────────┘ │ ▼ ┌──────────────────────┐ │ WhaTap API │ │ (실제 모니터링 데이터)│ └──────────────────────┘ ``` ## 📦 구성 요소 ### 1. CLI (완성) ✅ **위치**: `whatap-mxql-cli/` **기능**: - ✅ 로그인/로그아웃 - ✅ 프로젝트 목록 조회 - ✅ MXQL 쿼리 실행 - ✅ 대화형 REPL - ✅ 다양한 출력 형식 (Table, JSON, CSV) - ✅ 자동 로그인 **사용법**: ```bash # 프로젝트 조회 (자동 로그인) ./bin/whatap-mxql projects # 쿼리 실행 ./bin/whatap-mxql query 27506 "CATEGORY app_counter" -r 24h -o json # 대화형 모드 ./bin/whatap-mxql interactive ``` ### 2. MCP Tools (완성) ✅ **위치**: `whatap-mxql-cli/src/mcp/` **제공 Tools**: 1. `whatap.login` - WhaTap 로그인 2. `whatap.getProjects` - 프로젝트 목록 3. `whatap.executeMxql` - MXQL 쿼리 실행 4. `whatap.getCategory` - 카테고리 데이터 조회 **설정**: ```json { "mcpServers": { "whatap-mxql": { "command": "node", "args": ["/절대/경로/whatap-mxql-cli/dist/mcp/index.js"] } } } ``` ### 3. Skill (외부 프로젝트) 📚 **출처**: https://github.com/kyupid/mxql-for-claude-code **제공 기능**: - 631개 카테고리 메타데이터 - MXQL 문법 가이드 - 쿼리 생성 패턴 - 최적화 방법 - Python 유틸리티 (validator, category finder) **설치**: ```bash git clone https://github.com/kyupid/mxql-for-claude-code.git cd mxql-for-claude-code ./install.sh ``` ## 🚀 전체 사용 흐름 ### 시나리오: "PostgreSQL CPU 높은 인스턴스 찾기" ``` 사용자: "PostgreSQL에서 CPU 80% 이상이고 active session 10개 넘는 인스턴스 찾아줘" Claude Code: Step 1: Skill 참조 ├─ PostgreSQL 카테고리: db_postgresql_counter ├─ FILTER 사용법 학습 └─ SELECT 패턴 확인 Step 2: MXQL 생성 └─ "CATEGORY db_postgresql_counter FILTER {cpu_usage > 80 AND active_sessions > 10} SELECT [instance_name, cpu_usage, active_sessions]" Step 3: MCP Tool 실행 ├─ whatap.getProjects() → 프로젝트 목록 확인 └─ whatap.executeMxql(pcode: 27506, mxql: "...") Step 4: 결과 분석 └─ 데이터 정리 및 사용자에게 응답 응답: "PostgreSQL 인스턴스 3개가 조건을 만족합니다: 1. db-primary-01: CPU 92%, Sessions 15 2. db-replica-02: CPU 85%, Sessions 12 3. db-standby-03: CPU 81%, Sessions 11" ``` ## 📊 검증 결과 ### Core 모듈 - ✅ SessionStore: 16/16 테스트 통과 - ✅ AuthManager: 16/16 테스트 통과 - ✅ WhatapClient: 13/13 테스트 통과 - ✅ MxqlExecutor: 7/7 테스트 통과 - **총 52개 유닛 테스트 - 100% 통과** ### CLI - ✅ login: 정상 동작 - ✅ logout: 정상 동작 - ✅ projects: 12개 프로젝트 조회 성공 - ✅ query: 실제 데이터 조회 성공 (sessionCount: 108.048, 167행 집계) - ✅ interactive: 정상 동작 - ✅ 자동 로그인: 정상 동작 ### MCP Server - ✅ 빌드: 성공 - ✅ 4개 Tools 구현: 완료 - ✅ 설정 파일: 작성 완료 ## 📁 파일 구조 ``` whatap-mxql-cli/ ├── src/ │ ├── core/ # 핵심 모듈 (완성) │ │ ├── types/ # TypeScript 타입 │ │ ├── auth/ # 인증 (AES-256-GCM) │ │ ├── client/ # API 클라이언트 │ │ └── executor/ # MXQL 실행기 │ ├── cli/ # CLI (완성) │ │ ├── commands/ # 명령어 │ │ └── utils/ # 유틸리티 │ └── mcp/ # MCP 서버 (완성) │ └── index.ts # MCP Tools ├── bin/ │ ├── whatap-mxql # CLI 실행 파일 │ └── whatap-mxql-mcp # MCP 서버 실행 파일 ├── test/ # 테스트 (52개 통과) ├── dist/ # 빌드 출력 └── docs/ ├── README.md # 프로젝트 README ├── CLI_GUIDE.md # CLI 상세 가이드 ├── MCP_INSTALLATION.md # MCP 설치 가이드 ├── VERIFICATION_REPORT.md # 검증 보고서 ├── AUTO_LOGIN_DEMO.md # 자동 로그인 기능 └── COMPLETE_GUIDE.md # 이 문서 ``` ## 🎓 학습 내용 ### 1. WhaTap 이중 인증 시스템 - **Open API** (`/open/api/json/*`): `x-whatap-token` 헤더 - **MXQL API** (`/yard/api/flush`): Cookie 인증 ### 2. Cookie Jar 패턴 - axios-cookiejar-support 사용 - 자동 쿠키 관리 - 모바일 앱과 동일한 방식 ### 3. AES-256-GCM 암호화 - 세션 데이터 암호화 저장 - `~/.whatap-mxql/session.enc` ### 4. MCP 프로토콜 - Tools 정의 및 구현 - Claude Code 통합 - Skill과 Tools의 협력 ## 🎯 주요 성과 1. **완전한 WhaTap API 클라이언트** - 인증, 프로젝트 조회, MXQL 실행 - 52개 유닛 테스트 - 100% 통과 2. **사용자 친화적 CLI** - 자동 로그인 - 다양한 출력 형식 - 대화형 REPL 3. **Claude Code 통합** - MCP Tools 제공 - Skill과 연계 4. **실제 데이터 조회 검증** - 복잡한 MXQL 파이프라인 실행 - 167개 행 집계 성공 ## 📚 문서 | 문서 | 내용 | |------|------| | [README.md](./README.md) | 프로젝트 개요 및 빠른 시작 | | [CLI_GUIDE.md](./CLI_GUIDE.md) | CLI 상세 사용 가이드 | | [MCP_INSTALLATION.md](./MCP_INSTALLATION.md) | MCP 설치 및 설정 | | [VERIFICATION_REPORT.md](./VERIFICATION_REPORT.md) | 검증 보고서 | | [AUTO_LOGIN_DEMO.md](./AUTO_LOGIN_DEMO.md) | 자동 로그인 기능 설명 | | [COMPLETE_GUIDE.md](./COMPLETE_GUIDE.md) | 이 문서 | ## 🎉 완성! WhaTap 모니터링 데이터를 자연어로 조회할 수 있는 완전한 시스템이 완성되었습니다! ``` 사용자: "지난 7일간 Kubernetes Pod CPU 사용률 높은 순으로 top 10 보여줘" Claude Code: (Skill로 MXQL 학습) → (MXQL 생성) → (MCP Tool로 실행) → (결과 분석) 결과: "Top 10 CPU 사용률이 높은 Pod: 1. nginx-frontend-7d8f9: 95.2% 2. api-server-3a5c1: 89.7% 3. worker-queue-2b9f: 87.3% ..." ``` **모든 기능이 동작하며 실제 데이터 조회가 검증되었습니다!** 🚀

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/devload/whatap-mxql-cli'

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