PocketBase MCP Server 使用说明

项目简介

PocketBase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它将 PocketBase 数据库的功能封装成一系列工具,通过 MCP 协议提供给 LLM 客户端使用。借助此服务器,LLM 应用可以方便地与 PocketBase 数据库进行交互,实现数据的增删改查、用户管理、数据库备份等操作。

主要功能点

  • 集合管理: 创建和管理数据库集合(collections),包括自定义 Schema。
  • 记录操作: 对集合中的记录进行 CRUD (创建、读取、更新、删除) 操作,支持过滤、排序和分页。
  • 用户管理: 用户身份验证、用户创建和管理、密码管理等用户账户相关功能。
  • 数据库操作: 数据库备份功能,方便数据安全管理。
  • 丰富的工具: 提供多种预定义的工具,涵盖集合、记录、用户和数据库操作,方便 LLM 客户端调用。

安装步骤

  1. 环境准备: 确保已安装 Node.js 环境。
  2. 下载代码: 从 GitHub 仓库 pocketbase-mcp 下载或克隆代码。
  3. 安装依赖: 在项目根目录下运行 'npm install' 或 'yarn install' 安装项目依赖。
  4. 编译代码: 运行 'npm run build' 或 'yarn build' 编译 TypeScript 代码到 JavaScript。

服务器配置

MCP 客户端需要配置 'cline_mcp_settings.json' 文件以连接到 PocketBase MCP Server。以下是一个配置示例,请根据您的实际情况进行调整:

{
  "mcpServers": {
    "pocketbase-server": { # 服务器名称,客户端用此名称引用
      "command": "node", # 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件
      "args": [
        "build/index.js" # 服务器入口文件路径,指向编译后的 index.js 文件
      ],
      "env": {
        "POCKETBASE_URL": "http://127.0.0.1:8090", # 您的 PocketBase 实例的 URL,**必需配置**
        "POCKETBASE_ADMIN_EMAIL": "[email protected]", # PocketBase 管理员邮箱,部分工具可能需要,可选配置
        "POCKETBASE_ADMIN_PASSWORD": "admin_password"  # PocketBase 管理员密码,部分工具可能需要,可选配置
      },
      "disabled": false, # 是否禁用此服务器,false 表示启用
      "autoApprove": [ # 自动批准的工具列表,客户端调用这些工具时无需用户手动批准
        "create_record",
        "create_collection"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'pocketbase-server',自定义服务器名称,在客户端调用工具时会用到。
  • 'command': 'node',运行 JavaScript 代码的命令。
  • 'args': '["build/index.js"]',服务器脚本的路径。
  • 'env': 环境变量配置,用于配置 PocketBase 连接信息。
    • 'POCKETBASE_URL': 必填,指向您的 PocketBase 数据库实例的 URL。
    • 'POCKETBASE_ADMIN_EMAIL': 可选,PocketBase 管理员邮箱,用于需要管理员权限的操作。
    • 'POCKETBASE_ADMIN_PASSWORD': 可选,PocketBase 管理员密码,用于需要管理员权限的操作。
  • 'disabled': 'false',设置为 'false' 启用服务器。
  • 'autoApprove': '["create_record", "create_collection"]',列出无需手动批准即可自动执行的工具名称。

注意: 请确保 'POCKETBASE_URL' 环境变量配置正确,指向您正在运行的 PocketBase 实例。

基本使用方法

  1. 启动 PocketBase 服务器: 确保您的 PocketBase 数据库实例已启动并运行。
  2. 启动 MCP 服务器: 在项目根目录下运行 'npm start' 或 'yarn start' 启动 PocketBase MCP Server。服务器将通过 stdio 与 MCP 客户端通信。
  3. 配置 MCP 客户端: 根据上述服务器配置示例,配置您的 MCP 客户端(如 Cursor 或 Claude),将 'pocketbase-server' 添加到 'mcpServers' 中。
  4. 在 LLM 中使用工具: 在支持 MCP 协议的 LLM 客户端中,您可以使用配置的服务器名称 'pocketbase-server' 和工具名称来调用 PocketBase 的功能。例如,使用 'create_record' 工具在指定的集合中创建新记录。

使用示例 (MCP 客户端代码,非本仓库代码):

// 假设 mcp 是 MCP 客户端实例

// 创建一个新的集合
await mcp.use_tool("pocketbase-server", "create_collection", {
  name: "products",
  schema: [
    { name: "name", type: "text", required: true },
    { name: "price", type: "number", required: true }
  ]
});

// 列出 products 集合中的记录
const records = await mcp.use_tool("pocketbase-server", "list_records", {
  collection: "products"
});
console.log(records);

信息

分类

数据库与文件