Advanced PocketBase MCP Server

Advanced PocketBase MCP Server

site icon
2025.04.04 0
JavaScript数据库管理数据操作用户认证数据库
Advanced PocketBase MCP Server 是一个基于 Model Context Protocol (MCP) 的高级 PocketBase 数据库交互服务。它提供了丰富的工具集,用于管理集合、执行记录操作、用户管理以及数据库维护等高级功能。该服务支持类型安全、错误处理和最佳实践,适用于需要与 PocketBase 数据库进行复杂交互的场景。
View on GitHub

Overview

基本能力

产品定位

Advanced PocketBase MCP Server 是一个专门为 PocketBase 数据库设计的高级交互服务,通过 MCP 协议提供全面的数据库管理功能。

核心功能

  1. 集合管理
  2. 创建和管理带有自定义模式的集合
  3. 迁移集合模式并保留数据
  4. 高级索引管理(创建、删除、列出)
  5. 模式验证和类型安全
  6. 检索集合模式和元数据

  7. 记录操作

  8. 记录的 CRUD 操作
  9. 带有过滤、排序和聚合的高级查询
  10. 批量导入/导出功能
  11. 关系扩展支持
  12. 分页和基于游标的导航

  13. 用户管理

  14. 用户认证和令牌管理
  15. 用户账户创建和管理
  16. 密码管理
  17. 基于角色的访问控制
  18. 会话处理

  19. 数据库操作

  20. 数据库备份和恢复
  21. 多种导出格式(JSON/CSV)
  22. 数据迁移工具
  23. 索引优化
  24. 批量操作

适用场景

  • 需要与 PocketBase 数据库进行复杂交互的应用程序
  • 需要高级数据库管理功能的开发项目
  • 需要自动化数据库操作的工作流程
  • 需要严格类型安全和错误处理的数据库应用

工具列表

  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: 以创建/更新/upsert 模式将数据导入集合

  13. 用户管理工具

  14. authenticate_user: 认证用户并获取认证令牌
  15. create_user: 创建新用户账户
  16. list_auth_methods: 列出所有可用的认证方法
  17. authenticate_with_oauth2: 使用 OAuth2 认证用户
  18. authenticate_with_otp: 使用一次性密码认证用户
  19. auth_refresh: 刷新认证令牌
  20. request_verification: 请求电子邮件验证
  21. confirm_verification: 使用令牌确认电子邮件验证
  22. request_password_reset: 请求密码重置
  23. confirm_password_reset: 使用令牌确认密码重置
  24. request_email_change: 请求电子邮件更改
  25. confirm_email_change: 使用令牌确认电子邮件更改
  26. impersonate_user: 模拟其他用户(仅限管理员)

  27. 数据库操作工具

  28. backup_database: 创建 PocketBase 数据库的备份,支持多种格式
  29. import_data: 以多种模式(创建/更新/upsert)导入数据

常见问题解答

  • 所有工具都包含全面的错误处理,带有详细的错误消息
  • 错误类型包括:无效请求错误、认证错误、数据库操作错误、模式验证错误和网络错误
  • 服务包含所有操作的 TypeScript 定义,确保使用工具时的类型安全

使用教程

使用依赖

  1. 需要安装 Node.js 环境
  2. 需要运行 PocketBase 实例

安装教程

  1. 克隆仓库
  2. 安装依赖: npm install
  3. 复制 .env.example.env 并进行配置
  4. 构建: npm run build
  5. 启动你的 PocketBase 实例
  6. MCP 服务器将自动连接到你的 PocketBase 实例

或者通过 Smithery 安装:

npx -y @smithery/cli install pocketbase-server --client claude

调试方式

  1. 确保 PocketBase 实例正在运行
  2. 检查环境变量配置是否正确
  3. 使用 TypeScript 定义确保类型安全
  4. 使用 try/catch 块进行错误处理
  5. 验证数据后再执行操作

许可证

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