PocketBase MCP Server

by mrwyndham
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides sophisticated tools for interacting with PocketBase databases, enabling collection management, record operations (CRUD with relationship support), user authentication, and database backup capabilities.

PocketBase MCP サーバー

私がテストと改良を重ねてきたDynamicsサーバーをベースに、現在開発中のMCPサーバーです。PocketBaseデータベースと連携するための高度なツールを提供します。このサーバーは、モデルコンテキストプロトコル(MCP)を通じて、高度なデータベース操作、スキーマ管理、データ操作を可能にします。

なぜ DynamicsEndpoints ではなくこれなのですか?

これは最新バージョンで実際にテスト済みです。現在PocketBase 26.1で、JS-SDKの型定義に基づいて構築されており、Dynamics SDKにある恣意的で誤った定義は使用されていません。多くのメソッドは動作しません。

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": "admin@example.com", "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 : 自動承認するツールのリスト。
    • PocketBase インスタンスの設定に合わせてenvオブジェクトの値を調整します。
  3. サーバーを起動します。cline_mcp_settings.json cline_mcp_settings.jsonを設定したら、設定されたツールを使用して MCP サーバーの使用を開始できます。

特徴

コレクション管理

  • カスタムスキーマを使用してコレクションを作成および管理する
  • コレクションスキーマとメタデータを取得する

レコード操作

  • レコードの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: "user@example.com", password: "securepassword", collection: "users" });

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. ブランチにプッシュする
  5. プルリクエストを作成する
-
security - not tested
A
license - permissive license
-
quality - not tested

PocketBase データベースと対話するための洗練されたツールを提供し、モデル コンテキスト プロトコル (MCP) を介した高度なデータベース操作、スキーマ管理、およびデータ操作を可能にします。

  1. Why This And Not DynamicsEndpoints?
    1. Setup MCP Server Locally (Only Way Supported for Now)
      1. Features
        1. Collection Management
        2. Record Operations
        3. User Management
        4. Database Operations
      2. Available Tools
        1. Collection Management
        2. Record Operations
        3. User Management
        4. Database Operations
      3. Configuration
        1. Usage Examples
          1. Contributing
            ID: yl358xn6n9