Skip to main content
Glama
2025-01-05_PLAN_WorkflowMCP_IntegratedDesign.md8.44 kB
# WorkflowMCP 통합 설계 문서 **문서 정보** - 문서 타입: PLAN (통합설계) - 프로젝트: WorkflowMCP (통합 워크플로우 관리 MCP) - 작성일: 2025-01-05 - 상태: 전문가 검토 완료 --- ## 🎯 프로젝트 개요 ### 통합 목표 PRD 작성 → Task 분해 → Plan 실행 → 결과 분석의 전체 제품 개발 라이프사이클을 하나의 MCP로 통합 관리 ### 핵심 가치 제안 1. **End-to-End 추적성**: 요구사항부터 결과까지 완전한 추적 2. **데이터 일관성**: 단일 시스템에서 모든 데이터 관리 3. **인사이트 도출**: 반복 패턴 분석으로 개발 효율성 향상 --- ## 🏗️ 시스템 아키텍처 ### 데이터 모델 (개발자 피드백 반영) **1. PRD (Product Requirements Document)** ```json { "id": "PRD_20250105_001", "title": "WorkflowMCP 개발", "version": "1.0", "status": "draft|review|approved|development|released", "created_date": "2025-01-05T10:00:00Z", "overview": { "problem": "해결할 문제 설명", "solution": "제안 솔루션", "success_metrics": ["측정가능한 성공 지표"] }, "requirements": [ { "id": "REQ_001", "priority": "must|should|could|wont", "category": "functional|technical|business", "description": "요구사항 상세 설명", "acceptance_criteria": ["검증 가능한 기준들"] } ], "constraints": { "technical": ["기술적 제약사항"], "business": ["비즈니스 제약사항"], "timeline": "2025-02-01" } } ``` **2. Task (작업 분해 구조)** ```json { "id": "TASK_001", "prd_ref": "PRD_20250105_001", "requirements_refs": ["REQ_001", "REQ_003"], "hierarchy": { "epic": "사용자 인증", "story": "로그인 기능", "task": "API 엔드포인트 개발", "level": 3 }, "details": { "title": "로그인 API 엔드포인트 구현", "description": "JWT 기반 인증 API 개발", "status": "backlog|ready|progress|review|done", "priority": "high|medium|low", "effort_estimate": 5, "assignee": "개발자명" }, "dependencies": { "blocked_by": ["TASK_000"], "blocks": ["TASK_002", "TASK_003"] }, "subtasks": [ { "id": "SUBTASK_001_001", "title": "라우터 설정", "status": "done", "effort_actual": 2 } ] } ``` **3. Plan (실행 계획)** ```json { "id": "PLAN_20250105_001", "task_ref": "TASK_001", "type": "development|testing|deployment", "planning": { "objective": "구체적인 실행 목표", "approach": "실행 방법론", "resources": ["필요 리소스"], "timeline": { "start": "2025-01-05T09:00:00Z", "estimated_end": "2025-01-05T17:00:00Z" } }, "execution": { "status": "created|active|paused|completed|failed", "progress": 75, "logs": [ { "timestamp": "2025-01-05T14:00:00Z", "event": "implementation_started", "notes": "라우터 설정 완료" } ] }, "results": { "outcome": "success|failure|partial", "actual_end": "2025-01-05T16:30:00Z", "lessons_learned": ["배운 점들"], "next_actions": ["후속 작업들"] } } ``` ### 관계형 데이터 구조 ``` PRD (1) ←→ (N) Requirements Requirements (1) ←→ (N) Tasks Tasks (1) ←→ (N) Plans Plans (1) ←→ (N) Results ``` --- ## 🛠️ MCP 도구 설계 ### PRD 관리 도구 - `create_prd`: 새 PRD 생성 - `update_prd`: PRD 내용 수정 - `add_requirement`: 요구사항 추가 - `get_prd`: PRD 조회 - `list_prds`: PRD 목록 ### Task 관리 도구 - `decompose_prd_to_tasks`: PRD에서 Task 자동 분해 - `create_task`: 수동 Task 생성 - `update_task_status`: Task 상태 변경 - `create_subtask`: Subtask 추가 - `get_task_hierarchy`: Task 계층구조 조회 - `analyze_dependencies`: 의존성 분석 ### Plan 관리 도구 - `create_plan_from_task`: Task에서 Plan 생성 - `update_plan_progress`: 진행률 업데이트 - `add_execution_log`: 실행 로그 추가 - `complete_plan`: Plan 완료 처리 - `get_plan_status`: Plan 상태 조회 ### 분석 도구 - `generate_progress_report`: 전체 진행률 보고서 - `analyze_velocity`: 개발 속도 분석 - `find_bottlenecks`: 병목지점 식별 - `get_success_patterns`: 성공 패턴 분석 --- ## 🗂️ 파일 구조 ``` WorkflowMCP/ ├── src/ │ ├── server.js # MCP 서버 엔트리포인트 │ ├── tools/ │ │ ├── prd-tools.js # PRD 관련 도구들 │ │ ├── task-tools.js # Task 관련 도구들 │ │ ├── plan-tools.js # Plan 관련 도구들 │ │ └── analytics-tools.js # 분석 도구들 │ ├── models/ │ │ ├── prd.js # PRD 데이터 모델 │ │ ├── task.js # Task 데이터 모델 │ │ ├── plan.js # Plan 데이터 모델 │ │ └── relationships.js # 관계 관리 │ ├── storage/ │ │ ├── database.js # 데이터 저장 추상화 │ │ ├── indexer.js # 인덱싱 관리 │ │ └── migrator.js # 스키마 마이그레이션 │ └── utils/ │ ├── validator.js # 데이터 검증 │ ├── decomposer.js # Task 분해 로직 │ └── analyzer.js # 패턴 분석 ├── data/ │ ├── prds/ # PRD 파일들 │ ├── tasks/ # Task 파일들 │ ├── plans/ # Plan 파일들 │ ├── results/ # 결과 파일들 │ └── indexes/ # 인덱스 파일들 ├── templates/ │ ├── prd-template.json # PRD 템플릿 │ ├── task-template.json # Task 템플릿 │ └── plan-template.json # Plan 템플릿 └── package.json ``` --- ## 📋 개발 단계별 계획 ### Phase 1: 핵심 기능 (3-4일) **목표**: PRD 작성 및 기본 Task 분해 - [ ] MCP 서버 기본 구조 구축 - [ ] PRD CRUD 기능 구현 - [ ] 기본 Task 분해 로직 구현 - [ ] 데이터 검증 시스템 - [ ] 기본 템플릿 작성 **검증 기준**: PRD 작성 후 Epic/Story 레벨까지 자동 분해 가능 ### Phase 2: 실행 관리 (2-3일) **목표**: Plan 생성 및 실행 추적 - [ ] Plan 생성 기능 - [ ] 상태 관리 시스템 - [ ] 실행 로그 관리 - [ ] 진행률 추적 대시보드 - [ ] 의존성 관리 기능 **검증 기준**: Task에서 Plan 생성하여 완료까지 추적 가능 ### Phase 3: 분석 및 최적화 (2-3일) **목표**: 인사이트 도출 및 성능 최적화 - [ ] 기본 분석 리포트 - [ ] 성공 패턴 식별 - [ ] 병목지점 분석 - [ ] 성능 최적화 (인덱싱, 캐싱) - [ ] 고급 검색 기능 **검증 기준**: 이전 데이터를 바탕으로 개선 제안 생성 가능 ### Phase 4: 고급 기능 (1-2일) **목표**: AI 기반 개선 및 통합 - [ ] AI 기반 Task 분해 개선 - [ ] 자동 리스크 평가 - [ ] 팀 협업 기능 - [ ] 외부 도구 연동 (Git, Jira) - [ ] 최종 문서화 및 배포 **검증 기준**: 실제 프로젝트에서 전체 워크플로우 검증 --- ## 🎯 성공 지표 ### 기능적 지표 - PRD 작성 시간: 평균 15분 이내 - Task 분해 정확도: 90% 이상 - Plan 추적 완성도: 95% 이상 - 데이터 일관성: 100% ### 성능 지표 - 응답 시간: 모든 도구 1초 이내 - 동시 사용자: 10명 이상 지원 - 데이터 크기: 1000개 PRD까지 원활 동작 ### 사용자 경험 지표 - 학습 시간: 30분 이내 기본 사용법 습득 - 오류율: 사용자 실수로 인한 오류 5% 이하 - 만족도: 실제 사용 후 8/10점 이상 --- ## ⚠️ 리스크 및 대응책 ### 기술적 리스크 - **복잡도 증가**: 모듈화 및 점진적 개발로 관리 - **성능 저하**: 초기부터 인덱싱 및 최적화 적용 - **데이터 무결성**: 엄격한 검증 및 백업 시스템 ### 비즈니스 리스크 - **사용자 채택률**: 간단한 시작 경험 제공 - **기능 과잉**: MVP 접근법으로 핵심 기능 우선 - **유지보수 부담**: 자동화된 테스트 및 문서화 --- **다음 단계**: Phase 1 개발 착수 및 프로토타입 구현

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