mcpField
P
PocketBase MCP Server

PocketBase MCP Server

ローカル
fastpocket.devデータベース1541 週間前に更新

PocketBase MCP Server について

PocketBase MCP Serverは、MCPクライアントからPocketBaseのデータベースやアカウントを操作するサーバーです。PocketBase JS-SDKの型定義に基づき、コレクションやレコードの管理、ユーザー操作、バックアップを提供します。

主な機能

  1. 01コレクションの作成と参照
  2. 02レコードの作成・一覧・更新・削除
  3. 03レコード一覧の絞り込みとページング
  4. 04ユーザー認証と作成
  5. 05データベースのバックアップ

活用シーン

  1. 01MCPクライアントでPocketBaseのスキーマを管理
  2. 02AIアシスタントからレコードをCRUD操作
  3. 03ユーザー認証とアカウント作成
  4. 04PocketBaseデータベースのバックアップ作成

MCP 対応

MCPクライアント向けに、コレクション、レコード、ユーザー、バックアップの操作ツールを提供します。ローカルで設定するか、Dockerで実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pocketbase": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

PocketBase MCP サーバー

現在も開発が進行中の MCP サーバーです。Dynamics のものをベースにしており、テストと改良を重ねています。PocketBase データベースを操作するための高度なツールを提供します。このサーバーを使用すると、Model Context Protocol(MCP)を通じて高度なデータベース操作、スキーマ管理、データ操作を実行できます。

使用している様子はこちらの動画をご覧ください:https://www.youtube.com/watch?v=ZuTIO3I7rTM&t=345s

DynamicsEndpoints ではなく、これを選ぶ理由

これは最新バージョンで実際にテストされています。現在は PocketBase 26.1 に対応しており、Dynamics のものにある恣意的で誤った定義ではなく、JS-SDK の型定義をベースにしています。Dynamics のメソッドの多くは、そもそも動作しません。

MCP サーバーをローカルにセットアップする(現在サポートされている唯一の方法)

MCP サーバーをローカルにセットアップするには、cline_mcp_settings.json またはご利用の設定ファイル(claude、cursor など。設定の形式は同じですが、保存場所を確認してください)に設定を追加する必要があります。手順は次のとおりです。

  1. cline_mcp_settings.json ファイルを探します: このファイルは通常、Cursor のユーザー設定ディレクトリにあります。例: /Users/yourusername/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  2. サーバーを設定します: cline_mcp_settings.json ファイルの mcpServers オブジェクトに新しいエントリを追加します。キーにはサーバーの一意の名前(例:"pocketbase-server")を指定し、値にはサーバーの設定を含むオブジェクトを指定します。

    {
      "mcpServers": {
        "pocketbase-server": {
          "command": "node",
          "args": ["build/index.js"],
          "env": {
            "POCKETBASE_URL": "http://127.0.0.1:8090",
            "POCKETBASE_ADMIN_EMAIL": "[email protected]",
            "POCKETBASE_ADMIN_PASSWORD": "admin_password"
          },
          "disabled": false,
          "autoApprove": ["create_record", "create_collection"]
        }
      }
    }
    
    • command:サーバーを起動するコマンド(通常は node)です。
    • args:コマンドに渡す引数の配列です。MCP サーバーのコンパイル済み JavaScript ファイル(例:build/index.js)を指定します。パスが正しいことを確認してください。
    • env:環境変数を含むオブジェクトです。
      • POCKETBASE_URL:PocketBase インスタンスの URL です。_必須_です。
      • POCKETBASE_ADMIN_EMAIL:PocketBase インスタンスの管理者メールアドレスです(一部の操作に必要ですが、省略可能です)。
      • POCKETBASE_ADMIN_PASSWORD:PocketBase インスタンスの管理者パスワードです(一部の操作に必要ですが、省略可能です)。
    • disabled:起動時にサーバーを無効にするかどうかを指定します。
    • autoApprove:自動承認するツールのリストです。
    • env オブジェクト内の値は、PocketBase インスタンスの設定に合わせて変更してください。
  • vscode でのセットアップも同様です。.vscode/mcp.json を探すか作成して、次の内容を追加します。
{
  "inputs": [
    {
      "type": "promptString",
      "id": "pocketbase-admin-email",
      "description": "PocketBase Admin Email",
      "password": false
    },
    {
      "type": "promptString",
      "id": "pocketbase-admin-password",
      "description": "PocketBase Admin Password",
      "password": true
    }
  ],
  "servers": {
    "pocketbaseServer": {
      "type": "stdio",
      "command": "node",
      // replace this with the path to your compiled MCP server (git clone the repo and run `npm run build` to compile)
      "args": ["~/Desktop/code/mcp/pocketbase-mcp/build/index.js"],
      "env": {
        "POCKETBASE_URL": "http://127.0.0.1:8090",
        "POCKETBASE_ADMIN_EMAIL": "${input:pocketbase-admin-email}",
        "POCKETBASE_ADMIN_PASSWORD": "${input:pocketbase-admin-password}"
      }
    }
  }
}
  1. サーバーを起動します: cline_mcp_settings.json ファイルを設定した後、設定済みのツールを使用して MCP サーバーを利用できます。

Docker で MCP サーバーをセットアップする

Docker を使用して PocketBase MCP サーバーを実行できます。リポジトリには Dockerfile が含まれています。

Docker イメージのビルド
# Build the Docker image
docker build -t pocketbase-mcp .
Docker コンテナの実行
# Run the container with environment variables
docker run -d \
  --name pocketbase-mcp \
  -e POCKETBASE_URL=http://127.0.0.1:8090 \
  -e [email protected] \
  -e POCKETBASE_ADMIN_PASSWORD=your_admin_password \
  pocketbase-mcp
Docker の MCP 設定

Docker 化された MCP サーバーを AI アシスタント(Cursor、Claude など)で使用するには、MCP の設定に追加します。

Cline/Cursor の場合(cline_mcp_settings.json):

{
  "mcpServers": {
    "pocketbase-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "POCKETBASE_URL=http://host.docker.internal:8090",
        "-e",
        "[email protected]",
        "-e",
        "POCKETBASE_ADMIN_PASSWORD=your_admin_password",
        "pocketbase-mcp"
      ],
      "disabled": false,
      "autoApprove": ["list_collections", "list_records", "get_collection"]
    }
  }
}

VS Code の場合(.vscode/mcp.json):

{
  "inputs": [
    {
      "type": "promptString",
      "id": "pocketbase-admin-email",
      "description": "PocketBase Admin Email",
      "password": false
    },
    {
      "type": "promptString",
      "id": "pocketbase-admin-password",
      "description": "PocketBase Admin Password",
      "password": true
    }
  ],
  "servers": {
    "pocketbaseDocker": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "POCKETBASE_URL=http://host.docker.internal:8090",
        "-e",
        "POCKETBASE_ADMIN_EMAIL=${input:pocketbase-admin-email}",
        "-e",
        "POCKETBASE_ADMIN_PASSWORD=${input:pocketbase-admin-password}",
        "pocketbase-mcp"
      ]
    }
  }
}
Docker の設定に関する注意事項
  • -i:インタラクティブモード(stdio 通信に必須)
  • --rm:コンテナの終了時に自動的に削除します
  • host.docker.internal:Docker 内からホストマシン上で実行中の PocketBase にアクセスするには、これを使用します
  • 環境変数:プレースホルダーの値を実際の PocketBase 認証情報に置き換えます
  • ネットワーク:PocketBase も Docker で実行している場合は、Docker ネットワーク(例:--network host またはカスタムブリッジネットワーク)を使用します
Docker Compose(任意)

管理を簡単にするために、docker-compose.yml を作成します。

version: "3.8"

services:
  pocketbase-mcp:
    build: .
    environment:
      - POCKETBASE_URL=http://host.docker.internal:8090
      - [email protected]
      - POCKETBASE_ADMIN_PASSWORD=your_admin_password
    stdin_open: true
    tty: true

次に、MCP の設定で以下を使用するように設定します。

{
  "mcpServers": {
    "pocketbase-docker": {
      "command": "docker-compose",
      "args": ["run", "--rm", "pocketbase-mcp"],
      "disabled": false
    }
  }
}

機能

コレクション管理
  • カスタムスキーマを使用したコレクションの作成と管理
  • コレクションのスキーマとメタデータの取得
レコード操作
  • レコードの CRUD 操作
  • リレーションの展開をサポート
  • ページネーションとカーソルベースのナビゲーション
ユーザー管理
  • ユーザー認証とトークン管理
  • ユーザーアカウントの作成と管理
  • パスワード管理
データベース操作
  • データベースのバックアップ

利用可能なツール

コレクション管理
  • create_collection:カスタムスキーマを使用して新しいコレクションを作成します
  • get_collection:コレクションのスキーマの詳細を取得します
レコード操作
  • create_record:コレクションに新しいレコードを作成します
  • list_records:オプションのフィルターとページネーションを指定してレコードを一覧表示します
  • update_record:既存のレコードを更新します
  • delete_record:レコードを削除します
ユーザー管理
  • authenticate_user:ユーザーを認証して認証トークンを取得します
  • create_user:新しいユーザーアカウントを作成します
データベース操作
  • backup_database:形式を指定して PocketBase データベースのバックアップを作成します

設定

サーバーには、以下の環境変数が必要です。

任意の環境変数:

  • POCKETBASE_ADMIN_EMAIL:一部の操作に使用する管理者のメールアドレス
  • POCKETBASE_ADMIN_PASSWORD:管理者のパスワード
  • POCKETBASE_DATA_DIR:カスタムデータディレクトリのパス

使用例

// Create a new collection
await mcp.use_tool("pocketbase", "create_collection", {
  name: "posts",
  schema: [
    {
      name: "title",
      type: "text",
      required: true,
    },
    {
      name: "content",
      type: "text",
      required: true,
    },
  ],
});

// Authenticate with password
await mcp.use_tool("pocketbase", "authenticate_user", {
  email: "[email protected]",
  password: "securepassword",
  collection: "users",
});

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. プルリクエストを作成します

スポンサー

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。