项目简介
PocketBase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM (大型语言模型) 客户端提供与 PocketBase 后端数据库交互的能力。它将 PocketBase 的功能以标准化的 MCP 协议暴露出来,使得 LLM 应用可以通过工具调用来管理 PocketBase 中的数据、文件,甚至执行数据库迁移和查看日志。
主要功能点
-
数据管理: 提供对 PocketBase 数据库记录的增删改查功能,包括:
- 获取记录 (fetch_record): 根据ID从指定集合中检索单条记录。
- 列出记录 (list_records): 从指定集合中列出记录,支持分页、过滤、排序和展开关联数据。
- 创建记录 (create_record): 在指定集合中创建新记录。
- 更新记录 (update_record): 更新指定集合中的现有记录。
- 获取集合结构 (get_collection_schema): 获取指定集合的字段定义和规则。
- 列出集合 (list_collections): 获取 PocketBase 实例中所有集合的列表。
-
文件操作: 支持在 PocketBase 中上传和下载文件:
- 上传文件 (upload_file): 将文件内容上传到指定集合记录的文件字段。
- 下载文件 (download_file): 获取 PocketBase 中文件资源的下载 URL。
-
日志管理: 允许查看 PocketBase 服务器的 API 请求日志(需要管理员权限):
- 列出日志 (list_logs): 分页、过滤、排序地列出 API 请求日志。
- 获取日志 (get_log): 根据 ID 获取单条 API 请求日志详情。
- 获取日志统计 (get_logs_stats): 获取 API 请求日志的统计信息。
-
数据库迁移: 提供数据库迁移管理工具,方便进行 PocketBase 数据库结构变更:
- 设置迁移目录 (set_migrations_directory): 设置迁移文件存放目录。
- 创建迁移 (create_migration): 创建空的迁移文件。
- 创建集合迁移 (create_collection_migration): 创建用于创建集合的迁移文件。
- 添加字段迁移 (add_field_migration): 创建用于添加字段的迁移文件。
- 列出迁移 (list_migrations): 列出所有迁移文件。
- 应用迁移 (apply_migration): 应用指定的迁移文件。
- 回滚迁移 (revert_migration): 回滚指定的迁移文件。
- 应用所有迁移 (apply_all_migrations): 应用所有待执行的迁移。
- 回滚至指定迁移 (revert_to_migration): 回滚到指定的迁移版本。
安装步骤
-
克隆仓库:
git clone https://github.com/mabeldata/pocketbase-mcp cd pocketbase-mcp -
安装依赖:
npm install -
构建服务器:
npm run build构建成功后,会在 'build/' 目录下生成可执行的 'index.js' 文件。
服务器配置
要将 PocketBase MCP Server 添加到 MCP 客户端(例如 Cline),您需要在客户端的 MCP 设置文件中进行配置。 以下是 Cline 客户端的配置示例 ('cline_mcp_settings.json'):
{ "mcpServers": { "pocketbase-mcp": { "command": "node", "args": ["/path/to/pocketbase-mcp/build/index.js"], "env": { "POCKETBASE_API_URL": "您的PocketBase API URL", // 例如: "http://127.0.0.1:8090" "POCKETBASE_ADMIN_TOKEN": "您的PocketBase管理员令牌" // 从 PocketBase 管理后台 API KEYS 页面获取 }, "disabled": false, "autoApprove": [ "fetch_record", "list_collections", "get_collection_schema", "list_logs", "get_log", "get_logs_stats" ] } } }
配置参数说明:
- '"command"': 启动服务器的命令,这里使用 'node'。
- '"args"': 命令参数,指向构建后的服务器入口文件 '/path/to/pocketbase-mcp/build/index.js',请替换为实际路径。
- '"env"': 环境变量,用于配置服务器连接 PocketBase 实例的信息:
- '"POCKETBASE_API_URL"': 您的 PocketBase API 地址。
- '"POCKETBASE_ADMIN_TOKEN"': PocketBase 管理员 API 令牌,必须配置。您需要在 PocketBase 管理后台的 "API KEYS" 页面生成管理员令牌并填写。
- '"disabled"': 设置为 'false' 启用该服务器。
- '"autoApprove"': (可选)配置自动批准的工具列表。示例中列出了一些建议自动批准的工具,客户端将自动允许调用这些工具,无需用户手动确认。
请务必将 '/path/to/pocketbase-mcp' 替换为 'pocketbase-mcp' 仓库在您系统中的实际绝对路径,并将 '您的PocketBase API URL' 和 '您的PocketBase管理员令牌' 替换为您的 PocketBase 实例的真实信息。
基本使用方法
配置完成后,您的 MCP 客户端 (如 Cline) 应该能够检测到并连接到 PocketBase MCP Server。 您可以在客户端中使用 'pocketbase-mcp' 服务器提供的各种工具,例如在对话中使用自然语言指示客户端调用 'fetch_record' 工具来获取 PocketBase 中的数据,或使用 'create_migration' 工具来创建数据库迁移文件等。 具体的工具使用方法请参考仓库 README.md 文件中 "Available Tools" 章节的详细描述和输入参数说明。
信息
分类
数据库与文件