=== NEW === - studio/ — MCPEngine Studio scaffold (Next.js monorepo, build plan) - docs/FACTORY-V2.md — Factory v2 architecture doc - docs/CALENDLY_MCP_BUILD_SUMMARY.md — Calendly MCP build report === UPDATED SERVERS === - fieldedge: Added jobs-tools, UI build script, main entry update - lightspeed: Updated main + server entry points - squarespace: Added collection-browser + page-manager apps - toast: Added main + server entry points === INFRA === - infra/command-center/state.json — Updated pipeline state - infra/command-center/FACTORY-V2.md — Factory v2 operator playbook
702 lines
27 KiB
Markdown
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*
|