Yet another memory system for agents. This one with a coding project focus. My hobby project for learning TypeScript, Graph Databases and MCP. Vibe code 75% so bugs might ensue. Would love some userfeedback and feel free to pitch in with the development.
Support both SSE and stdio and the servers are end-to-end tested. Cline and Cursor work with stdio atleast based on my testing.
Stack:
TypeScript
KuzuDB
Model-Context-Protocol support (no official SDK yet)
Overview
🎯 Purpose & Goals
This project addresses several key challenges in AI-assisted development:
- Maintain persistent knowledge across coding sessions
- Support branch-based knowledge organization for development workflows
- Identify relationships between components, decisions, and rules
- Provide graph-based memory storage for enhanced context retrieval
- Enable AI tools to understand project architecture
- Client isolation for supporting multiple client projects with dedicated memory banks
✨ Key Benefits
📚 Knowledge Persistence
This memory bank enables AI assistants to:
- Retain architectural decisions and their context
- Track component relationships across your codebase
- Build knowledge incrementally over multiple sessions
🌐 Graph-Based Storage
Using KùzuDB as a graph database provides:
- Relationship-aware queries between components
- Context retrieval across connected entities
- Structural representation of system architecture
🔀 Branch Isolation
The implementation supports branch-based workflows:
- Separate memory contexts for each branch
- Branch-specific development knowledge
- Clean context switching when changing branches
🧰 Graph Traversal & Analysis
MCP tools include capabilities for:
- Component dependency analysis
- Component relationship mapping
- Structural importance identification
🏢 Client Project Isolation
The enhanced architecture now supports:
- Per-client database isolation for multi-project support
- Dedicated memory banks stored within each client's project root
- Lazy database initialization that only happens when explicitly requested
- Improved database path handling with proper error messages
🔍 Advanced Graph Queries & Traversals
The graph-based architecture enables powerful queries that would be difficult or impossible with traditional databases:
Server Config
{
"mcpServers": {
"KuzuMemo-MCP": {
"command": "npx",
"args": [
"-y",
"ts-node",
"/Users/<absolute_path>/kuzumem-mcp/src/mcp-stdio-server.ts"
],
"env": {
"PORT": "3000",
"HOST": "localhost",
"DB_FILENAME": "memory-bank.kuzu",
"HTTP_STREAM_PORT": "3001",
"HTTP_STREAM_PROJECT_ROOT": "/"
},
"protocol": "stdio"
}
}
}