Datalog数据库服务

CozoDB是一个基于Datalog的数据库服务器,为模型上下文协议提供支持,适用于需要高效数据查询和管理的开发场景。

  • by AtsushiYamashita
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 AtsushiYamashita/mcp-cozodb

使用说明

MCP CozoDB服务器

CozoDB 用于模型上下文协议的(数据日志数据库)服务器。使用 CozoDB连接器技能 用于语法参考和最佳实践。

快速开始

npm install && npm run build
node dist/index.js  # stdio mode (Claude Desktop, Gemini CLI)

快速设置

自动配置 (推荐):

npm install && npm run build
npm run setup  # Interactive setup

或者直接指定目标代理:

npm run setup -- -t claude        # Claude Desktop
npm run setup -- -t gemini        # Gemini CLI
npm run setup -- -t antigravity   # Google Antigravity

安装脚本将:

  1. 自动检测代理的配置文件
  2. 数据库引擎提示(mem/sqlite/rocksdb)
  3. 自动写入配置
  4. 显示您的代理的下一步操作

手动配置

环境变量

变量 默认值 描述
COZO_ENGINE mem 储存: mem, sqlite, rocksdb
COZO_PATH ./cozo.db 数据库路径(忽略 mem)
COZO_QUERY_TIMEOUT 30000 查询超时(毫秒)(0=无超时)
MCP_TRANSPORT stdio 运输: stdio 或 http
MCP_HTTP_PORT 3100 HTTP端口(当传输=HTTP时)
MCP_CORS_ORIGIN localhost CORS起源(逗号分隔)

客户端配置

克劳德桌面 -添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "cozodb": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-cozodb/dist/index.js"],
      "env": { "COZO_ENGINE": "sqlite", "COZO_PATH": "/path/to/db.db" }
    }
  }
}

Gemini CLI -添加到MCP配置:

{
  "cozodb": {
    "command": "node",
    "args": ["D:/project/mcp-cozodb/dist/index.js"],
    "env": { "COZO_ENGINE": "mem" }
  }
}

可用工具

工具 描述 破坏性
cozo_query 执行数据日志查询 否
cozo_list_relations 列出关系 否
cozo_describe_relation 获取架构 否
cozo_create_relation 创建关系 否
cozo_put 插入/更新数据 否
cozo_remove 删除行 ⚠️ 是
cozo_drop_relation 删除关系 ⚠️ 是

用法示例

// 1. Create relation
cozo_create_relation({
  relation_name: "users",
  schema: "{id: Int => name: String}",
});

// 2. Insert data
cozo_put({
  relation_name: "users",
  data: [
    [1, "Alice"],
    [2, "Bob"],
  ],
});

// 3. Query
cozo_query({ query: "?[id, name] := *users[id, name]" });

[!警告] HTTP模式在没有身份验证的情况下公开数据库。 使用 stdio 用于生产。看 安全.md 了解详情。

部署

看 部署.md 用于:

  • 生产部署指南
  • 优雅的关机验证
  • 备份和恢复程序
  • 反向代理设置(HTTP模式)
  • 监测建议

发展

npm run dev                                             # Watch mode
npm run test:once                                       # Run tests
npx @modelcontextprotocol/inspector node dist/index.js  # MCP Inspector

许可证

麻省理工学院