一个基于 Dynamics 的 MCP 服务器,正在测试和完善中。它提供了与 PocketBase 数据库交互的高级工具。此服务器通过模型上下文协议(MCP)支持高级数据库操作、模式管理和数据操作。
这是我在使用它的视频:https://www.youtube.com/watch?v=ZuTIO3I7rTM&t=345s
这个已经在最新版本上进行了测试。目前是 PocketBase 的 26.1 版本,并且是基于 JS-SDK 中的类型定义构建的,而不是 Dynamics 中任意且错误的定义。许多方法甚至根本不起作用。
要在本地设置 MCP 服务器,你需要在你的 cline_mcp_settings.json 或其他配置文件中进行配置。以下是步骤:
找到你的 cline_mcp_settings.json 文件:此文件通常位于你的 Cursor 用户设置目录下。例如:
/Users/yourusername/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
配置服务器:在你的 cline_mcp_settings.json 文件中的 mcpServers 对象添加一个新的条目。键应该是一个唯一的服务器名称(例如,“pocketbase-server”),值应该是一个包含服务器配置的对象。
{
"mcpServers": {
"pocketbase-server": {
"command": "node",
"args": [
"build/index.js"
],
"env": {
"POCKETBASE_URL": "http://127.0.0.1:8090",
"POCKETBASE_ADMIN_EMAIL": "admin@example.com",
"POCKETBASE_ADMIN_PASSWORD": "admin_password"
},
"disabled": false,
"autoApprove": [
"create_record",
"create_collection"
]
}
}
}
command:启动服务器的命令(通常是 node)。args:传递给命令的参数数组。这应该指向你的 MCP 服务器编译后的 JavaScript 文件(例如,build/index.js)。确保路径正确。env:包含环境变量的对象。
POCKETBASE_URL:你的 PocketBase 实例的 URL。这是必需的。POCKETBASE_ADMIN_EMAIL:你的 PocketBase 实例的管理员邮箱(可选,但某些操作需要)。POCKETBASE_ADMIN_PASSWORD:你的 PocketBase 实例的管理员密码(可选,但某些操作需要)。disabled:是否在启动时禁用服务器。autoApprove:自动批准的工具列表。env 对象中的值以匹配你的 PocketBase 实例的设置。.vscode/mcp.json 中查找或创建并添加{
"inputs": [
{
"type": "promptString",
"id": "pocketbase-admin-email",
"description": "PocketBase 管理员邮箱",
"password": false
},
{
"type": "promptString",
"id": "pocketbase-admin-password",
"description": "PocketBase 管理员密码",
"password": true
}
],
"servers": {
"pocketbaseServer": {
"type": "stdio",
"command": "node",
// 将此替换为你编译后的 MCP 服务器路径(克隆仓库并运行 `npm run build` 编译)
"args": ["~/Desktop/code/mcp/pocketbase-mcp/build/index.js"],
"env": {
"POCKETBASE_URL": "http://127.0.0.1:8090",
"POCKETBASE_ADMIN_EMAIL": "${input:pocketbase-admin-email}",
"POCKETBASE_ADMIN_PASSWORD": "${input:pocketbase-admin-password}"
}
}
}
}
cline_mcp_settings.json 文件后,你可以开始使用已配置工具的 MCP 服务器。create_collection:创建具有自定义模式的新集合get_collection:获取集合的模式详情create_record:在集合中创建新记录list_records:列出带有可选过滤器和分页的记录update_record:更新现有记录delete_record:删除记录authenticate_user:认证用户并获取认证令牌create_user:创建新的用户账户backup_database:创建 PocketBase 数据库的备份,带有格式选项服务器需要以下环境变量:
POCKETBASE_URL:你的 PocketBase 实例的 URL(例如,“http://127.0.0.1:8090”)可选环境变量:
POCKETBASE_ADMIN_EMAIL:某些操作的管理员邮箱POCKETBASE_ADMIN_PASSWORD:管理员密码POCKETBASE_DATA_DIR:自定义数据目录路径// 创建一个新的集合
await mcp.use_tool("pocketbase", "create_collection", {
name: "posts",
schema: [
{
name: "title",
type: "text",
required: true
},
{
name: "content",
type: "text",
required: true
}
]
});
// 使用密码认证
await mcp.use_tool("pocketbase", "authenticate_user", {
email: "user@example.com",
password: "securepassword",
collection: "users"
});