Skip to main content
Glama
WBS_REVISED.md13 kB
# Work Breakdown Structure (WBS) - 수정판 # WorkflowMCP Dashboard API 완성 및 확장 ## 📋 프로젝트 개요 **프로젝트명**: WorkflowMCP Dashboard API 완성 및 자기설명적 API 구현 **목적**: 기존 34개 SvelteKit API를 보강하고, 누락된 28개 MCP 도구를 API로 추가하여 완전한 REST API 제공 **핵심 제약**: 기존 API 변경 금지, 확장 및 보강만 허용 **새로운 발견**: 이미 58개 중 30개의 MCP 도구가 SvelteKit API로 구현됨 ## 🚨 현황 분석 결과 ### ✅ 이미 구현된 기능 (30개 MCP 도구 → 34개 API) - **PRD Management**: 완전 구현 (4/4) - **Design Management**: 완전 구현 (5/5) - **Task Management**: 완전 구현 (5/5) - **Test Management**: 대부분 구현 (7/10) - **Project Management**: 대부분 구현 (5/6) - **Document Management**: 기본 구현 (5/13) - **Environment Management**: 대부분 구현 (3/4) - **DevOps Management**: 기본 구현 (6/6) ### ❌ 누락된 기능 (28개 MCP 도구) - **Document Relations**: 8개 도구 (연결, PRD 문서 등) - **Test Analysis**: 3개 도구 (요약, 커버리지, 연결) - **Connection Management**: 6개 도구 (태스크/테스트 연결) - **Analytics**: 2개 도구 (프로젝트 분석, 환경 상태) - **System Health**: 3개 도구 (인시던트, 시스템 상태) - **기타**: 6개 도구 ## 🏗️ 수정된 작업 계획 ## 1단계: 기존 API 분석 및 Gap 식별 (5시간) ### 1.1 기존 API 상세 분석 (2시간) #### 1.1.1 API 응답 형식 분석 (1시간) - [ ] 기존 34개 API 엔드포인트 응답 구조 분석 - [ ] Manager vs 직접 DB 접근 패턴 파악 - [ ] 에러 처리 방식 표준화 현황 확인 **산출물**: - `docs/api/existing-api-analysis.md` - API 응답 형식 표준안 #### 1.1.2 MCP vs API 완전 매핑 (1시간) - [ ] 58개 MCP 도구와 34개 API의 정확한 매핑표 작성 - [ ] 누락된 기능별 우선순위 결정 - [ ] 기존 API와 겹치는 부분 식별 **산출물**: - `docs/api/mcp-api-mapping.md` - 구현 우선순위 매트릭스 ### 1.2 누락 기능 Gap Analysis (2시간) #### 1.2.1 Document Relations 분석 (1시간) - [ ] `link_document`, `create_prd_document` 등 8개 도구 분석 - [ ] 기존 Documents API와 통합 방안 설계 - [ ] PRD-Document 연결 기능 설계 **산출물**: - `dashboard/src/routes/api/documents/link/+server.js` 설계 - `dashboard/src/routes/api/prds/[id]/documents/+server.js` 설계 #### 1.2.2 Connection Management 분석 (1시간) - [ ] Task-Test 연결, Task 관계 등 6개 도구 분석 - [ ] 기존 `/api/tasks/[id]/connections` 확장 방안 - [ ] 네트워크 시각화 데이터 API 설계 **산출물**: - Connection API 확장 설계서 - 네트워크 데이터 형식 정의 ### 1.3 기존 코드 호환성 검증 (1시간) #### 1.3.1 Manager 클래스 메서드 조사 (0.5시간) - [ ] 각 Manager 클래스의 public 메서드 목록 작성 - [ ] MCP 도구와 Manager 메서드 매핑 확인 - [ ] 누락된 기능에 필요한 새 메서드 식별 **산출물**: - Manager 클래스 메서드 매트릭스 - 필요한 새 메서드 목록 #### 1.3.2 데이터베이스 스키마 확인 (0.5시간) - [ ] 현재 SQLite 스키마 분석 - [ ] 누락 기능 구현에 필요한 테이블/컬럼 확인 - [ ] API 메타데이터용 확장 테이블 설계 **산출물**: - 현재 스키마 문서 - 필요한 스키마 확장안 ## 2단계: 누락 기능 구현 (SvelteKit API 확장) (12시간) ### 2.1 Document Relations API (4시간) #### 2.1.1 Document Linking API (2시간) - [ ] `POST /api/documents/[id]/link` - 문서 연결 - [ ] `GET /api/documents/[id]/links` - 연결 조회 - [ ] `DELETE /api/documents/[id]/link/[linkId]` - 연결 해제 **산출물**: - `dashboard/src/routes/api/documents/[id]/link/+server.js` - `dashboard/src/routes/api/documents/[id]/links/+server.js` #### 2.1.2 PRD Document API (2시간) - [ ] `POST /api/prds/[id]/documents` - PRD 문서 생성 - [ ] `GET /api/prds/[id]/documents` - PRD 문서 목록 - [ ] `GET /api/prds/[id]/documents/search` - PRD 내 문서 검색 - [ ] `PUT /api/documents/[id]/prd` - PRD 문서 업데이트 **산출물**: - `dashboard/src/routes/api/prds/[id]/documents/+server.js` - `dashboard/src/routes/api/prds/[id]/documents/search/+server.js` ### 2.2 Test Analysis API (3시간) #### 2.2.1 Test Summary & Coverage (1.5시간) - [ ] `GET /api/test-summary` - 전체 테스트 요약 - [ ] `GET /api/test-coverage` - 테스트 커버리지 분석 - [ ] `GET /api/test-coverage/[projectId]` - 프로젝트별 커버리지 **산출물**: - `dashboard/src/routes/api/test-summary/+server.js` - `dashboard/src/routes/api/test-coverage/+server.js` #### 2.2.2 Test-Task Connection (1.5시간) - [ ] `GET /api/test-cases/[id]/connections` - 테스트 연결 조회 - [ ] `POST /api/test-cases/[id]/connections` - 테스트 연결 추가 - [ ] `DELETE /api/test-cases/[id]/connections/[connId]` - 연결 제거 **산출물**: - `dashboard/src/routes/api/test-cases/[id]/connections/+server.js` ### 2.3 Enhanced Connection Management (3시간) #### 2.3.1 Task Connection Enhancement (1.5시간) - [ ] 기존 `/api/tasks/[id]/connections` 확장 - [ ] `POST /api/tasks/[id]/connections/batch` - 대량 연결 추가 - [ ] `GET /api/connections/network` - 전체 네트워크 데이터 **산출물**: - 기존 connections API 확장 - `dashboard/src/routes/api/connections/network/+server.js` #### 2.3.2 Cross-Entity Connections (1.5시간) - [ ] `GET /api/entities/[type]/[id]/connections` - 범용 연결 조회 - [ ] `POST /api/entities/[type]/[id]/connections` - 범용 연결 생성 - [ ] `GET /api/relationships/matrix` - 관계 매트릭스 데이터 **산출물**: - `dashboard/src/routes/api/entities/[type]/[id]/connections/+server.js` - `dashboard/src/routes/api/relationships/matrix/+server.js` ### 2.4 Analytics & Status API (2시간) #### 2.4.1 Project Analytics Enhancement (1시간) - [ ] `GET /api/projects/[id]/analytics` - 기존 기능 확장 - [ ] `GET /api/projects/[id]/timeline` - 프로젝트 타임라인 - [ ] `GET /api/projects/[id]/metrics` - 상세 메트릭 **산출물**: - 기존 analytics API 확장 - 새로운 timeline, metrics 엔드포인트 #### 2.4.2 Environment Status (1시간) - [ ] `GET /api/environments/[id]/status` - 환경 상태 상세 - [ ] `GET /api/environments/[id]/health` - 헬스체크 - [ ] `POST /api/environments/[id]/healthcheck` - 헬스체크 실행 **산출물**: - 기존 environment API 확장 - 헬스체크 기능 추가 ## 3단계: 자기설명적 API 시스템 (Express.js) (8시간) ### 3.1 Discovery & Help API 서버 (4시간) #### 3.1.1 Express API 서버 기반 구조 (2시간) - [ ] Express.js API 서버 설정 (`src/api-server.js`) - [ ] SvelteKit API와 통합을 위한 프록시 설정 - [ ] CORS, 보안 헤더 등 기본 미들웨어 구성 **산출물**: - `src/api-server.js` - `src/middleware/proxy-middleware.js` #### 3.1.2 Discovery API 구현 (2시간) - [ ] `GET /api` - 전체 API 디스커버리 루트 - [ ] `GET /api/endpoints` - 모든 엔드포인트 목록 - [ ] `GET /api/categories` - 카테고리별 API 그룹핑 - [ ] `GET /api/schema` - API 스키마 정보 **산출물**: - `src/routes/discovery.js` - `src/services/DiscoveryService.js` ### 3.2 Help System 구현 (4시간) #### 3.2.1 Help Database & Content (2시간) - [ ] Help 컨텐츠용 SQLite 테이블 생성 - [ ] 카테고리별 도움말 컨텐츠 작성 - [ ] 동적 예제 생성 시스템 구현 **산출물**: - `src/database/help-schema.sql` - `src/services/HelpContentService.js` - 도움말 컨텐츠 데이터 #### 3.2.2 Interactive Help API (2시간) - [ ] `GET /api/help` - 도움말 시스템 루트 - [ ] `GET /api/help/[category]` - 카테고리별 도움말 - [ ] `GET /api/help/[category]/examples` - 실행 가능한 예제 - [ ] `GET /api/help/search` - 도움말 검색 **산출물**: - `src/routes/help.js` - `src/services/HelpService.js` - Interactive help system ## 4단계: API 통합 및 개선 (6시간) ### 4.1 HATEOAS 링크 시스템 (3시간) #### 4.1.1 Response Enhancement Middleware (1.5시간) - [ ] 기존 SvelteKit API 응답에 HATEOAS 링크 자동 추가 - [ ] 리소스 간 관계 링크 생성 시스템 - [ ] 동적 링크 생성 유틸리티 **산출물**: - `dashboard/src/lib/middleware/hateoas-middleware.js` - `src/utils/link-builder.js` #### 4.1.2 Navigation Links (1.5시간) - [ ] 각 API 응답에 관련 리소스 링크 추가 - [ ] 페이지네이션 링크 자동 생성 - [ ] 액션 링크 (편집, 삭제 등) 추가 **산출물**: - Enhanced API responses with navigation - Link schema definition ### 4.2 API 표준화 및 문서화 (3시간) #### 4.2.1 Response Format Standardization (1.5시간) - [ ] 모든 API 응답 형식 통일 - [ ] 에러 응답 표준화 - [ ] 성공 응답 메타데이터 추가 **산출물**: - API 응답 표준 스키마 - 에러 처리 표준화 #### 4.2.2 OpenAPI Documentation (1.5시간) - [ ] 기존 + 신규 API의 OpenAPI 3.0 스펙 생성 - [ ] Swagger UI 통합 - [ ] API 문서 자동 업데이트 시스템 **산출물**: - `docs/openapi.yaml` - Swagger UI integration ## 5단계: 실시간 기능 및 최종 통합 (4시간) ### 5.1 Server-Sent Events (2시간) #### 5.1.1 SSE 기본 구조 (1시간) - [ ] SvelteKit에 SSE 엔드포인트 추가 - [ ] 데이터 변경 이벤트 브로드캐스팅 - [ ] 클라이언트 연결 관리 **산출물**: - `dashboard/src/routes/api/stream/+server.js` - SSE event broadcasting system #### 5.1.2 실시간 알림 (1시간) - [ ] PRD/Task/Test 상태 변경 알림 - [ ] 프로젝트 진행률 실시간 업데이트 - [ ] 시스템 상태 모니터링 알림 **산출물**: - Real-time notification system - Event management utilities ### 5.2 대시보드 통합 (2시간) #### 5.2.1 API 콘솔 페이지 (1시간) - [ ] 대시보드에 API 테스트 콘솔 페이지 추가 - [ ] 인터랙티브 API 탐색 도구 구현 - [ ] 예제 실행 및 결과 확인 기능 **산출물**: - `dashboard/src/routes/api-console/+page.svelte` - Interactive API explorer #### 5.2.2 API 모니터링 (1시간) - [ ] API 사용량 통계 페이지 - [ ] 응답 시간 모니터링 - [ ] 에러율 추적 및 알림 **산출물**: - `dashboard/src/routes/api-stats/+page.svelte` - API monitoring dashboard ## 📈 총 작업 추정 (수정) ### 총 시간: **35시간** (기존 55시간에서 20시간 단축) | 단계 | 작업시간 | 누적시간 | 변경사유 | |------|----------|----------|----------| | 1단계: 기존 API 분석 | 5시간 | 5시간 | 신규: 현황 파악 필수 | | 2단계: 누락 기능 구현 | 12시간 | 17시간 | 대폭 단축: 기존 구조 활용 | | 3단계: 자기설명적 API | 8시간 | 25시간 | 단축: 핵심 기능만 | | 4단계: 통합 및 개선 | 6시간 | 31시간 | 단축: 표준화 중심 | | 5단계: 실시간 기능 | 4시간 | 35시간 | 단축: 기본 기능만 | ### 우선순위별 분류 (수정) #### 🔴 High Priority (MVP) - 17시간 - 1단계: 기존 API 분석 (5시간) - **필수** - 2단계: 누락 기능 구현 (12시간) - **핵심** #### 🟡 Medium Priority - 14시간 - 3단계: 자기설명적 API (8시간) - **사용성** - 4단계: 통합 및 개선 (6시간) - **품질** #### 🟢 Low Priority - 4시간 - 5단계: 실시간 기능 (4시간) - **부가** ## 🎯 수정된 마일스톤 ### Milestone 1: 현황 파악 및 핵심 기능 완성 (1주) - 17시간 - 기존 API 완전 분석 - 누락된 28개 MCP 도구 API 구현 - 기본 테스트 및 검증 ### Milestone 2: 자기설명적 API 완성 (2주) - 31시간 - Discovery & Help API 시스템 - HATEOAS 링크 시스템 - API 표준화 및 문서화 ### Milestone 3: 완전한 솔루션 (3주) - 35시간 - 실시간 업데이트 기능 - 대시보드 API 콘솔 통합 - 모니터링 및 운영 도구 ## ✅ 수정된 성공 기준 1. **기능 요구사항** - [ ] 58개 MCP 도구 중 누락된 28개의 API 구현 완료 - [ ] 기존 34개 API와의 완전한 호환성 유지 - [ ] 자기설명적 API로 세션에서 쉬운 탐색 가능 2. **비기능 요구사항** - [ ] API 응답 시간 < 500ms (95percentile) - [ ] 기존 대시보드 기능 영향 < 5% - [ ] 100% 기존 API 호환성 유지 3. **사용성 요구사항** - [ ] 새 세션에서 5분 내 API 사용법 학습 가능 - [ ] Claude Code에서 바로 활용 가능한 Discovery API - [ ] 완전한 API 문서화 및 인터랙티브 콘솔 ## 🔍 핵심 변경사항 1. **⚡ 20시간 단축**: 기존 API 활용으로 중복 작업 제거 2. **🎯 명확한 범위**: 28개 누락 기능에 집중 3. **🔄 실용적 접근**: SvelteKit API 확장 + Express 보완 4. **📊 현실적 일정**: 3주에서 완성 가능한 계획 5. **✅ 검증된 기반**: 이미 작동하는 34개 API 기반 확장

Latest Blog Posts

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/foswmine/workflow-mcp'

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