返回市场
口袋基础-MCP

口袋基础-MCP

作者:mrwyndham86 星标更新:2025-07-21

项目介绍

PocketBase MCP 服务器

一个基于 Dynamics 的 MCP 服务器,正在测试和完善中。它提供了与 PocketBase 数据库交互的高级工具。此服务器通过模型上下文协议(MCP)支持高级数据库操作、模式管理和数据操作。

这是我在使用它的视频:https://www.youtube.com/watch?v=ZuTIO3I7rTM&t=345s

为什么选择这个而不是 DynamicsEndpoints?

这个已经在最新版本上进行了测试。目前是 PocketBase 的 26.1 版本,并且是基于 JS-SDK 中的类型定义构建的,而不是 Dynamics 中任意且错误的定义。许多方法甚至根本不起作用。

在本地设置 MCP 服务器(当前唯一支持的方式)

要在本地设置 MCP 服务器,你需要在你的 cline_mcp_settings.json 或其他配置文件中进行配置。以下是步骤:

  1. 找到你的 cline_mcp_settings.json 文件:此文件通常位于你的 Cursor 用户设置目录下。例如: /Users/yourusername/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  2. 配置服务器:在你的 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 中设置类似,在 .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}"
      }
    }
  }
}
  1. 启动服务器:配置好 cline_mcp_settings.json 文件后,你可以开始使用已配置工具的 MCP 服务器。

功能

集合管理

  • 创建和管理具有自定义模式的集合
  • 获取集合模式和元数据

记录操作

  • 记录的 CRUD 操作
  • 关系扩展支持
  • 分页和游标导航

用户管理

  • 用户认证和令牌管理
  • 用户账户创建和管理
  • 密码管理

数据库操作

  • 数据库备份

可用工具

集合管理

  • create_collection:创建具有自定义模式的新集合
  • get_collection:获取集合的模式详情

记录操作

  • create_record:在集合中创建新记录
  • list_records:列出带有可选过滤器和分页的记录
  • update_record:更新现有记录
  • delete_record:删除记录

用户管理

  • authenticate_user:认证用户并获取认证令牌
  • create_user:创建新的用户账户

数据库操作

  • backup_database:创建 PocketBase 数据库的备份,带有格式选项

配置

服务器需要以下环境变量:

可选环境变量:

  • 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"
});

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建拉取请求