Skip to content

MCP 集成 ​

BucketDB 提供官方 MCP(Model Context Protocol)服务器,让 AI 工具(Claude Desktop、Cursor、Cline 等)能直接通过自然语言对任意 collection 进行 CRUD 操作。

安装 ​

bash
bun add @hold-baby/bucket-db-mcp

或使用 npx 直接运行(无需安装):

bash
npx @hold-baby/bucket-db-mcp

快速上手 ​

文件系统(本地开发) ​

bash
BUCKET_DB_ADAPTER=fs \
BUCKET_DB_FS_BASE_PATH=./data \
npx @hold-baby/bucket-db-mcp

AWS S3 ​

bash
BUCKET_DB_ADAPTER=s3 \
BUCKET_DB_S3_BUCKET=my-bucket \
BUCKET_DB_S3_REGION=us-east-1 \
BUCKET_DB_S3_ACCESS_KEY_ID=AKIAxxx \
BUCKET_DB_S3_SECRET_ACCESS_KEY=xxx \
npx @hold-baby/bucket-db-mcp

阿里云 OSS ​

bash
BUCKET_DB_ADAPTER=oss \
BUCKET_DB_OSS_BUCKET=my-bucket \
BUCKET_DB_OSS_REGION=oss-cn-hangzhou \
BUCKET_DB_OSS_ACCESS_KEY_ID=xxx \
BUCKET_DB_OSS_SECRET_ACCESS_KEY=xxx \
npx @hold-baby/bucket-db-mcp

环境变量 ​

变量必填默认值说明
BUCKET_DB_ADAPTER✅—存储后端:fs / s3 / oss
BUCKET_DB_PATHdefault数据库路径(类似数据库名)
BUCKET_DB_FS_BASE_PATHfs 必填—本地目录路径
BUCKET_DB_S3_BUCKETs3 必填—S3 Bucket 名称
BUCKET_DB_S3_REGIONs3 必填—S3 区域
BUCKET_DB_S3_ACCESS_KEY_IDs3 必填—AWS Access Key ID
BUCKET_DB_S3_SECRET_ACCESS_KEYs3 必填—AWS Secret Access Key
BUCKET_DB_OSS_BUCKEToss 必填—OSS Bucket 名称
BUCKET_DB_OSS_REGIONoss 必填—OSS 区域
BUCKET_DB_OSS_ACCESS_KEY_IDoss 必填—OSS Access Key ID
BUCKET_DB_OSS_SECRET_ACCESS_KEYoss 必填—OSS Secret Access Key

配置 Claude Desktop ​

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{
  "mcpServers": {
    "bucket-db": {
      "command": "npx",
      "args": ["@hold-baby/bucket-db-mcp"],
      "env": {
        "BUCKET_DB_ADAPTER": "fs",
        "BUCKET_DB_FS_BASE_PATH": "/path/to/your/data"
      }
    }
  }
}

重启 Claude Desktop 后即可使用。

配置 Cursor ​

在项目根目录创建 .cursor/mcp.json:

json
{
  "mcpServers": {
    "bucket-db": {
      "command": "npx",
      "args": ["@hold-baby/bucket-db-mcp"],
      "env": {
        "BUCKET_DB_ADAPTER": "fs",
        "BUCKET_DB_FS_BASE_PATH": "./data"
      }
    }
  }
}

可用工具 ​

MCP 服务器提供 5 个工具,AI 可以直接调用:

db_insert ​

向 collection 插入一条文档。

参数类型说明
collectionstringCollection 名称
dataobject文档内容

返回包含系统字段(id、_etag、_createdAt、_updatedAt)的完整文档。

db_find_by_id ​

按 ID 查找单条文档,不存在时返回错误。

参数类型说明
collectionstringCollection 名称
idstring文档 ID

db_find ​

查询 collection 中的文档列表,支持过滤和分页。

参数类型必填说明
collectionstring✅Collection 名称
filterobject查询条件,留空返回所有文档
limitnumber最多返回条数
offsetnumber跳过条数(分页用)

db_update ​

按 ID 更新文档,支持乐观锁。

参数类型必填说明
collectionstring✅Collection 名称
idstring✅文档 ID
dataobject✅要更新的字段
etagstringETag,用于乐观并发控制

db_delete ​

按 ID 删除文档。

参数类型说明
collectionstringCollection 名称
idstring文档 ID

使用示例 ​

配置完成后,你可以直接用自然语言操作数据库:

"帮我在 users collection 里插入一条记录,name 是 Alice,age 是 30"

"查询 orders collection 里 status 为 pending 的所有订单"

"把 id 为 abc123 的用户的 email 更新为 alice@example.com"

相关链接 ​

Released under the MIT License.