Skip to main content
Glama

pocketbase-mcp

Сервер Model Context Protocol (MCP) для PocketBase, предоставляющий ИИ-ассистентам, таким как Claude, полный доступ к вашему бэкенду PocketBase через понятный Python-интерфейс.


Обзор

pocketbase-mcp устраняет разрыв между LLM и вашим экземпляром PocketBase. После подключения ИИ-ассистенты могут просматривать коллекции, выполнять CRUD-операции с записями, управлять аутентификацией, обрабатывать загрузку файлов и администрировать базу данных — и все это на естественном языке.

Создан с использованием FastMCP (стандартный Python MCP-фреймворк) и httpx для асинхронного HTTP-взаимодействия с REST API PocketBase.


Related MCP server: PocketBase MCP Server

Возможности

  • Записи — просмотр, получение, создание, обновление, удаление и пакетные операции с записями в любой коллекции

  • Коллекции — просмотр, проверка, создание, обновление и удаление схем коллекций

  • Аутентификация — аутентификация в качестве суперпользователя или обычного пользователя через email/пароль или API-ключ

  • Файлы — генерация токенов для файлов и получение URL-адресов файлов с возможностью трансформации изображений

  • Настройки — чтение и обновление настроек приложения

  • Фильтрация и пагинация — прямая передача выражений фильтрации PocketBase, параметров сортировки, расширения (expand) и пагинации

  • Поддержка Realtime — спроектировано с учетом паттернов подписки SSE для будущих расширений


Требования

  • Python 3.11+

  • Запущенный экземпляр PocketBase (локальный или удаленный)

  • uv (рекомендуется) или pip


Установка

Использование pip

pip install pocketbase-mcp

Конфигурация

Сервер настраивается через переменные окружения:

Переменная

Обязательно

По умолчанию

Описание

POCKETBASE_URL

Да

—

Базовый URL вашего экземпляра PocketBase (например, http://127.0.0.1:8090)

POCKETBASE_SUPERUSER_EMAIL

Нет

—

Email суперпользователя для операций администрирования

POCKETBASE_SUPERUSER_PASSWORD

Нет

—

Пароль суперпользователя

POCKETBASE_API_KEY

Нет

—

Долгоживущий API-ключ (альтернатива email/паролю)

Установите их в файле .env или экспортируйте напрямую:

export POCKETBASE_URL=http://127.0.0.1:8090
export POCKETBASE_SUPERUSER_EMAIL=admin@example.com
export POCKETBASE_SUPERUSER_PASSWORD=your-password

Запуск сервера

Транспорт stdio (по умолчанию — для Claude Desktop, Claude Code и т.д.)

pocketmcp

С использованием MCP Inspector (для разработки и тестирования)

# Terminal 1
pocketmcp

# Terminal 2
npx @modelcontextprotocol/inspector
# Connect to: http://localhost:8000/mcp

Подключение к Claude

Claude Desktop

Добавьте следующее в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "pocketbase": {
      "command": "uv",
      "args": ["run", "/absolute/path/to/pocketbase-mcp/server.py"],
      "env": {
        "POCKETBASE_URL": "http://127.0.0.1:8090",
        "POCKETBASE_SUPERUSER_EMAIL": "admin@example.com",
        "POCKETBASE_SUPERUSER_PASSWORD": "your-password"
      }
    }
  }
}

Доступные инструменты

Записи

Инструмент

Описание

list_records

Список записей в коллекции с фильтрацией, сортировкой и пагинацией

get_record

Получение одной записи по ID

create_record

Создание новой записи

update_record

Обновление существующей записи

delete_record

Удаление записи по ID

batch_records

Выполнение нескольких операций создания/обновления/upsert/удаления в одном запросе

Коллекции

Инструмент

Описание

list_collections

Список всех коллекций

get_collection

Получение схемы коллекции по имени или ID

create_collection

Создание новой коллекции с полями и правилами API

update_collection

Обновление схемы или правил коллекции

delete_collection

Удаление коллекции

Аутентификация

Инструмент

Описание

auth_with_password

Аутентификация пользователя или суперпользователя по email и паролю

auth_with_api_key

Аутентификация с использованием долгоживущего API-ключа

get_auth_store

Возврат текущего состояния аутентификации

Файлы

Инструмент

Описание

get_file_url

Генерация URL для файла, прикрепленного к записи

create_file_token

Создание кратковременного токена для доступа к защищенным файлам

Настройки

Инструмент

Описание

get_settings

Получение всех настроек приложения

update_settings

Обновление настроек приложения


Структура проекта

pocketbase-mcp/
├── server.py            # MCP server entry point (FastMCP)
├── tools/
│   ├── records.py       # Record CRUD tools
│   ├── collections.py   # Collection management tools
│   ├── auth.py          # Authentication tools
│   ├── files.py         # File tools
│   └── settings.py      # Settings tools
├── client.py            # Async PocketBase HTTP client (httpx)
├── config.py            # Environment variable loading
├── pyproject.toml
└── README.md

Примеры использования

После подключения к Claude вы можете взаимодействовать с вашим экземпляром PocketBase на естественном языке:

"Выведи все записи из коллекции posts, где status = 'published', отсортированные по created в порядке убывания."

"Создай новую запись в users с именем 'Alice' и ролью 'editor'."

"Покажи мне схему коллекции products."

"Удали запись с ID ae40239d2bc4477 из comments."

"Обнови название приложения в настройках PocketBase на 'My App'."


Совместимость с PocketBase

Этот MCP-сервер предназначен для PocketBase v0.36.9+. Пакетный API требует явного включения в панели управления PocketBase в разделе Settings → Application.


Примечания по безопасности

  • Никогда не добавляйте учетные данные в систему контроля версий. Используйте переменные окружения или файл .env (добавьте .env в .gitignore).

  • Для производственных развертываний отдавайте предпочтение аутентификации по API-ключу, а не по email/паролю.

  • Правила API коллекций в PocketBase определяют, к чему на самом деле имеет доступ аутентифицированный пользователь — pocketbase-mcp соблюдает эти правила.


Вклад в проект

Мы приветствуем ваш вклад! Пожалуйста, откройте issue перед отправкой pull request для значительных изменений.

  1. Сделайте форк репозитория

  2. Создайте ветку для функции (git checkout -b feat/my-feature)

  3. Зафиксируйте изменения

  4. Откройте pull request


Лицензия

Лицензия MIT. Подробности см. в LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    Not graded
    maintenance
    A comprehensive MCP server that provides sophisticated tools for interacting with PocketBase databases. This server enables advanced database operations, schema management, and data manipulation through the Model Context Protocol (MCP).
    14
    826 npm
    70
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive server that enables advanced database operations with PocketBase, providing tools for collection management, record operations, user management, and database administration through the Model Context Protocol.
    826 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude AI to interact with PocketBase databases by listing and accessing collections through natural language.
    7 npm
    1
    MIT
  • -
    license
    B
    quality
    Not graded
    maintenance
    A comprehensive Model Context Protocol server for PocketBase that provides both user and administrative functionality, enabling authentication, collection/record management, file operations, and system administration through a standardized interface.
    38
    7 npm
    -