databasesanalytics-data

KuzuDB

by jordanburke

KuzuDB delivers robust database management with direct access to graph databases, Cypher query execution, and multi-agen

Provides direct access to Kuzu graph databases through Cypher query execution, schema introspection, and database management with multi-agent coordination, automatic connection recovery, and built-in templates for movies, social networks, and financial data.

github stars

8

Built-in web management interfaceArchived project - Kuzu development discontinuedMulti-agent coordination support

best for

  • / Graph data analysis and exploration
  • / Building AI applications with graph databases
  • / Multi-agent systems needing shared database access

capabilities

  • / Execute Cypher queries on Kuzu graph databases
  • / Inspect database schemas and structure
  • / Manage database connections with auto-recovery
  • / Generate Cypher queries from natural language
  • / Handle multi-agent database access
  • / Backup and restore databases via web interface

what it does

Connects to Kuzu graph databases to run Cypher queries and inspect schemas. Note: This server is archived as Kuzu database development was discontinued in October 2025.

about

KuzuDB is a community-built MCP server published by jordanburke that provides AI assistants with tools and capabilities via the Model Context Protocol. KuzuDB delivers robust database management with direct access to graph databases, Cypher query execution, and multi-agen It is categorized under databases, analytics data.

how to install

You can install KuzuDB in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

KuzuDB is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

kuzudb-mcp-server

⚠️ ARCHIVED: This project is archived as the Kuzu database repository was archived on October 10, 2025. See ARCHIVE_NOTICE.md for details and alternatives.


A Model Context Protocol server that provides access to Kuzu graph databases. This server enables LLMs to inspect database schemas and execute queries with robust connection recovery, multi-agent coordination, and a built-in web interface.

Archive Status

Archived - October 21, 2025

The Kuzu graph database repository was archived by its maintainers on October 10, 2025 and is now read-only. As Kuzu is no longer actively maintained, this MCP server is also being archived. The project remains fully functional with Kuzu v1.4.1-r.4. See ARCHIVE_NOTICE.md for full details, technical achievements, and alternative graph database options.

🚀 Key Features

  • 📊 Web UI: Built-in database management interface with backup/restore capabilities
  • 🔐 Authentication: OAuth and Basic Auth support for secure access
  • 🤝 Multi-Agent: Safe concurrent access from multiple AI agents (experimental)
  • 🔄 Auto-Recovery: Automatic connection recovery with exponential backoff
  • 🐳 Docker Ready: Pre-built images and docker-compose workflow
  • 📱 Dual Transport: Both stdio and HTTP transport modes
  • 🧠 AI-Powered: Natural language to Cypher query generation

Quick Start

Install and Test

# Install globally
npm install -g kuzudb-mcp-server

# Quick test with auto-created database
pnpm serve:test              # stdio transport (default)
pnpm serve:test:http         # HTTP transport with Web UI
pnpm serve:test:inspect      # HTTP with MCP Inspector

# Server management
pnpm kill    # Stop running servers
pnpm restart # Restart with HTTP transport

Development Setup

# Clone and setup
git clone https://github.com/jordanburke/kuzudb-mcp-server.git
cd kuzudb-mcp-server
pnpm install

# Initialize databases
pnpm db:init                 # Empty test database
pnpm db:init:movies          # Sample movie data

One-Line Docker Setup

# Pull and run with mounted database
docker run -d -p 3000:3000 -p 3001:3001 \
  -v /path/to/your/database:/database \
  ghcr.io/jordanburke/kuzudb-mcp-server:latest

# Access Web UI at http://localhost:3001/admin
# MCP endpoint at http://localhost:3000/mcp

Components

Tools

  • getSchema - Fetch complete database schema (nodes, relationships, properties)
  • query - Execute Cypher queries with automatic error recovery

Prompts

  • generateKuzuCypher - Convert natural language to Kuzu-specific Cypher queries

🖥️ Web UI for Database Management

The server includes a powerful web interface that automatically starts with HTTP transport.

Features

  • 📁 Database Backup & Restore: Download .kuzu backups and restore from browser
  • 📤 Direct File Upload: Upload existing Kuzu database files (main + .wal)
  • 📊 Database Info: View path, mode, connection status, and schema statistics
  • 🔒 Secure Access: Optional authentication protection
  • 👁️ Read-Only Support: Upload/restore disabled in read-only mode

Quick Access

# Start with Web UI (auto-enabled with HTTP)
pnpm serve:test:http

# Access Web UI
open http://localhost:3001/admin

Docker with Web UI

# Using docker-compose (recommended)
docker-compose up -d
open http://localhost:3001/admin

# Manual Docker with Web UI
docker run -d \
  -p 3000:3000 -p 3001:3001 \
  -v /path/to/database:/database \
  -e KUZU_WEB_UI_AUTH_USER=admin \
  -e KUZU_WEB_UI_AUTH_PASSWORD=changeme \
  ghcr.io/jordanburke/kuzudb-mcp-server:latest

API Endpoints

  • /admin - Main web interface
  • /health - Health check endpoint
  • /api/info - Database information (JSON)
  • /api/backup - Download database backup
  • /api/restore - Upload and restore database

🔐 Authentication & Security

The server supports two authentication methods for different use cases:

OAuth (Production Recommended)

Best for production deployments with token-based security:

# Testing OAuth locally
pnpm serve:test:http:oauth     # admin/secret123
pnpm serve:test:inspect:oauth  # With MCP Inspector

# Production OAuth setup
KUZU_OAUTH_ENABLED=true \
KUZU_OAUTH_USERNAME=admin \
KUZU_OAUTH_PASSWORD=your-secure-password \
KUZU_OAUTH_USER_ID=admin-user \
KUZU_OAUTH_EMAIL=admin@example.com \
KUZU_JWT_EXPIRES_IN=31536000 \
node dist/index.js /path/to/database --transport http

Basic Auth (Development/Testing)

Simpler setup for development and testing:

# Testing Basic Auth locally  
pnpm serve:test:http:basic     # admin/secret123
pnpm serve:test:inspect:basic  # With MCP Inspector

# Production Basic Auth setup
KUZU_BASIC_AUTH_USERNAME=admin \
KUZU_BASIC_AUTH_PASSWORD=your-secure-password \
KUZU_BASIC_AUTH_USER_ID=admin-user \
KUZU_BASIC_AUTH_EMAIL=admin@example.com \
node dist/index.js /path/to/database --transport http

Web UI Authentication

Secure the Web UI interface:

# Add Web UI authentication
KUZU_WEB_UI_AUTH_USER=admin \
KUZU_WEB_UI_AUTH_PASSWORD=changeme \
node dist/index.js /path/to/database --transport http

JWT Token Configuration

Configure JWT token lifetime (OAuth mode only):

# Set token expiration in seconds (default: 31536000 = 1 year)
KUZU_JWT_EXPIRES_IN=3600    # 1 hour
KUZU_JWT_EXPIRES_IN=86400   # 24 hours
KUZU_JWT_EXPIRES_IN=2592000 # 30 days

Security Recommendations

  • Always use authentication for production deployments
  • Use OAuth for external-facing servers
  • Use Basic Auth for internal development/testing
  • Enable Web UI auth when exposing the interface
  • Use HTTPS in production environments
  • Configure JWT expiration based on your security requirements

Usage with Claude Desktop

Docker (Recommended)

{
  "mcpServers": {
    "kuzu": {
      "command": "docker",
      "args": [
        "run", "-v", "/path/to/database:/database",
        "--rm", "-i", "ghcr.io/jordanburke/kuzudb-mcp-server:latest"
      ]
    }
  }
}

npm/npx

{
  "mcpServers": {
    "kuzu": {
      "command": "npx",
      "args": ["kuzudb-mcp-server", "/path/to/database"]
    }
  }
}

Smithery (Easiest)

# Install via Smithery - includes sample database
smithery install kuzudb-mcp-server

Environment Variables

{
  "mcpServers": {
    "kuzu": {
      "command": "npx",
      "args": ["kuzudb-mcp-server"],
      "env": {
        "KUZU_MCP_DATABASE_PATH": "/path/to/database",
        "KUZU_READ_ONLY": "true"
      }
    }
  }
}

🌐 Remote Connection (HTTP Transport)

Pre-built Docker Images

# Pull latest image
docker pull ghcr.io/jordanburke/kuzudb-mcp-server:latest

# Run with custom configuration
docker run -d \
  -p 3000:3000 -p 3001:3001 \
  -v /path/to/database:/database \
  -e KUZU_READ_ONLY=false \
  ghcr.io/jordanburke/kuzudb-mcp-server:latest

Local Development

# HTTP server mode
node dist/index.js /path/to/database --transport http --port 3000

# With custom endpoint
node dist/index.js /path/to/database --transport http --port 8080 --endpoint /kuzu

MCP Inspector Testing

# Auto-start inspector
pnpm serve:test:inspect

# Manual setup
node dist/index.js /path/to/database --transport http
npx @modelcontextprotocol/inspector http://localhost:3000/mcp

Remote Client Configuration

{
  "mcpServers": {
    "kuzu-remote": {
      "uri": "http://localhost:3000/mcp",
      "transport": "http"
    }
  }
}

🤝 Multi-Agent Coordination (Experimental)

Enable safe concurrent access from multiple AI agents (e.g., Claude Desktop + Claude Code):

Configuration

{
  "mcpServers": {
    "kuzu": {
      "command": "npx",
      "args": ["kuzudb-mcp-server", "/path/to/database"],
      "env": {
        "KUZU_MULTI_AGENT": "true",
        "KUZU_AGENT_ID": "claude-desktop",
        "KUZU_LOCK_TIMEOUT": "10000"
      }
    }
  }
}

How It Works

  • Read queries: Execute immediately without coordination
  • Write queries: Acquire exclusive file-based locks
  • Auto cleanup: Stale locks detected and removed
  • Clear errors: Lock conflicts return helpful retry messages

Important Notes

  • Experimental feature for local development
  • Both agents must use the same database path
  • Lock files created in database directory
  • 10-second default timeout covers most operations

🛠️ Development

Build and Test

# Install dependencies
pnpm install

# Build project
pnpm build

# Development with watch
pnpm dev

# Run tests
pnpm test
pnpm test:ui
pnpm test:coverage

# Linting and formatting
pnpm lint
pnpm typecheck
pnpm format:check

Local Claude Desktop Setup

{
  "mcpServers": {
    "kuzu": {
      "command": "node",
      "args": [
        "/path/to/kuzudb-mcp-server/dist/index.js",
        "/path/to/database"
      ]
    }
  }
}

🔧 Environment Variables Reference

VariableDescriptionDefaultUsage
Database
KUZU_MCP_DATABASE_PATHDatabase path if not in args-Startup
KUZU_READ_ONLYEnable read-only modefalseSecurity
Connection
KUZU_MAX_RETRIESConnection recovery attempts2Reliability
Multi-Agent
KUZU_MULTI_AGENTEnable coordinationfalseConcurrency
KUZU_AGENT_IDUnique agent identifierunknown-{pid}Locking
KUZU_LOCK_TIMEOUTLock timeout (ms)10000Performance
Web UI
KUZU_WEB_UI_ENABLEDEnable/disable Web UItrueInterface
KUZU_WEB_UI_PORTWeb UI port3001Network
KUZU_WEB_UI_AUTH_USERWeb UI username-Security
KUZU_WEB_UI_AUTH_PASSWORDWeb UI password-Security
Authentication
KUZU_OAUTH_ENABLEDEnable OAuthfalseSecurity
`KUZU_OAUTH_

FAQ

What is the KuzuDB MCP server?
KuzuDB is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for KuzuDB?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    KuzuDB is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated KuzuDB against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: KuzuDB is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    KuzuDB reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend KuzuDB for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: KuzuDB surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    KuzuDB has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, KuzuDB benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired KuzuDB into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    KuzuDB is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.