使用说明
PocketBase MCP服务器(Dart)
PocketBase MCP服务器的Dart实现使用:
mcp_dart: ^2.1.0pocketbase: ^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_permissionsraw_api_call(完整的PocketBase API桥接)
- 记录:
get_record,list_records,list_all_recordscreate_record,update_record,delete_record,import_data
- 认证:
list_auth_methods,authenticate_user,auth_refreshauthenticate_with_oauth2,request_otp,authenticate_with_otprequest_verification,confirm_verificationrequest_password_reset,confirm_password_resetrequest_email_change,confirm_email_changecreate_user,impersonate_user
- 收藏:
create_collection,update_collection,delete_collection,truncate_collectionlist_collections,get_collection,get_collection_scaffolds
- 备份:
backup_database,list_backups,delete_backup,restore_backup
- 管理员可观察性和操作:
list_logs,get_log,get_logs_statslist_cron_jobs,run_cron_jobhealth_checkget_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
工作流在每个目标架构的本地运行器上编译,并上传工件。