KuzuMemBLOCK
KuzuDB-powered memory bank for code agents built with TypeScript and follows MCP protocol
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A TypeScript implementation of a distributed memory bank as an MCP (Model Context Protocol) tool, storing memories in a KùzuDB graph database with repository and branch filtering capabilities. Branch isolation is achieved by using a graph-unique identifier for entities, enabling a centralized memory bank while allowing repository-specific and branch-specific views. Fully compliant with MCP specification for seamless integration with IDEs and AI agents.
Key Features
- 🧠 AI-Powered Memory Optimization - Advanced reasoning models (OpenAI o3/o4-mini, Claude 4) with MCP sampling for intelligent memory management
- 🛡️ Production-Ready Safety - Automatic snapshot system with guaranteed rollback capabilities
- 🎯 Context-Aware Intelligence - MCP sampling analyzes actual memory state for adaptive optimization strategies
- 🔧 Unified Tool Architecture - 12 consolidated tools covering all memory bank operations
- 🧵 Thread-Safe Singleton Pattern - Ensures each resource is instantiated only once, with proper thread safety
- 📊 Distributed Graph Structure - Follows the advanced memory bank specification using a KùzuDB graph
- 🌿 Repository & Branch Awareness - All operations are contextualized by repository name and branch
- ⚡ Asynchronous Operations - Uses async/await for better performance
- 🔌 Multiple Access Interfaces - Access via CLI and multiple MCP server implementations
- 💾 KùzuDB Backend - Utilizes KùzuDB for graph-based memory storage and querying
- ✅ Fully MCP Compliant - All tools follow the Model Context Protocol for client integration
- 📡 Progressive Results Streaming - Supports streaming for long-running graph operations
- 🏠 Client Project Root Isolation - Each client project gets its own isolated database instance
- 🧠 High-Reasoning Analysis - Leverages OpenAI HIGH reasoning and Anthropic extended thinking for memory optimization
- 🗑️ Safe Bulk Operations - Advanced bulk deletion with
7221822a8459OBSERVED · 2026-10-09Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add kuzumem-mcp --env OPENAI_API_KEY=${OPENAI_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"kuzumem-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}Exposed tools (12)
7 read · 5 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
add_file | write | Add a file record to the memory bank with metadata and optional metrics |
add_tag | write | Add a tag to the memory bank for categorizing and organizing items |
associate_file_with_component | write | Create a CONTAINS_FILE relationship from Component to File |
count_nodes_by_label | read | Count the number of nodes with a specific label in the memory bank graph |
find_items_by_tag | read | Find all items that are tagged with a specific tag |
get_node_properties | read | Get the schema and properties definition for nodes with a specific label |
introspect | read | Introspect database structure and contents to understand what |
list_all_indexes | read | List all indexes defined in the memory bank graph database |
list_all_labels | read | List all node labels available in the memory bank graph database |
list_nodes_by_label | read | List nodes with a specific label in the memory bank graph with optional pagination |
query | write | Execute queries against the memory bank to retrieve information. Available query types: - context: Get session context and work history (what |
tag_item | write | Apply a tag to an item by creating an IS_TAGGED_WITH relationship |
Trust audit
BLOCKgrade D · trust 67/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (13)
ANTHROPIC_API_KEY=sk-ant-your-anthropic-api-key-here
ANTHROPIC_API_KEY=sk-ant-your-anthropic-api-key-here
.cursorignore
.eslintrc.js
.prettierrc.js
import { analyzeHandler } from '../../../mcp/services/handlers/unified/analyze-handler';import { ToolHandlerContext } from '../../../mcp/types/sdk-custom';import { GraphAnalysisService } from '../../../services/domain/graph-analysis.service';import { MemoryService } from '../../../services/memory.service';import { associateHandler } from '../../../mcp/services/handlers/unified/associate-handler';@ai-sdk/anthropic, @ai-sdk/openai, @modelcontextprotocol/sdk, @types/node, ai, commander, dotenv, kuzu
You MUST follow this exact workflow for EVERY task:
Gates applied: critical_finding, no_behavioural_pass, no_license.
7221822a8459full audit observations/trust-audit/mcp-server/jakedismo__kuzumem.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | 7221822a8459 | BLOCK | D | 67 | first audit |
Questions
What is the KuzuMem MCP server?
KuzuDB-powered memory bank for code agents built with TypeScript and follows MCP protocol
What tools does KuzuMem expose?
12 in total: 7 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is KuzuMem safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (67/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does KuzuMem need?
It reads OPENAI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does KuzuMem run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as kuzumem-mcp at 3.0.0.
How current is this page?
The grade is for one exact copy of the source (7221822a8459), read on 2026-10-09. The repository is watched and re-audited when it changes.