2026-02-06 23:01:30 -05:00

702 lines
27 KiB
Markdown

# MCPEngine Studio — Agent Team Build Plan
**Objective:** Build the no-code MCP App builder at mcpengine.com using a coordinated team of expert sub-agents.
**Timeline:** 4 weeks to MVP (V1), 8 weeks to marketplace (V2)
**Orchestrator:** Buba (main agent) — assigns work, reviews output, resolves conflicts, merges code
---
## The Agent Team
### 8 Specialist Agents
| Agent | Role | Expertise | Runs On |
|-------|------|-----------|---------|
| **SCAFFOLD** | Project Bootstrapper | Next.js 15, Tailwind, project setup, CI/CD | Opus |
| **DESIGN-SYS** | Design System Engineer | Tailwind config, component library, tokens, dark/light mode | Opus |
| **CANVAS** | Visual Editor Engineer | React Flow v12, custom nodes, drag-drop, canvas interactions | Opus |
| **AI-PIPE** | AI Pipeline Engineer | Claude API integration, streaming, skill-to-service wiring | Opus |
| **BACKEND** | Backend Engineer | Next.js API routes, PostgreSQL schema, auth, billing | Opus |
| **APP-DESIGNER** | WYSIWYG Builder | MCP Apps UI designer, component palette, data binding | Opus |
| **DEPLOY** | Deploy & Infra Engineer | Cloudflare Workers, Wrangler, R2, server hosting pipeline | Opus |
| **MARKETPLACE** | Marketplace Engineer | Template system, 37 server migration, search, fork flow | Opus |
### Orchestration Model
```
┌─────────┐
│ BUBA │
│ (main) │
└────┬────┘
│ assigns tasks, reviews PRs,
│ resolves conflicts, merges
┌──────────┼──────────┐
│ │ │
┌─────▼────┐ ┌──▼───┐ ┌───▼─────┐
│ Phase 1 │ │ P2 │ │ Phase 3 │
│ Agents │ │ │ │ Agents │
└──────────┘ └──────┘ └─────────┘
Phase 1 (Week 1): SCAFFOLD → DESIGN-SYS → BACKEND (parallel after scaffold)
Phase 2 (Week 2-3): CANVAS + AI-PIPE + BACKEND (parallel)
Phase 3 (Week 3-4): APP-DESIGNER + DEPLOY + MARKETPLACE (parallel)
Integration (Week 4): BUBA merges all, end-to-end testing
```
---
## Phase 1: Foundation (Week 1)
### Sprint 1A: Project Scaffold (Day 1)
**Agent: SCAFFOLD**
```
Task: Bootstrap the MCPEngine Studio monorepo
Deliverables:
├── mcpengine-studio/
│ ├── package.json (workspace root)
│ ├── apps/
│ │ └── web/ (Next.js 15 app)
│ │ ├── app/
│ │ │ ├── (marketing)/ (landing, pricing)
│ │ │ ├── (auth)/ (sign-in, sign-up)
│ │ │ ├── (dashboard)/ (authenticated app)
│ │ │ └── api/ (route handlers)
│ │ ├── components/
│ │ ├── lib/
│ │ ├── tailwind.config.ts
│ │ ├── next.config.ts
│ │ └── tsconfig.json
│ ├── packages/
│ │ ├── ui/ (shared component library)
│ │ ├── db/ (drizzle schema + migrations)
│ │ └── ai-pipeline/ (skill engine)
│ ├── turbo.json
│ └── .github/workflows/ci.yml
Setup:
- Next.js 15 with App Router + Turbopack
- Tailwind CSS 4
- TypeScript strict mode
- Drizzle ORM + Neon PostgreSQL
- Clerk auth (dev keys)
- pnpm workspaces + Turborepo
- ESLint + Prettier
- Vercel deployment config
Acceptance: `pnpm dev` runs, shows placeholder landing page
```
### Sprint 1B: Design System (Days 1-3)
**Agent: DESIGN-SYS**
**Depends on:** SCAFFOLD complete
```
Task: Build the complete component library per UX-DESIGN-SPEC.md
Deliverables in packages/ui/:
├── tokens/
│ ├── colors.ts (all hex values, dark/light)
│ ├── typography.ts (Inter + JetBrains Mono scale)
│ ├── spacing.ts (4px grid)
│ └── shadows.ts (elevation system)
├── components/
│ ├── Button.tsx (primary/secondary/ghost/danger/success, 3 sizes)
│ ├── Card.tsx (default/interactive/elevated/glowing)
│ ├── Input.tsx (text/textarea/select/search + error states)
│ ├── Modal.tsx (backdrop blur, spring animation)
│ ├── Toast.tsx (success/error/info/loading, auto-dismiss)
│ ├── NavRail.tsx (64px icon dock with tooltips)
│ ├── NavRailItem.tsx (icon + tooltip + active state)
│ ├── Inspector.tsx (slide-in right panel, context-sensitive)
│ ├── Badge.tsx (status badges for tools)
│ ├── Skeleton.tsx (loading placeholders)
│ ├── EmptyState.tsx (illustration + headline + CTA)
│ ├── ProgressBar.tsx (animated, indeterminate option)
│ ├── Stepper.tsx (deploy progress stepper)
│ └── ConfettiOverlay.tsx (canvas-confetti wrapper)
├── layouts/
│ ├── AppShell.tsx (NavRail + Canvas + Inspector 3-zone layout)
│ ├── MarketingLayout.tsx (header + footer for public pages)
│ └── AuthLayout.tsx (centered card layout)
└── hooks/
├── useTheme.ts (dark/light toggle)
├── useToast.ts (toast notification system)
└── useInspector.ts (open/close inspector panel)
Acceptance:
- All components render in dark + light mode
- Keyboard accessible (focus rings, tab order)
- Storybook or test page showing all components
- Matches UX-DESIGN-SPEC.md color values exactly
```
### Sprint 1C: Database + Auth (Days 2-4)
**Agent: BACKEND**
**Depends on:** SCAFFOLD complete
```
Task: Set up database schema, auth, and core API structure
Deliverables in packages/db/:
├── schema.ts (all tables from TECHNICAL-ARCHITECTURE.md)
│ - users, teams, projects, tools, apps
│ - deployments, marketplace_listings
│ - usage_logs, api_keys
├── migrations/
│ └── 0001_initial.sql
├── seed.ts (seed 37 marketplace templates)
└── index.ts (drizzle client export)
Deliverables in apps/web/app/api/:
├── auth/
│ └── webhook/route.ts (Clerk webhook → sync users to DB)
├── projects/
│ ├── route.ts (GET list, POST create)
│ └── [id]/route.ts (GET detail, PATCH update, DELETE)
└── middleware.ts (Clerk auth middleware)
Deliverables in apps/web/app/(auth)/:
├── sign-in/page.tsx (Clerk SignIn component)
└── sign-up/page.tsx (Clerk SignUp component)
Acceptance:
- `pnpm db:push` creates all tables in Neon
- Sign up / sign in works
- CRUD projects via API
- Clerk webhook syncs user to DB
```
---
## Phase 2: Core Features (Weeks 2-3)
### Sprint 2A: Visual Tool Editor (Days 5-9)
**Agent: CANVAS**
**Depends on:** DESIGN-SYS + BACKEND complete
```
Task: Build the React Flow visual tool editor — the core canvas
Deliverables in apps/web/components/canvas/:
├── ToolCanvas.tsx (React Flow wrapper with controls)
├── ToolNode.tsx (custom node: tool name, method badge, description,
│ param count, auth indicator, enabled toggle)
├── GroupNode.tsx (tool group container with label)
├── ConnectionEdge.tsx (animated edge for tool chaining)
├── CanvasToolbar.tsx (zoom controls, minimap toggle, auto-layout)
├── CanvasControls.tsx (React Flow controls wrapper)
└── hooks/
├── useCanvasState.ts (Zustand store: nodes, edges, selections)
├── useToolDragDrop.ts (drag from palette → canvas)
└── useAutoLayout.ts (dagre auto-layout algorithm)
Deliverables in apps/web/components/inspector/:
├── ToolInspector.tsx (main inspector panel)
├── ToolNameEditor.tsx (edit tool name + description)
├── ParamEditor.tsx (add/remove/edit input parameters)
│ - Param name, type (string/number/boolean/array/object)
│ - Required toggle, default value, description
├── OutputSchemaEditor.tsx (define output shape)
├── AuthConfigPanel.tsx (API key / OAuth2 / Bearer config)
├── AnnotationsPanel.tsx (readOnly, destructive, idempotent hints)
└── ToolPreview.tsx (JSON preview of tool definition)
Deliverables in apps/web/app/(dashboard)/projects/[id]/:
├── page.tsx (Tool Editor page — canvas + inspector)
└── layout.tsx (editor layout with NavRail)
Interactions:
- Click node → inspector opens with tool config
- Double-click node → inline rename
- Drag handle → connect tools (chaining)
- Right-click → context menu (duplicate, delete, disable)
- Cmd+Z / Cmd+Shift+Z → undo/redo
- Minimap in corner for navigation
- Auto-layout button (dagre algorithm)
Acceptance:
- Can add/remove/edit tools visually on canvas
- Inspector shows all config for selected tool
- Drag-drop between groups works
- Undo/redo works
- Canvas state persists to project (API call on change)
```
### Sprint 2B: AI Pipeline Engine (Days 5-10)
**Agent: AI-PIPE**
**Depends on:** BACKEND complete
**Parallel with:** CANVAS
```
Task: Wire our 11 skills into the AI generation pipeline
Deliverables in packages/ai-pipeline/:
├── index.ts (pipeline orchestrator)
├── skills/
│ ├── loader.ts (load skill SKILL.md files as system prompts)
│ └── registry.ts (skill name → file path mapping for all 11)
├── services/
│ ├── analyzer.ts (spec → AnalysisResult, uses mcp-api-analyzer)
│ ├── generator.ts (config → ServerBundle, uses mcp-server-builder
│ │ + mcp-server-development)
│ ├── designer.ts (config → AppBundle, uses mcp-app-designer
│ │ + mcp-apps-official + mcp-apps-merged)
│ ├── tester.ts (server → TestResults, uses mcp-qa-tester)
│ └── deployer.ts (bundle → DeployResult, uses mcp-deployment)
├── streaming/
│ ├── sse.ts (Server-Sent Events helper for API routes)
│ └── parser.ts (parse Claude streaming → structured events)
├── types.ts (AnalysisResult, ServerBundle, AppBundle, etc.)
└── cost-tracker.ts (track tokens/cost per operation)
Deliverables in apps/web/app/api/:
├── analyze/route.ts (POST — upload spec → stream analysis)
├── generate/route.ts (POST — tool config → stream server code)
├── design/route.ts (POST — app config → stream HTML apps)
├── test/route.ts (POST — server → stream test results)
└── ws/route.ts (WebSocket for real-time progress)
Skill Loading Strategy:
- All 11 SKILL.md files copied into packages/ai-pipeline/skills/data/
- Loaded at startup, cached in memory
- Composed into system prompts per operation:
* Analyze: mcp-api-analyzer
* Generate: mcp-server-builder + mcp-server-development
* Design: mcp-app-designer + mcp-apps-official + mcp-apps-merged + mcp-apps-integration
* Test: mcp-qa-tester
* Deploy: mcp-deployment
Streaming UX:
- All endpoints use SSE (text/event-stream)
- Events: progress, tool_found, file_generated, test_result, deploy_step
- Frontend renders events in real-time (tools appearing, code streaming)
Acceptance:
- POST /api/analyze with OpenAPI spec → streams tool definitions
- POST /api/generate with tool config → streams TypeScript files
- POST /api/test with server code → streams test results
- Cost tracking logs tokens per call
- Error handling: retries, partial results, timeout recovery
```
### Sprint 2C: Spec Upload + Analysis Flow (Days 7-10)
**Agent: BACKEND** (continued)
**Depends on:** AI-PIPE started
```
Task: Build the spec upload and analysis review screens
Deliverables in apps/web/app/(dashboard)/projects/new/:
├── page.tsx (New Project wizard)
│ Step 1: Name + description
│ Step 2: Upload spec (URL paste, file upload, or pick template)
│ Step 3: Watch analysis (streaming — tools appear as found)
│ Step 4: Review tools (toggle on/off, quick edit names)
│ Step 5: → Redirect to Tool Editor
Deliverables in apps/web/components/:
├── spec-upload/
│ ├── SpecUploader.tsx (URL input + file drop zone + template picker)
│ ├── AnalysisStream.tsx (real-time analysis display — tools appearing)
│ ├── ToolReview.tsx (checklist of discovered tools, toggles)
│ └── AnalysisProgress.tsx (animated progress bar + status messages)
└── project/
├── ProjectCard.tsx (dashboard grid card)
└── ProjectGrid.tsx (responsive grid of project cards)
Acceptance:
- Can paste URL → analysis runs → tools discovered
- Can upload JSON/YAML file → same flow
- Can pick from template → pre-populated
- Streaming analysis shows tools appearing in real-time
- Can toggle tools before proceeding to editor
```
---
## Phase 3: Advanced Features (Weeks 3-4)
### Sprint 3A: MCP App Designer (Days 10-14)
**Agent: APP-DESIGNER**
**Depends on:** CANVAS + AI-PIPE complete
```
Task: Build the WYSIWYG MCP App designer
Deliverables in apps/web/components/app-designer/:
├── AppDesigner.tsx (main 3-column layout: palette + preview + properties)
├── ComponentPalette.tsx (draggable widget list)
│ Widgets: DataGrid, Chart (bar/line/pie), Form, CardList,
│ StatsRow, Timeline, Calendar, Map, DetailView
├── DesignCanvas.tsx (drop zone + visual preview)
├── PropertyPanel.tsx (selected widget properties)
├── DataBindingEditor.tsx (wire widget fields → tool outputs)
├── PreviewToggle.tsx (preview as: Claude / ChatGPT / VS Code)
├── widgets/
│ ├── DataGridWidget.tsx (sortable table with columns config)
│ ├── ChartWidget.tsx (chart type + data mapping)
│ ├── FormWidget.tsx (input fields → tool inputs)
│ ├── CardListWidget.tsx (repeating card template)
│ ├── StatsRowWidget.tsx (3-4 stat boxes with icons)
│ ├── TimelineWidget.tsx (vertical event timeline)
│ └── DetailViewWidget.tsx (key-value detail display)
└── hooks/
├── useAppState.ts (Zustand: widgets, layout, bindings)
└── useAppPreview.ts (generate preview HTML from state)
Deliverables in apps/web/app/(dashboard)/projects/[id]/apps/:
├── page.tsx (App Designer page)
└── [appId]/page.tsx (Individual app editor)
The Key Innovation:
- User drags DataGrid widget onto canvas
- Opens property panel → selects "get_contacts" tool as data source
- Maps columns: name→contactName, email→email, phone→phone
- Clicks "Preview" → sees live HTML rendering
- Clicks "Generate" → AI-PIPE uses mcp-app-designer + mcp-apps-official
to produce production HTML with proper postMessage handling
Acceptance:
- Can drag widgets onto canvas
- Can bind widget data to tool outputs
- Preview renders styled HTML matching dark theme
- Generate produces valid MCP App HTML bundle
- Apps saved to project and database
```
### Sprint 3B: Deploy Pipeline (Days 10-14)
**Agent: DEPLOY**
**Parallel with:** APP-DESIGNER
```
Task: Build the one-click deployment system
Deliverables in packages/deploy-engine/:
├── index.ts (deploy orchestrator)
├── targets/
│ ├── mcpengine.ts (Cloudflare Workers deploy via Wrangler API)
│ ├── npm.ts (npm publish automation)
│ ├── docker.ts (Dockerfile generation + build)
│ └── download.ts (zip bundle for self-hosting)
├── compiler.ts (TypeScript → bundled JS for Workers)
├── worker-template.ts (Cloudflare Worker wrapper for MCP server)
└── dns.ts (add {slug}.mcpengine.run route)
Deliverables in apps/web/app/api/:
├── deploy/route.ts (POST — trigger deployment, stream progress)
└── deployments/
├── route.ts (GET — list user deployments)
└── [id]/
├── route.ts (GET status, DELETE stop)
└── logs/route.ts (GET deployment logs)
Deliverables in apps/web/app/(dashboard)/projects/[id]/deploy/:
└── page.tsx (Deploy screen with stepper UI)
- Target selector (MCPEngine / npm / Docker / Download)
- Progress stepper (Build → Test → Package → Deploy → Verify)
- Live log viewer (streaming)
- Success screen with URL + confetti
- "Add to Claude Desktop" config snippet
Cloudflare Workers Flow:
1. Compile TypeScript server → single JS bundle
2. Wrap in Worker template (handles HTTP → MCP transport)
3. Upload via Cloudflare API: PUT /workers/scripts/{name}
4. Set environment variables (user's API keys, decrypted)
5. Add route: {slug}.mcpengine.run
6. Health check: GET {slug}.mcpengine.run/health
7. Done → return URL
Acceptance:
- Can deploy to MCPEngine hosting → get live URL
- Can download as zip
- Progress stepper animates through stages
- Confetti fires on success
- Deployed server responds to MCP tool/list
- "Add to Claude Desktop" shows correct JSON config
```
### Sprint 3C: Marketplace (Days 12-16)
**Agent: MARKETPLACE**
**Parallel with:** DEPLOY
```
Task: Build the template marketplace seeded with our 37 servers
Deliverables in apps/web/app/(dashboard)/marketplace/:
├── page.tsx (Marketplace browser)
│ - Search bar with full-text search
│ - Category filter tabs (CRM, eCommerce, HR, Marketing, etc.)
│ - Grid of template cards (name, tool count, app count, rating, fork count)
│ - Sort: popular / newest / most forked
├── [templateId]/page.tsx (Template detail page)
│ - Name, description, author
│ - Tool list preview
│ - App screenshots
│ - [Fork to My Projects] button
│ - README rendered as markdown
└── publish/page.tsx (Publish your project as template)
Deliverables in apps/web/app/api/marketplace/:
├── route.ts (GET list + search, POST publish)
├── [id]/route.ts (GET detail)
├── [id]/fork/route.ts (POST fork → create project from template)
└── categories/route.ts (GET category list with counts)
Deliverables in packages/db/:
└── seed-marketplace.ts (migrate 37 servers into marketplace)
For each server:
- Extract tool count from src/index.ts
- Extract app count from app-ui/
- Auto-categorize (CRM, eCommerce, etc.)
- Set is_official = true
- Generate preview metadata
Acceptance:
- Browse 37 official templates with categories
- Search by name/description
- Fork template → creates new project with tools pre-loaded
- Category counts are accurate
- Template detail shows tool list and README
```
---
## Phase 4: Integration & Polish (Week 4)
### Sprint 4A: Landing Page + Onboarding (Days 16-18)
**Agent: DESIGN-SYS** (returns)
```
Task: Build the marketing landing page and 60-second onboarding
Landing Page:
- Hero: gradient text headline, demo video embed, dual CTAs
- Value props: 3 cards (Upload → Customize → Deploy)
- Social proof: "Built on" logos (MCP, Anthropic, Cloudflare)
- Template showcase: 6 featured from marketplace
- Pricing: 4 tier cards from PRODUCT-SPEC.md
- Final CTA: email capture
Onboarding (per UX-DESIGN-SPEC.md):
- Welcome → paste spec → watch analysis → see tools → deploy → confetti
- 60-second target, minimal clicks
- Guided tooltip overlays for first-time users
```
### Sprint 4B: Testing Dashboard (Days 16-18)
**Agent: AI-PIPE** (returns)
```
Task: Build the in-app testing playground
Deliverables:
├── apps/web/app/(dashboard)/projects/[id]/test/
│ └── page.tsx (Testing Dashboard)
└── apps/web/components/testing/
├── TestDashboard.tsx (test layer selector + results)
├── TestRunner.tsx (run button + streaming results)
├── TestResult.tsx (pass/fail card with details)
├── ToolPlayground.tsx (manual tool invocation — input JSON → run → see output)
└── LLMSandbox.tsx (chat with your MCP server through Claude)
Test layers available:
1. Protocol compliance (MCP Inspector equivalent)
2. Static analysis (TypeScript build check)
3. Tool invocation (run each tool with sample data)
4. Schema validation (input/output match)
```
### Sprint 4C: End-to-End Integration (Days 18-20)
**Agent: BUBA (me)**
```
Task: Wire everything together, fix integration issues, e2e test
- Connect all pages via NavRail navigation
- Ensure project state flows: create → analyze → edit → test → deploy
- Dashboard shows real project status
- Marketplace fork → editor works end-to-end
- Auth gates all authenticated routes
- Error boundaries on every page
- Loading states on every async operation
- Mobile responsive check (dashboard + marketplace)
- Performance: LCP < 2s, editor load < 3s
- Final deploy to Vercel
```
---
## Dependency Graph
```
Week 1:
SCAFFOLD ─────────┐
├──→ DESIGN-SYS (components)
├──→ BACKEND (DB + auth + API)
Week 2: │
DESIGN-SYS done ───┤
BACKEND done ──────┼──→ CANVAS (tool editor)
├──→ AI-PIPE (skill engine)
└──→ BACKEND cont. (spec upload)
Week 3:
CANVAS done ───────┤
AI-PIPE done ──────┼──→ APP-DESIGNER (WYSIWYG)
├──→ DEPLOY (hosting pipeline)
└──→ MARKETPLACE (templates)
Week 4:
All features ──────┼──→ DESIGN-SYS (landing + onboarding)
├──→ AI-PIPE (testing dashboard)
└──→ BUBA (integration + polish)
```
---
## Agent Communication Protocol
### How Agents Share Work
1. **All code goes to:** `mcpengine-studio/` workspace directory
2. **Each agent writes to its designated directories** (no conflicts)
3. **Shared interfaces** defined in `packages/ai-pipeline/types.ts` — BACKEND writes first, others import
4. **Buba reviews** every deliverable before next agent starts dependent work
5. **Integration issues** flagged back to Buba for resolution
### Agent Task Format
Each agent receives:
```
TASK: [specific deliverable]
WRITE TO: [exact file paths]
DEPENDS ON: [files that must exist first]
INTERFACES: [TypeScript types to import/implement]
ACCEPTANCE: [how Buba will verify completion]
REFERENCE: [which docs to read — PRODUCT-SPEC.md, TECHNICAL-ARCHITECTURE.md, etc.]
```
### Quality Gates
| Gate | Check | Blocker? |
|------|-------|----------|
| TypeScript compiles | `pnpm build` passes | Yes |
| No lint errors | `pnpm lint` passes | Yes |
| Component renders | Visual check in browser | Yes |
| API endpoint works | curl test returns expected data | Yes |
| Matches design spec | Colors/spacing match UX doc | Soft |
| Accessible | Focus rings, aria labels present | Soft |
---
## Risk Mitigations
| Risk | Mitigation |
|------|-----------|
| Agent timeout (5 min) | Break tasks into smaller chunks — 1-3 files per agent call, not entire features |
| Integration conflicts | Shared types defined upfront, strict directory ownership |
| Scope creep | V1 = spec upload + tool editor + deploy ONLY. No apps designer in V1. |
| API key costs | Use Sonnet for generation (not Opus) — $0.22/pipeline run |
| Agent writes bad code | Buba reviews + runs TypeScript compiler before accepting |
| Feature doesn't work e2e | Integration sprint (Week 4) dedicated to wiring + fixing |
---
## V1 MVP Definition (Ship in 4 Weeks)
**In scope:**
- ✅ Landing page + sign up
- ✅ Dashboard with project grid
- ✅ Spec upload (URL paste, file upload)
- ✅ AI analysis (streaming tool discovery)
- ✅ Visual tool editor (React Flow canvas)
- ✅ Tool inspector (params, auth, annotations)
- ✅ Deploy to MCPEngine hosting (Cloudflare Workers)
- ✅ Download as zip
- ✅ Marketplace (browse + fork 37 templates)
- ✅ Basic testing (tool invocation playground)
**V2 (Weeks 5-8):**
- MCP App Designer (WYSIWYG)
- npm publish
- Docker export
- LLM sandbox testing
- User-submitted marketplace templates
**V3 (Months 3-6):**
- Team collaboration (multiplayer canvas)
- Enterprise SSO
- Stripe billing
- Custom domains for hosted servers
- Smithery auto-publish
---
## Execution: Day-by-Day Schedule
### Week 1
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon | SCAFFOLD | Bootstrap monorepo, Next.js, Tailwind, Turbo | 2-3h |
| Mon-Tue | BACKEND | DB schema, Drizzle, migrations, Clerk auth | 3-4h |
| Tue-Wed | DESIGN-SYS | Component library (all 13+ components) | 4-5h |
| Wed-Thu | BACKEND | Projects CRUD API, spec upload endpoint | 2-3h |
| Thu-Fri | DESIGN-SYS | AppShell layout, NavRail, Inspector, themes | 2-3h |
### Week 2
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon-Tue | AI-PIPE | Skill loader, analyzer service, SSE streaming | 3-4h |
| Mon-Wed | CANVAS | React Flow setup, ToolNode, GroupNode, canvas state | 4-5h |
| Wed-Thu | AI-PIPE | Generator service, streaming file output | 3-4h |
| Thu-Fri | CANVAS | Inspector panels (params, auth, annotations) | 3-4h |
| Fri | BACKEND | Spec upload UI, analysis streaming page | 2-3h |
### Week 3
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon-Tue | DEPLOY | Cloudflare Workers pipeline, compiler, DNS | 3-4h |
| Mon-Tue | MARKETPLACE | DB seed script, browse page, search | 3-4h |
| Wed-Thu | DEPLOY | Deploy UI (stepper, logs, confetti) | 2-3h |
| Wed-Thu | MARKETPLACE | Template detail, fork flow, categories | 2-3h |
| Fri | AI-PIPE | Testing playground (tool invocation) | 2-3h |
### Week 4
| Day | Agent | Task | Hours |
|-----|-------|------|-------|
| Mon | DESIGN-SYS | Landing page, pricing section | 2-3h |
| Mon-Tue | DESIGN-SYS | Onboarding flow (60-second wizard) | 2-3h |
| Tue-Wed | BUBA | Wire all pages, NavRail routing, project flow | 3-4h |
| Wed-Thu | BUBA | E2E testing, bug fixes, error boundaries | 3-4h |
| Fri | BUBA | Deploy to Vercel, final check, launch prep | 2-3h |
---
## Launch Checklist
- [ ] Landing page live at mcpengine.com
- [ ] Sign up / sign in working
- [ ] Can create project from spec URL
- [ ] AI analysis streams tool discovery
- [ ] Tool editor canvas fully functional
- [ ] Inspector edits persist
- [ ] Deploy to MCPEngine hosting works
- [ ] Download zip works
- [ ] 37 templates browseable in marketplace
- [ ] Fork template → edit → deploy flow works
- [ ] Mobile-friendly dashboard + marketplace
- [ ] Error states on all pages
- [ ] Loading states on all async ops
- [ ] Vercel deployment stable
- [ ] Domain configured
- [ ] Analytics (Vercel Analytics or PostHog)
**Ship it.** ᕕ( ᐛ )ᕗ
---
*Last updated: February 6, 2026*