docs: add MCP Memory Stack complementarity patterns

- Add 4-layer knowledge stack diagram (doobidoo → Serena → grepai → Context7)
- Document 5 combined workflows: feature understanding, onboarding, ADR, debug persistence, multi-IDE
- Add comparison matrix (cross-session, cross-IDE, cross-device, graphs, fuzzy search)
- Add usage patterns table with examples
- Document current limitations with workarounds
- Update reference.yaml with new entries

Experimental section - patterns need validation in production workflows.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Florian BRUNIAUX 2026-01-23 15:10:50 +01:00
parent 09ac9d381d
commit ca83f5a56d
2 changed files with 119 additions and 0 deletions

View file

@ -6521,6 +6521,122 @@ Device C ──┘
> **Source**: [doobidoo/mcp-memory-service GitHub](https://github.com/doobidoo/mcp-memory-service) (791 stars, v10.0.2)
### MCP Memory Stack: Complementarity Patterns
> **⚠️ Experimental** - These patterns combine multiple MCP servers. Test in your workflow before relying on them.
**The 4-Layer Knowledge Stack**:
```
┌─────────────────────────────────────────────────────┐
│ KNOWLEDGE LAYER │
├─────────────────────────────────────────────────────┤
│ doobidoo │ Decisions, ADRs, business context │
│ (semantic) │ "Why did we do this?" │
├───────────────┼─────────────────────────────────────┤
│ Serena │ Symbols, structure, key-value memory│
│ (code index) │ "Where is X defined?" │
├───────────────┼─────────────────────────────────────┤
│ grepai │ Semantic code search + call graph │
│ (code search)│ "Find code that does X" │
├───────────────┼─────────────────────────────────────┤
│ Context7 │ Official library documentation │
│ (docs) │ "How to use library X?" │
└─────────────────────────────────────────────────────┘
```
**Comparison Matrix**:
| Capability | Serena | grepai | doobidoo |
|------------|--------|--------|----------|
| Cross-session memory | Key-value | No | Semantic |
| Cross-IDE memory | No | No | Yes |
| Cross-device sync | No | No | Yes (Cloudflare) |
| Knowledge Graph | No | Call graph | Decision graph |
| Fuzzy search | No | Code | Memory |
| Tags/categories | No | No | Yes |
**Usage Patterns**:
| Pattern | Tool | Example |
|---------|------|---------|
| **Decision taken** | doobidoo | `store_memory("Decision: FastAPI because async + OpenAPI", tags=["decision", "api"])` |
| **Convention established** | doobidoo | `store_memory("Convention: snake_case for Python", tags=["convention"])` |
| **Bug resolved** | doobidoo | `store_memory("Bug: token TTL mismatch Redis/JWT. Fix: align TTL+60s", tags=["bug", "auth"])` |
| **WIP warning** | doobidoo | `store_memory("WIP: refactoring AuthService, don't touch", tags=["wip"])` |
| **Find symbol** | Serena | `find_symbol("PaymentProcessor")` |
| **Find callers** | grepai | `grepai trace callers "validateToken"` |
| **Search by intent** | grepai | `grepai search "authentication logic"` |
| **Library docs** | Context7 | `resolve-library-id("fastapi")` |
**Combined Workflows**:
```
# Workflow 1: Understanding a feature
retrieve_memory("payment module status?") # doobidoo → business context
grepai search "payment processing" # grepai → find code
find_symbol("PaymentProcessor") # Serena → exact location
# Workflow 2: Onboarding (Session 1 → Session N)
# Session 1 (senior dev)
store_memory("Architecture: hexagonal with ports/adapters", tags=["onboarding"])
store_memory("Tests in __tests__/, using Vitest", tags=["onboarding", "testing"])
store_memory("DANGER: never touch legacy/payment.ts without review", tags=["onboarding", "danger"])
# Session N (new dev)
retrieve_memory("project architecture?")
retrieve_memory("where are tests?")
retrieve_memory("dangerous areas?")
# Workflow 3: ADR (Architecture Decision Records)
store_memory("""
ADR-001: FastAPI vs Flask
- Decision: FastAPI
- Reason: native async, auto OpenAPI, typing
- Rejected: Flask (sync), Django (too heavy)
""", tags=["adr", "api"])
# 3 months later
retrieve_memory("why FastAPI?")
# Workflow 4: Debug context persistence
store_memory("Auth bug: Redis TTL expires before JWT", tags=["debug", "auth"])
store_memory("Fix: align Redis TTL = JWT exp + 60s margin", tags=["debug", "auth", "fix"])
# Same bug reappears months later
retrieve_memory("auth token redis problem")
→ Finds the fix immediately
# Workflow 5: Multi-IDE coordination
# In Claude Code (terminal)
store_memory("Refactoring auth in progress, don't touch AuthService", tags=["wip"])
# In Cursor (another window)
retrieve_memory("work in progress?")
→ Sees the warning
```
**When to use which memory system**:
| Need | Tool | Why |
|------|------|-----|
| "I know the exact key" | Serena `read_memory("api_choice")` | Fast, direct lookup |
| "I remember the topic, not the key" | doobidoo `retrieve_memory("API decision?")` | Semantic search |
| "Share across IDEs" | doobidoo | Multi-client support |
| "Share across devices" | doobidoo + Cloudflare | Cloud sync |
| "Code symbol location" | Serena `find_symbol()` | Code indexation |
| "Code by intent" | grepai `search()` | Semantic code search |
**Current Limitations** (doobidoo):
| Limitation | Impact | Workaround |
|------------|--------|------------|
| No versioning | Can't see decision history | Include dates in content |
| No permissions | Anyone can modify | Use separate DBs per team |
| No source linking | No link to file/line | Include file refs in content |
| No expiration | Stale memories persist | Manual cleanup with `delete_memory` |
| No git integration | No branch-aware memory | Tag with branch name |
</details>
## 8.3 Configuration

View file

@ -147,6 +147,7 @@ deep_dive:
serena_indexation: 6078
serena_mcp: 6037
doobidoo_memory_mcp: 6385
mcp_memory_stack_patterns: 6524
mcp_config: 6149
mcp_security: 6517
cicd: 6835
@ -346,6 +347,8 @@ mcp:
doobidoo_backends: "sqlite_vec (local), cloudflare (multi-device), hybrid (local+cloud sync)"
doobidoo_tools: "store_memory, retrieve_memory, search_by_tag, delete_memory, list_memories, check_database_health, memory_graph"
doobidoo_data_location: "~/.mcp-memory-service/memories.db"
mcp_memory_stack: "4 layers: doobidoo (decisions) → Serena (symbols) → grepai (code search) → Context7 (docs)"
mcp_complementarity_patterns: "onboarding, ADR, debug persistence, multi-IDE coordination"
serena_indexation: "uvx --from git+https://github.com/oraios/serena serena project index [--force-full|--incremental] [--parallel N]"
serena_cache: ".serena/cache/typescript/ (add to .gitignore)"
context7: "library docs lookup"