数据库管理服务器

一个基于Dart实现的PocketBase MCP服务器,提供数据库记录管理、用户认证、集合操作、备份恢复等功能。

  • by Hoverhuang-er
  • Dart
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Hoverhuang-er/pocketbase_mcp

使用说明

PocketBase MCP服务器(Dart)

PocketBase MCP服务器的Dart实现使用:

  • mcp_dart: ^2.1.0
  • pocketbase: ^0.23.2

需求

  • Dart SDK 3.x
  • 可访问的PocketBase实例

安装

dart pub get

运行(stdio MCP服务器)

POCKETBASE_URL=http://127.0.0.1:8090 \
POCKETBASE_ADMIN_EMAIL=admin@example.com \
POCKETBASE_ADMIN_PASSWORD=admin_password \
dart run

权限相关的环境变量:

  • PB_MCP_MODE: readonly 或 readwrite (默认值: readwrite)
  • PB_MCP_ALLOWED_TOOLS:逗号分隔的允许列表(可选)
  • PB_MCP_DENIED_TOOLS:逗号分隔的拒绝列表(可选)

可用工具

  • 概述:
    • get_server_permissions
    • raw_api_call (完整的PocketBase API桥接)
  • 记录:
    • get_record, list_records, list_all_records
    • create_record, update_record, delete_record, import_data
  • 认证:
    • list_auth_methods, authenticate_user, auth_refresh
    • authenticate_with_oauth2, request_otp, authenticate_with_otp
    • request_verification, confirm_verification
    • request_password_reset, confirm_password_reset
    • request_email_change, confirm_email_change
    • create_user, impersonate_user
  • 收藏:
    • create_collection, update_collection, delete_collection, truncate_collection
    • list_collections, get_collection, get_collection_scaffolds
  • 备份:
    • backup_database, list_backups, delete_backup, restore_backup
  • 管理员可观察性和操作:
    • list_logs, get_log, get_logs_stats
    • list_cron_jobs, run_cron_job
    • health_check
    • get_settings, update_settings, test_s3_settings, send_test_email

笔记:

  • 在 readonly 模式下,写入工具被阻止。
  • 对于 raw_api_call, readonly 模式只允许 GET.
  • 管理工具需要 POCKETBASE_ADMIN_EMAIL 和 POCKETBASE_ADMIN_PASSWORD.

VS代码MCP配置示例

使用 .vscode/mcp.json:

{
  "servers": {
    "pocketbaseDart": {
      "type": "stdio",
      "command": "dart",
      "args": ["run", "bin/server.dart"],
      "cwd": "${workspaceFolder}",
      "env": {
        "POCKETBASE_URL": "http://127.0.0.1:8090",
        "POCKETBASE_ADMIN_EMAIL": "admin@example.com",
        "POCKETBASE_ADMIN_PASSWORD": "admin_password",
        "PB_MCP_MODE": "readwrite",
        "PB_MCP_ALLOWED_TOOLS": "",
        "PB_MCP_DENIED_TOOLS": "delete_record,delete_collection"
      }
    }
  }
}

测试命令

dart run

AOT构建(本地主机目标)

./scripts/build_release.sh

此脚本在中生成本机可执行文件 build/ 对于您当前的平台。

使用Makefile构建

make aot

生成本地AOT可执行文件:

  • build/pocketbase_mcp

Windows x64交叉编译:

make win

建筑:

  • build/pocketbase_mcp.exe

其他发布目标:

make mac-amd64
make mac-arm64
make all-release

发布目标

此仓库包含一个GitHub Actions工作流,用于发布AOT可执行文件,用于:

  • macOS amd64
  • macOS arm64
  • Windows amd64

工作流在每个目标架构的本地运行器上编译,并上传工件。