Kuzumem Mcp
@Jakedismo
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.
Overview
What is Kuzumem Mcp?
Kuzumem Mcp is a TypeScript implementation of a distributed memory bank that functions as an MCP (Model Context Protocol) tool. It stores memories in a KùzuDB graph database and supports repository and branch filtering, enabling a centralized memory bank with repository-specific and branch-specific views. It is designed for seamless integration with IDEs and AI agents.
How to use Kuzumem Mcp?
Kuzumem Mcp can be accessed via a RESTful HTTP API, a CLI, or multiple MCP server implementations (HTTP batch, HTTP Streaming via SSE, and Stdio). Databases are lazily initialized — they are only created when the init-memory-bank tool is explicitly called, not during server startup. Each client project gets its own isolated database instance based on the provided project root path.
Key features of Kuzumem Mcp
- Thread-safe singleton pattern for resource instantiation
- Distributed graph structure using KùzuDB
- Repository and branch awareness with composite key identification
- Multiple access interfaces: HTTP API, CLI, SSE, Stdio
- Progressive results streaming for long-running operations
- Lazy database initialization per client project
- Graph and traversal tools for dependency analysis and pathfinding
Use cases of Kuzumem Mcp
- Maintain a centralized memory bank for AI agents across multiple repositories
- Isolate memory by branch while sharing a common graph database
- Enable persistent context for code assistants in different projects
- Perform dependency analysis and pathfinding on structured memory graphs
FAQ from Kuzumem Mcp
Why doesn't Kuzumem Mcp use the official TypeScript MCP SDK?
The project uses a custom implementation to learn the intricacies of the MCP protocol, achieve a more flexible architecture, and start small with CLI and HTTP server support before expanding.
What database does Kuzumem Mcp use?
It uses KùzuDB, a graph database, for memory storage and querying.
How are entities uniquely identified?
Entities are identified by a composite key in the format repositoryName:branchName:itemId, which achieves branch isolation in a centralized store.
What transport protocols are supported?
The server supports HTTP (batch-oriented endpoints), HTTP Streaming via SSE, and Stdio for direct IDE and agent integration.
Does Kuzumem Mcp require database initialization?
Yes, databases are created lazily only when the init-memory-bank tool is invoked, not at server startup.