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, и подключайте его только к тестовому экземпляру.



