# MCPedia โ€” Phase Status Legend: โœ… built ยท ๐ŸŸก partial ยท โฌœ deferred ## Phase 1 โ€” MVP (โœ… DONE) | Capability | Status | Notes | | --------------------- | ------ | ----- | | Monorepo (bun + Turbo)| โœ… | apps/{web,mcp}, packages/{types,config,db,parser,search,core}, scripts | | Content as Markdown | โœ… | `content/{docs,writeups,research,notes}/`, Git-tracked | | Frontmatter parsing | โœ… | `@mcpedia/parser` (gray-matter) | | Postgres metadata | โœ… | `@mcpedia/db` Drizzle, `documents` table | | Postgres FTS | โœ… | weighted `tsvector` (title A / body B), GIN index, `ts_rank`+`ts_headline` | | Core services | โœ… | Document / Content / Search โ€” single business-logic layer | | Indexer | โœ… | `scripts/indexer.ts` walks content/ โ†’ upserts | | Web UI (Next 16) | โœ… | home (list), doc view (SSG), search (dynamic). react-markdown render | | MCP server (stdio) | โœ… | 4 tools; in-memory smoke test passing | | Hybrid/semantic search| โฌœ | Phase 2 | ## Phase 2 โ€” Semantic + API - [ ] `pgvector` + embedding column on `document_chunks` - [ ] Chunking + embedding provider abstraction (`EmbeddingProvider`: OpenAI/Gemini/Ollama/local) - [ ] Hybrid search (FTS score + cosine, reciprocal-rank fusion) - [ ] tRPC + Hono API (`apps/api`) sharing `@mcpedia/core` - [ ] Tags / Categories / References as first-class tables - [ ] Auth (Auth.js / OIDC) โ€” public/private/unlisted/admin/owner - [ ] shadcn/ui components + Shiki syntax highlighting (replace minimal markdown render) ## Phase 3 โ€” Async + Scale - [ ] Redis + BullMQ background indexing / embedding workers - [ ] Git synchronization hook (auto-reindex on push) - [ ] Document revision system (`document_revisions`) - [ ] MCP Resources (`mcpedia://docs/...`) in addition to tools ## Phase 4 โ€” Scale-out (only if needed) - [ ] Dedicated search engine (OpenSearch/Elasticsearch) โ€” YAGNI until FTS is insufficient - [ ] Object storage for assets - [ ] Advanced ranking, distributed workers, observability, multi-tenant ## Decisions locked (from initial planning) - **Tooling:** bun workspaces + Turborepo (repo already used bun; pnpm rejected to minimize churn). - **DB:** imrnes Postgres `100.121.180.82:6432/mcpedia` for both dev and deploy; driver `prepare:false` (PgBouncer). Docker Compose reserved for future prod. - **Phase 1 scope:** Core + Web + MCP only. tRPC/Hono API, pgvector, auth, BullMQ deferred (YAGNI).