PocketBase MCP Server 使用说明
项目简介
PocketBase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它将 PocketBase 数据库的功能封装成一系列工具,通过 MCP 协议提供给 LLM 客户端使用。借助此服务器,LLM 应用可以方便地与 PocketBase 数据库进行交互,实现数据的增删改查、用户管理、数据库备份等操作。
主要功能点
- 集合管理: 创建和管理数据库集合(collections),包括自定义 Schema。
- 记录操作: 对集合中的记录进行 CRUD (创建、读取、更新、删除) 操作,支持过滤、排序和分页。
- 用户管理: 用户身份验证、用户创建和管理、密码管理等用户账户相关功能。
- 数据库操作: 数据库备份功能,方便数据安全管理。
- 丰富的工具: 提供多种预定义的工具,涵盖集合、记录、用户和数据库操作,方便 LLM 客户端调用。
安装步骤
- 环境准备: 确保已安装 Node.js 环境。
- 下载代码: 从 GitHub 仓库 pocketbase-mcp 下载或克隆代码。
- 安装依赖: 在项目根目录下运行 'npm install' 或 'yarn install' 安装项目依赖。
- 编译代码: 运行 '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 实例。
基本使用方法
- 启动 PocketBase 服务器: 确保您的 PocketBase 数据库实例已启动并运行。
- 启动 MCP 服务器: 在项目根目录下运行 'npm start' 或 'yarn start' 启动 PocketBase MCP Server。服务器将通过 stdio 与 MCP 客户端通信。
- 配置 MCP 客户端: 根据上述服务器配置示例,配置您的 MCP 客户端(如 Cursor 或 Claude),将 'pocketbase-server' 添加到 'mcpServers' 中。
- 在 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);
信息
分类
数据库与文件