# metal-kompanion-mcp MCP backend for Kompanion: memory/context/embedding provider over MCP, built from scratch (qtmcp-based) to persist conversation state and serve embeddings + retrieval to avoid forgetting across threads. > ## 📈 Project Summary > > **✅ Done**: 2 | **🔄 In Progress**: 0 | **⬜ Todo**: 38 | **❌ Blocked**: 0 > > **Progress**: 5% `█░░░░░░░░░░░░░░░░░░░` 2/40 tasks > > **Priorities**: 🚨 **Critical**: 0 | 🔴 **High**: 1 | 🟡 **Medium**: 41 | 🟢 **Low**: 0 ## Tasks | ID | Status | Priority | Title | Description | |:--:|:------:|:--------:|:------|:------------| | #1 | ⬜ todo | 700 | **Project Setup: metal-kompanion-mcp** | MCP backend for Kompanion: me... | | #2 | ⬜ in_progress | 500 | **Design MCP memory/context API** | Specify MCP tools for: save_c... | | #3 | ⬜ todo | 501 | **Select embedding backend & storage** | Choose between local (Ollama/... | | #4 | ⬜ in_progress | 499 | **Scaffold qtmcp-based server** | Set up C++/Qt MCP server skel... | | #5 | ⬜ todo | 502 | **Implement memory adapters** | Adapters: (1) SQLite+FAISS/pg... | | #6 | ⬜ todo | 498 | **Deep research: memory DB architecture & schema** | Survey best practices for con... | | #7 | ⬜ todo | 503 | **Decide primary DB: Postgres+pgvector vs SQLite+FAISS** | Evaluate tradeoffs (multi-use... | | #8 | ⬜ todo | 497 | **Implement DAL + migrations (pgvector)** | Create C++ DAL layer for name... | | #9 | ⬜ todo | 504 | **Add cloud DB hardening (RLS, FTS/trgm, ANN indexes)** | Implement RLS policies; add F... | | #10 | ⬜ todo | 496 | **Server enforcement: scope injection + rate limits** | Inject namespace/user via ses... | | #11 | ⬜ todo | 505 | **Redaction & sensitivity pipeline** | Implement preprocessing to de... | | #12 | ⬜ todo | 495 | **Private vault mode (key-only retrieval)** | Implement vault path for secr... | | #13 | ⬜ todo | 506 | **Local backup tools: export/import (E2EE)** | Add kom.local.v1.backup.expor... | | #14 | ⬜ todo | 494 | **Cloud adapters: backup/sync & payments stubs** | Expose kom.cloud.v1.backup.up... | | #15 | ⬜ todo | 507 | **Purge job & admin delete paths** | Implement scheduled hard-dele... | | #16 | ⬜ todo | 493 | **Test suite: privacy & hybrid search** | Cross-tenant leakage, redacti... | | #17 | ⬜ todo | 508 | **Enable Qwen-2.5-Coder with tool support (Happy-Code profile)** | Prepare system prompt + regis... | | #18 | ⬜ todo | 492 | **Expose Agentic-Control-Framework as a tool** | Wrap ACF endpoints into a too... | | #19 | ⬜ todo | 509 | **DAL skeleton + SQL calls (pgvector)** | Create DAL interfaces and pgv... | | #20 | ⬜ todo | 491 | **Claude Code integration rescue plan** | Stabilize Qwen-2.5-Coder insi... | | #21 | ⬜ todo | 510 | **DAL Phase 1: libpq/pqxx wiring + SQL calls** | Link pqxx, implement PgDal ag... | | #22 | ⬜ todo | 490 | **Handlers → DAL integration** | Wire kom.memory.v1.upsert_mem... | | #23 | ⬜ todo | 511 | **Contract tests: DAL-backed tools** | Expand CTest to cover DAL-bac... | | #24 | ⬜ todo | 489 | **Implement KompanionAI SDK** | | ### Task #2: Design MCP memory/context API - Subtasks | ID | Status | Title | |:--:|:------:|:------| | #2.1 | ⬜ todo | Write JSON Schemas for tools (done) | ### Task #21: DAL Phase 1: libpq/pqxx wiring + SQL calls - Subtasks | ID | Status | Title | |:--:|:------:|:------| | #21.1 | ⬜ todo | CMake: find_package(pqxx) and link; CI env var DSN | | #21.2 | ⬜ todo | PgDal: implement connect/tx + prepared statements | | #21.3 | ⬜ todo | SQL: ensureNamespace, upsertItem/Chunks/Embeddings | | #21.4 | ⬜ todo | Search: FTS/trgm + vector <-> with filters (namespace/thread/tags) | ### Task #22: Handlers → DAL integration - Subtasks | ID | Status | Title | |:--:|:------:|:------| | #22.1 | ⬜ todo | Replace ad-hoc JSON with parser (nlohmann/json or simdjson) | | #22.2 | ⬜ todo | Validate request bodies against schemas before DAL calls | | #22.3 | ⬜ todo | Scope & sensitivity enforcement (namespace/user + skip secret embeddings) | ### Task #24: Implement KompanionAI SDK - Subtasks | ID | Status | Title | |:--:|:------:|:------| | #24.1 | ✅ done | Define Message & Thread Model | | #24.2 | ✅ done | Implement Tool / Function Calling | | #24.3 | ⬜ todo | Implement Provider abstraction (multi-backend) | | #24.4 | ⬜ todo | Implement Completion / Reply / Streaming Events | | #24.5 | ⬜ todo | Implement Options / Policies / Privacy | | #24.6 | ⬜ todo | Implement Embeddings (for RAG / memory) | | #24.7 | ⬜ todo | Implement Agent Loop Conveniences | | #24.8 | ⬜ todo | Implement Error Model & Cancellation | | #24.9 | ⬜ todo | Expose to QML | | #24.10 | ⬜ todo | Migrate KLLM to KompanionAI |