Supports containerized deployment via Docker, allowing Claude to safely access Kuzu databases with proper volume mounting and configuration.
Provides platform-specific configuration paths and instructions for Claude Desktop integration on macOS systems.
Enables installation and execution through npm/npx, offering alternative deployment options to Docker for running the MCP server.
kuzudb-mcp-server
A Model Context Protocol server that provides access to Kuzu databases. This server enables LLMs to inspect database schemas and execute queries on provided kuzu database.
Components
Tools
- getSchema
- Fetch the full schema of the Kuzu database, including all nodes and relationships tables and their properties
- Input: None
- query
- Run a Cypher query on the Kuzu database
- Input:
cypher
(string): The Cypher query to run
Prompt
- generateKuzuCypher
- Generate a Cypher query for Kuzu
- Argument:
question
(string): The question in natural language to generate the Cypher query for
Usage with Claude Desktop
With Docker (Recommended)
- Edit the configuration file
config.json
:- on macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- on Windows:
%APPDATA%\Claude\claude_desktop_config.json
- on macOS:
- Add the following configuration to the
mcpServers
object:Change the{Absolute Path to the Kuzu database}
to the actual path - Restart Claude Desktop
With npm/npx
- Install globally:
npm install -g kuzudb-mcp-server
- Or use directly with npx:
npx kuzudb-mcp-server
- Edit the configuration file
config.json
:- on macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- on Windows:
%APPDATA%\Claude\claude_desktop_config.json
- on macOS:
- Add the following configuration to the
mcpServers
object:Change the{Absolute Path to the Kuzu database}
to the actual path - Restart Claude Desktop
Using Environment Variables
You can also specify the database path using the KUZU_MCP_DATABASE_PATH
environment variable instead of passing it as an argument:
Alternatively, if you have KUZU_MCP_DATABASE_PATH
set in your system environment, the server will automatically use it when no database path argument is provided.
Read-Only Mode
The server can be run in read-only mode by setting the KUZU_READ_ONLY
environment variable to true
. In this mode, running any query that attempts to modify the database will result in an error. This flag can be set in the configuration file as follows:
With npm/npx:
With Docker:
Multi-Agent Coordination (Experimental)
The server supports multi-agent coordination to allow multiple AI agents (e.g., Claude Desktop and Claude Code) to share the same Kuzu database safely. This feature addresses Kuzu's single-writer limitation through transparent file-based locking.
Enabling Multi-Agent Mode
Set the following environment variables in your configuration:
KUZU_MULTI_AGENT=true
- Enable multi-agent coordinationKUZU_AGENT_ID=string
- Unique identifier for the agent (e.g., "claude-desktop", "claude-code")KUZU_LOCK_TIMEOUT=number
- Lock timeout in milliseconds (default: 10000)
Claude Desktop Configuration
Claude Code Configuration
How It Works
When multi-agent mode is enabled:
- Read queries execute immediately without coordination
- Write queries (CREATE, MERGE, SET, DELETE, etc.) acquire an exclusive lock
- Locks are automatically released after query completion
- Stale locks from crashed processes are detected and cleaned up
- Lock conflicts result in clear error messages with retry suggestions
Important Notes
- This feature is experimental and designed for local development scenarios
- Both agents must point to the same database path
- The lock file (
.mcp_write_lock
) is created in the database directory - Lock timeout defaults to 10 seconds, which covers most operations
Development
To build from source:
For local development, you can also configure Claude Desktop to use the local build:
Documentation
Core Features
- Connection Recovery - Automatic connection recovery, retry logic, and error handling
- Multi-Agent Coordination - Safe concurrent access with file-based locking
- Batch Query Improvements - Enhanced DDL and multi-statement query handling
Bug Workarounds
- Kuzu Bug Workarounds - Temporary fixes for known Kuzu issues
Environment Variables
Variable | Description | Default |
---|---|---|
KUZU_READ_ONLY | Enable read-only mode | false |
KUZU_MAX_RETRIES | Connection recovery retry attempts | 2 |
KUZU_MULTI_AGENT | Enable multi-agent coordination | false |
KUZU_AGENT_ID | Unique agent identifier | unknown-{pid} |
KUZU_LOCK_TIMEOUT | Lock acquisition timeout (ms) | 10000 |
KUZU_MCP_DATABASE_PATH | Database path if not provided as argument | - |
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol server that provides access to Kuzu databases. This server enables LLMs to inspect database schemas and execute queries on provided kuzu database.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides access to MongoDB databases. This server enables LLMs to inspect collection schemas and execute read-only queries.Last updated -8817217TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.Last updated -340MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact with databases (currently MongoDB) through natural language, supporting operations like querying, inserting, deleting documents, and running aggregation pipelines.Last updated -TypeScriptMIT License
MCP TapData Serverofficial
-securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -