Skip to main content
Glama

pocketbase-mcp

PocketBase 用の Model Context Protocol (MCP) サーバーです。ClaudeのようなAIアシスタントに、クリーンでPythonライクなインターフェースを通じてPocketBaseバックエンドへのフルアクセスを提供します。


概要

pocketbase-mcp は、LLMとPocketBaseインスタンスの橋渡しをします。接続すると、AIアシスタントはコレクションのリスト表示、レコードのCRUD操作、認証管理、ファイルアップロード、データベース管理をすべて自然言語で行えるようになります。

FastMCP(標準的なPython MCPフレームワーク)と、PocketBase REST APIとの非同期HTTP通信を行う httpx を使用して構築されています。


Related MCP server: PocketBase MCP Server

機能

  • レコード — あらゆるコレクション内のレコードのリスト表示、取得、作成、更新、削除、およびバッチ操作

  • コレクション — コレクションスキーマのリスト表示、検査、作成、更新、削除

  • 認証 — メールアドレス/パスワードまたはAPIキーによるスーパーユーザーまたは一般ユーザーとしての認証

  • ファイル — ファイルトークンの生成およびオプションの画像変換を伴うファイルURLの取得

  • 設定 — アプリケーション設定の読み取りと更新

  • フィルタリングとページネーション — PocketBaseのフィルタ式、ソート、展開、ページネーションパラメータを直接渡すことが可能

  • リアルタイム対応 — 将来的な拡張を見据え、SSEサブスクリプションパターンを考慮して設計


要件

  • Python 3.11以上

  • 実行中のPocketBaseインスタンス(ローカルまたはリモート)

  • uv(推奨)または pip


インストール

pipを使用する場合

pip install pocketbase-mcp

設定

サーバーは環境変数を通じて設定されます:

変数

必須

デフォルト

説明

POCKETBASE_URL

はい

—

PocketBaseインスタンスのベースURL(例: http://127.0.0.1:8090)

POCKETBASE_SUPERUSER_EMAIL

いいえ

—

管理操作用のスーパーユーザーメールアドレス

POCKETBASE_SUPERUSER_PASSWORD

いいえ

—

スーパーユーザーパスワード

POCKETBASE_API_KEY

いいえ

—

長期間有効なAPIキー(メール/パスワードの代わり)

.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

1つのリクエストで複数の作成/更新/アップサート/削除操作を実行

コレクション

ツール

説明

list_collections

すべてのコレクションをリスト表示

get_collection

名前またはIDでコレクションスキーマを取得

create_collection

フィールドとAPIルールを指定して新しいコレクションを作成

update_collection

コレクションのスキーマまたはルールを更新

delete_collection

コレクションを削除

認証

ツール

説明

auth_with_password

メールアドレスとパスワードでユーザーまたはスーパーユーザーを認証

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コレクションのスキーマを見せて。」

「commentsからIDがae40239d2bc4477のレコードを削除して。」

「PocketBaseの設定でアプリ名を'My App'に更新して。」


PocketBaseの互換性

このMCPサーバーは PocketBase v0.36.9+ を対象としています。バッチAPIを使用するには、PocketBaseダッシュボードの Settings → Application で明示的に有効にする必要があります。


セキュリティ上の注意

  • 認証情報をバージョン管理にコミットしないでください。環境変数または.envファイルを使用してください(.envを.gitignoreに追加してください)。

  • 本番環境へのデプロイでは、メール/パスワード認証よりもAPIキー認証を優先してください。

  • PocketBaseのコレクションAPIルールは、認証されたユーザーが実際にアクセスできる内容を制御します。pocketbase-mcpはこれらのルールを尊重します。


貢献

貢献を歓迎します!大幅な変更を行う場合は、プルリクエストを送信する前にIssueを作成してください。

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成 (git checkout -b feat/my-feature)

  3. 変更をコミット

  4. プルリクエストを作成


ライセンス

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
    -