MCP-серверы для PocketBase: как подключить AI-агента

Обновлено:

MCP (Model Context Protocol) — открытый стандарт, по которому AI-клиенты вроде Claude, Cursor и Windsurf подключаются к внешним инструментам и данным. MCP-сервер для PocketBase даёт агенту доступ к вашему экземпляру: он может смотреть схему коллекций, читать и создавать записи, а иногда и менять схему. Ниже — какие серверы существуют, как их подключить и как не дать агенту испортить данные.

Что такое MCP и зачем он PocketBase

MCP изначально предложила Anthropic, сейчас это открытая спецификация, которую поддерживают многие клиенты: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code.

Без MCP вы копируете данные из PocketBase в чат, описываете коллекции и вручную переносите результат обратно. С MCP агент сам видит схему, выполняет запросы и создаёт тестовые данные в рамках одной сессии.

PocketBase хорошо подходит для такой интеграции: у него простой REST API, а вся схема описывается коллекциями. Если вы только знакомитесь с ним, начните с обзора что такое PocketBase.

Как работает MCP-сервер

MCP-сервер — процесс, который предоставляет клиенту набор инструментов (tools). Клиент вызывает их по JSON-RPC: локальные серверы — через stdio, удалённые — через Streamable HTTP.

Типичные инструменты MCP-сервера для PocketBase:

  • список коллекций и их схема;
  • CRUD-операции с записями;
  • фильтрация и пагинация в синтаксисе PocketBase;
  • управление пользователями;
  • изменение схемы (добавление и изменение полей);
  • работа с файлами.

Конкретный набор зависит от сервера — смотрите README.

Какие MCP-серверы для PocketBase есть

Официального MCP-сервера у PocketBase нет. Все варианты ниже — community-проекты на GitHub. Они развиваются независимо, часть может быть заброшена или не поддерживать актуальные версии PocketBase. Перед установкой проверьте дату последних коммитов, открытые issues и то, с какой версией PocketBase сервер тестировался.

mabeldata/pocketbase-mcp

Репозиторий: github.com/mabeldata/pocketbase-mcp.

Сервер на TypeScript для повседневной работы с данными: просмотр коллекций и схемы, CRUD с фильтрами, работа с файлами и пользователями. Подходит, если нужен понятный инструмент для Claude Desktop или Cursor.

Установка из исходников:

git clone https://github.com/mabeldata/pocketbase-mcp
cd pocketbase-mcp
npm install
npm run build

DynamicEndpoints/pocketbase-mcp-server

Репозиторий: github.com/DynamicEndpoints/pocketbase-mcp-server.

Проект с упором на управление схемой: создание и изменение коллекций и полей, пакетные операции, работа со связями. Подходит, если агент должен не только читать данные, но и помогать проектировать структуру приложения — соответственно, требует особенно аккуратной настройки прав.

Другие community-серверы

В каталогах MCP встречаются и другие реализации: серверы, заточенные под Cursor и генерацию TypeScript-типов из коллекций, варианты для развёртывания в облаке и т. д. Многие из них — форки или копии перечисленных выше проектов. Выбирая, смотрите на исходный репозиторий, а не на зеркало в каталоге.

Как оценить сервер перед установкой

| Что проверить | Почему это важно | |---|---| | Совместимость с вашей версией PocketBase | В версии 0.23 менялись API superuser и хуков; старые серверы могут не работать | | Какие учётные данные требуются | Сервер, которому нужен superuser, обходит все API Rules | | Есть ли read-only режим или список инструментов | Позволяет запретить агенту удаление и изменение схемы | | Активность репозитория | Заброшенный сервер не получит исправлений безопасности | | Где выполняется | Локальный stdio-сервер не открывает PocketBase наружу |

Настройка

Шаг 1. Запустите PocketBase

./pocketbase serve
# Панель: http://127.0.0.1:8090/_/

Для экспериментов используйте отдельный экземпляр с тестовыми данными, а не production.

Шаг 2. Соберите MCP-сервер

Следуйте README выбранного проекта. Обычно это git clone, npm install и npm run build.

Шаг 3. Подключите клиент

Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows. Cursor: .cursor/mcp.json в проекте или глобальный ~/.cursor/mcp.json.

{
  "mcpServers": {
    "pocketbase": {
      "command": "node",
      "args": ["/path/to/pocketbase-mcp/build/index.js"],
      "env": {
        "POCKETBASE_URL": "http://127.0.0.1:8090",
        "POCKETBASE_ADMIN_EMAIL": "agent@example.com",
        "POCKETBASE_ADMIN_PASSWORD": "your-secure-password"
      }
    }
  }
}

Путь к собранному файлу и имена переменных окружения различаются между серверами — возьмите их из README. В Claude Code тот же сервер подключается командой claude mcp add с ключами -e для переменных.

Шаг 4. Перезапустите клиент

После изменения конфигурации перезапустите Claude Desktop или Cursor. В Claude Code список подключённых серверов и их статус показывает команда /mcp.

Безопасность

MCP-сервер с правами superuser даёт агенту полный доступ ко всем данным и настройкам PocketBase: API Rules для superuser не действуют.

Не подключайте агента к production с правами superuser. Для разработки поднимите отдельный экземпляр с копией схемы и синтетическими данными.

Если сервер умеет работать от имени обычного пользователя, создайте для агента отдельную запись в auth-коллекции и ограничьте её права через API Rules. В PocketBase нет отдельных API-ключей с гранулярными правами — роль играют пользователь и правила. Как писать такие правила, разобрано в статье API Rules в PocketBase.

Не храните учётные данные в репозитории. Конфиги клиентов с паролями держите вне проекта или передавайте секреты через переменные окружения.

Осторожно с автоподтверждением. Многие клиенты позволяют разрешить вызовы инструментов без подтверждения. Разрешайте так только чтение; удаление записей и изменение схемы подтверждайте вручную.

Практические сценарии

Тестовые данные. «Создай 50 пользователей с реалистичными именами и датами регистрации в коллекции users».

Документирование схемы. «Посмотри схему всех коллекций и нарисуй ER-диаграмму в Mermaid».

Отладка данных. «Найди заказы в orders со статусом не completed, созданные больше 7 дней назад».

Изменение схемы. «Добавь в users необязательное текстовое поле phone». Именно такие операции стоит делать только после бэкапа.

Бэкап PocketBase перед работой агента

Всё состояние PocketBase — в каталоге pb_data: база data.db и загруженные файлы. Если агент удалит поле или выполнит массовое обновление, откатиться можно только из копии.

Минимум перед сессией с агентом — консистентная копия базы (не cp: PocketBase работает в WAL-режиме):

sqlite3 pb_data/data.db ".backup 'pb_data/before-agent.db'"

Или загрузите версию в dbsend с меткой — CLI сам сделает консистентную копию SQLite:

dbsend backup pb_data/data.db -d "$DBSEND_DATABASE_ID" -e sqlite -l before-agent-session

После сессии загрузите ещё одну версию и сравните их через dbsend diff (на платных тарифах): будет видно, какие таблицы и сколько строк изменились. Регулярный бэкап по расписанию, хранение файлов из storage/ и восстановление описаны в статье бэкап PocketBase, а сценарии с агентами — в статье бэкапы базы через MCP из Claude Code и Cursor.

Частые вопросы

Что такое MCP и зачем он нужен?

Это открытый стандарт подключения AI-клиентов к инструментам и данным. MCP-сервер для PocketBase позволяет агенту читать и менять данные и схему без ручного копирования в чат.

Есть ли официальный MCP-сервер у PocketBase?

Нет. Существуют только community-реализации, поэтому проверяйте их актуальность, совместимость с вашей версией PocketBase и то, какие права они требуют.

Безопасно ли давать агенту доступ к базе?

При правильной настройке — да: тестовый экземпляр для разработки, отдельный пользователь с ограниченными правами для production, ручное подтверждение опасных операций и свежий бэкап.

Нужен ли MCP-сервер, чтобы AI писал код для PocketBase?

Нет. Ассистенты хорошо знают PocketBase SDK и без MCP. MCP нужен, когда агент должен видеть реальную схему и данные вашего экземпляра.

Как выбрать между серверами?

Для работы с данными начните с сервера с минимальным набором инструментов. Если агент должен менять схему, выбирайте проект с явной поддержкой управления коллекциями и вашей версии PocketBase, и подключайте его только к тестовому экземпляру.