kuzudb-mcp-server 是一个模型上下文协议(MCP)服务器,用于接入 Kuzu 图数据库。该服务器使大语言模型(LLMs)能够检查数据库模式并执行查询,具备强大的连接恢复能力、多智能体协调功能,还自带一个 Web 界面。
# 全局安装
npm install -g kuzudb-mcp-server
# 用自动创建的数据库进行快速测试
pnpm serve:test # 标准输入输出传输(默认)
pnpm serve:test:http # 带 Web 界面的 HTTP 传输
pnpm serve:test:inspect # 带 MCP 检查器的 HTTP 传输
# 服务器管理
pnpm kill # 停止正在运行的服务器
pnpm restart # 以 HTTP 传输方式重启
# 克隆并设置
git clone https://github.com/jordanburke/kuzudb-mcp-server.git
cd kuzudb-mcp-server
pnpm install
# 初始化数据库
pnpm db:init # 空的测试数据库
pnpm db:init:movies # 示例电影数据
# 拉取并挂载数据库运行
docker run -d -p 3000:3000 -p 3001:3001 \
-v /path/to/your/database:/database \
ghcr.io/jordanburke/kuzudb-mcp-server:latest
# 在 http://localhost:3001/admin 访问 Web 界面
# MCP 端点在 http://localhost:3000/mcp
npm install -g kuzudb-mcp-server
docker run -d -p 3000:3000 -p 3001:3001 \
-v /path/to/your/database:/database \
ghcr.io/jordanburke/kuzudb-mcp-server:latest
可使用以下命令启动服务器进行快速测试:
# 标准输入输出传输(默认)
pnpm serve:test
# 带 Web 界面的 HTTP 传输
pnpm serve:test:http
# 带 MCP 检查器的 HTTP 传输
pnpm serve:test:inspect
在开发环境中,可按以下步骤设置:
# 克隆并设置
git clone https://github.com/jordanburke/kuzudb-mcp-server.git
cd kuzudb-mcp-server
pnpm install
# 初始化数据库
pnpm db:init # 空的测试数据库
pnpm db:init:movies # 示例电影数据
# 启动开发服务器
pnpm dev
服务器包含一个强大的 Web 界面,在使用 HTTP 传输时会自动启动。
.kuzu 备份文件并进行恢复# 启动带 Web 界面的服务器(HTTP 自动启用)
pnpm serve:test:http
# 访问 Web 界面
open http://localhost:3001/admin
# 使用 docker-compose(推荐)
docker-compose up -d
open http://localhost:3001/admin
# 手动使用 Docker 并启用 Web 界面
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
/admin - 主 Web 界面/health - 健康检查端点/api/info - 数据库信息(JSON 格式)/api/backup - 下载数据库备份/api/restore - 上传并恢复数据库服务器支持两种认证方法,适用于不同的使用场景:
对于基于令牌的安全生产部署,OAuth 是最佳选择:
# 在本地测试 OAuth
pnpm serve:test:http:oauth # 用户名/密码:admin/secret123
pnpm serve:test:inspect:oauth # 带 MCP 检查器
# 生产环境 OAuth 设置
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 \
node dist/index.js /path/to/database --transport http
对于开发和测试,基本认证的设置更简单:
# 在本地测试基本认证
pnpm serve:test:http:basic # 用户名/密码:admin/secret123
pnpm serve:test:inspect:basic # 带 MCP 检查器
# 生产环境基本认证设置
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 界面添加认证保护:
# 添加 Web 界面认证
KUZU_WEB_UI_AUTH_USER=admin \
KUZU_WEB_UI_AUTH_PASSWORD=changeme \
node dist/index.js /path/to/database --transport http
{
"mcpServers": {
"kuzu": {
"command": "docker",
"args": [
"run", "-v", "/path/to/database:/database",
"--rm", "-i", "ghcr.io/jordanburke/kuzudb-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kuzu": {
"command": "npx",
"args": ["kuzudb-mcp-server", "/path/to/database"]
}
}
}
# 通过 Smithery 安装 - 包含示例数据库
smithery install kuzudb-mcp-server
{
"mcpServers": {
"kuzu": {
"command": "npx",
"args": ["kuzudb-mcp-server"],
"env": {
"KUZU_MCP_DATABASE_PATH": "/path/to/database",
"KUZU_READ_ONLY": "true"
}
}
}
}
# 拉取最新镜像
docker pull ghcr.io/jordanburke/kuzudb-mcp-server:latest
# 使用自定义配置运行
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
# HTTP 服务器模式
node dist/index.js /path/to/database --transport http --port 3000
# 使用自定义端点
node dist/index.js /path/to/database --transport http --port 8080 --endpoint /kuzu
# 自动启动检查器
pnpm serve:test:inspect
# 手动设置
node dist/index.js /path/to/database --transport http
npx @modelcontextprotocol/inspector http://localhost:3000/mcp
{
"mcpServers": {
"kuzu-remote": {
"uri": "http://localhost:3000/mcp",
"transport": "http"
}
}
}
启用多个 AI 智能体(如 Claude Desktop + Claude Code)的安全并发访问:
{
"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"
}
}
}
}
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 开发模式并监听文件变化
pnpm dev
# 运行测试
pnpm test
pnpm test:ui
pnpm test:coverage
# 代码检查和格式化
pnpm lint
pnpm typecheck
pnpm format:check
{
"mcpServers": {
"kuzu": {
"command": "node",
"args": [
"/path/to/kuzudb-mcp-server/dist/index.js",
"/path/to/database"
]
}
}
}
| 属性 | 详情 |
|---|---|
| 数据库 | |
KUZU_MCP_DATABASE_PATH |
若未在参数中指定,此为数据库路径 |
KUZU_READ_ONLY |
启用只读模式 |
| 连接 | |
KUZU_MAX_RETRIES |
连接恢复尝试次数 |
| 多智能体 | |
KUZU_MULTI_AGENT |
启用协调功能 |
KUZU_AGENT_ID |
唯一的智能体标识符 |
KUZU_LOCK_TIMEOUT |
锁超时时间(毫秒) |
| Web 界面 | |
KUZU_WEB_UI_ENABLED |
启用/禁用 Web 界面 |
KUZU_WEB_UI_PORT |
Web 界面端口 |
KUZU_WEB_UI_AUTH_USER |
Web 界面用户名 |
KUZU_WEB_UI_AUTH_PASSWORD |
Web 界面密码 |
| 认证 | |
KUZU_OAUTH_ENABLED |
启用 OAuth |
KUZU_OAUTH_USERNAME |
OAuth 用户名 |
KUZU_OAUTH_PASSWORD |
OAuth 密码 |
KUZU_BASIC_AUTH_USERNAME |
基本认证用户名 |
KUZU_BASIC_AUTH_PASSWORD |
基本认证密码 |
KUZU_WEB_UI_AUTH_* 变量KUZU_WEB_UI_PORT 或 PORT根据测试:
仓库地址:github.com/jordanburke/kuzudb-mcp-server
Docker 镜像:ghcr.io/jordanburke/kuzudb-mcp-server
npm 包:npmjs.com/package/kuzudb-mcp-server