Advanced PocketBase MCP Server

Advanced PocketBase MCP Server

site icon
2025.03.22 1
JavaScript数据库管理数据操作用户认证数据库
pocketbase-mcp-server 是一个基于 Model Context Protocol (MCP) 的高级 PocketBase 数据库服务,提供了一系列强大的工具来管理和操作 PocketBase 数据库。它支持集合管理、记录操作、用户管理和数据库操作等核心功能,适用于需要高级数据库管理和数据操作的场景。
View on GitHub

Overview

产品定位

pocketbase-mcp-server 是一个专门为 PocketBase 数据库设计的 MCP 服务,旨在提供高级的数据库操作和管理功能。

核心功能

  1. 集合管理:创建和管理带有自定义模式的集合,支持模式迁移、索引管理和模式验证。
  2. 记录操作:支持记录的增删改查(CRUD),高级查询(过滤、排序、聚合),批量导入/导出。
  3. 用户管理:用户认证、令牌管理、账户管理、基于角色的访问控制和会话处理。
  4. 数据库操作:数据库备份和恢复,支持多种导出格式(JSON/CSV),数据迁移工具和批量操作。

适用场景

  1. 需要高级数据库管理和操作的应用程序。
  2. 需要复杂查询和数据聚合的业务场景。
  3. 需要用户认证和权限管理的系统。
  4. 需要数据迁移和备份的数据库维护任务。

工具列表

  1. 集合管理工具
  2. create_collection:创建带有自定义模式的新集合。
  3. get_collection_schema:获取集合的模式详情。
  4. migrate_collection:迁移集合模式并保留数据。
  5. manage_indexes:创建、删除或列出集合索引。
  6. 记录操作工具
  7. create_record:在集合中创建新记录。
  8. list_records:列出记录,支持过滤和分页。
  9. update_record:更新现有记录。
  10. delete_record:删除记录。
  11. query_collection:高级查询,支持过滤、排序和聚合。
  12. import_data:将数据导入集合,支持创建/更新/插入模式。
  13. 用户管理工具
  14. authenticate_user:认证用户并获取认证令牌。
  15. create_user:创建新用户账户。
  16. list_auth_methods:列出所有可用的认证方法。
  17. authenticate_with_oauth2:使用 OAuth2 认证用户。
  18. authenticate_with_otp:使用一次性密码认证用户。
  19. 数据库操作工具
  20. backup_database:创建 PocketBase 数据库的备份,支持多种格式。
  21. import_data:导入数据,支持多种模式。

常见问题解答

  1. 如何配置服务器
  2. 需要设置环境变量 POCKETBASE_URL 为 PocketBase 实例的 URL。
  3. 可选环境变量包括 POCKETBASE_ADMIN_EMAILPOCKETBASE_ADMIN_PASSWORDPOCKETBASE_DATA_DIR
  4. 如何安装
  5. 可以通过 Smithery 自动安装:npx -y @smithery/cli install pocketbase-server --client claude
  6. 如何开发
  7. 克隆仓库,安装依赖,配置 .env 文件,构建并启动 PocketBase 实例。

使用教程

使用依赖

  1. 确保已安装 Node.js 和 npm。
  2. 确保已安装 PocketBase 实例并运行。

安装教程

  1. 通过 Smithery 安装: bash npx -y @smithery/cli install pocketbase-server --client claude
  2. 或手动安装:
  3. 克隆仓库:git clone <repository-url>
  4. 安装依赖:npm install
  5. 配置 .env 文件:cp .env.example .env
  6. 构建:npm run build

调试方式

  1. 启动 PocketBase 实例。
  2. 确保 MCP 服务器已连接到 PocketBase 实例。
  3. 使用提供的工具进行测试,例如: typescript await mcp.use_tool("pocketbase", "create_collection", { name: "posts", schema: [ { name: "title", type: "text", required: true } ] });
  4. 检查错误日志以解决任何问题。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。