Advanced PocketBase MCP Server

Integrations

  • Supports configuration through environment variables for PocketBase connection settings, admin credentials, and data directory paths.

  • Enables advanced database operations with PocketBase, including collection management, record operations, user management, and database operations such as backup/restore and data migration.

  • Provides comprehensive TypeScript type definitions for PocketBase operations, ensuring type safety when using the tools.

高度なPocketBase MCPサーバー

PocketBaseデータベースと連携するための高度なツールを提供する包括的なMCPサーバーです。このサーバーは、モデルコンテキストプロトコル(MCP)を通じて、高度なデータベース操作、スキーマ管理、データ操作を可能にします。

変更履歴

v2.0.0(2025年4月2日)

追加した

  • 環境変数による管理者認証サポートの強化
  • impersonate_userツールによる管理者の偽装のサポートを追加しました
  • 認証操作のエラー処理の改善
  • 開発エクスペリエンスを向上させるために包括的な TypeScript 型定義を追加しました
  • Cline統合のサポートを追加しました

修理済み

  • PocketBaseクライアント実装のTypeScriptエラーを修正しました
  • 適切な型注釈によるスキーマフィールドの処理の改善
  • オプションのスキーマフィールドプロパティに関する問題を修正しました

変更

  • 複数の認証方法をサポートするために認証フローを更新しました
  • より詳細な例を含むドキュメントの改善
  • 強化された環境変数設定オプション

特徴

コレクション管理

  • カスタムスキーマを使用してコレクションを作成および管理する
  • データ保存を伴うコレクションスキーマの移行
  • 高度なインデックス管理(作成、削除、一覧表示)
  • スキーマ検証と型安全性
  • コレクションスキーマとメタデータを取得する

レコード操作

  • レコードのCRUD操作
  • フィルタリング、並べ替え、集計による高度なクエリ
  • バッチインポート/エクスポート機能
  • 関係拡大サポート
  • ページネーションとカーソルベースのナビゲーション

ユーザー管理

  • ユーザー認証とトークン管理
  • ユーザーアカウントの作成と管理
  • パスワード管理
  • ロールベースのアクセス制御
  • セッション処理

データベース操作

  • データベースのバックアップと復元
  • 複数のエクスポート形式(JSON/CSV)
  • データ移行ツール
  • インデックスの最適化
  • バッチ操作

利用可能なツール

コレクション管理

  • create_collection : カスタムスキーマで新しいコレクションを作成する
  • get_collection_schema : コレクションのスキーマの詳細を取得する
  • migrate_collection : データを保持したままコレクションスキーマを移行する
  • manage_indexes : コレクションインデックスを作成、削除、または一覧表示する

レコード操作

  • create_record : コレクションに新しいレコードを作成する
  • list_records : オプションのフィルターとページ区切りを使用してレコードを一覧表示します
  • update_record : 既存のレコードを更新する
  • delete_record : レコードを削除する
  • query_collection : フィルタリング、並べ替え、集計機能を備えた高度なクエリ
  • import_data : 作成/更新/upsertモードでコレクションにデータをインポートする

ユーザー管理

  • authenticate_user : ユーザーを認証し、認証トークンを取得する
  • create_user : 新しいユーザーアカウントを作成する
  • list_auth_methods : 利用可能なすべての認証方法を一覧表示する
  • authenticate_with_oauth2 : OAuth2でユーザーを認証する
  • authenticate_with_otp : ワンタイムパスワードでユーザーを認証する
  • auth_refresh : 認証トークンを更新する
  • request_verification : メール検証をリクエストする
  • confirm_verification : トークンを使用してメールの検証を確認する
  • request_password_reset : パスワードのリセットを要求する
  • confirm_password_reset : トークンを使用してパスワードのリセットを確認する
  • request_email_change : メールの変更をリクエストする
  • confirm_email_change : トークンを使用してメールの変更を確認する
  • impersonate_user : 別のユーザーになりすます(管理者のみ)

データベース操作

  • backup_database : フォーマットオプションを使用してPocketBaseデータベースのバックアップを作成します。
  • import_data : さまざまなモード(作成/更新/upsert)でデータをインポートします

構成

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

オプションの環境変数:

  • 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 } ] }); // Manage indexes await mcp.use_tool("pocketbase", "manage_indexes", { collection: "posts", action: "create", index: { name: "title_idx", fields: ["title"], unique: true } });

高度なクエリ

// Query with filtering, sorting, and aggregation await mcp.use_tool("pocketbase", "query_collection", { collection: "posts", filter: "created >= '2024-01-01'", sort: "-created", aggregate: { totalLikes: "sum(likes)", avgRating: "avg(rating)" }, expand: "author,categories" });

データのインポート/エクスポート

// Import data with upsert mode await mcp.use_tool("pocketbase", "import_data", { collection: "posts", data: [ { title: "First Post", content: "Hello World" }, { title: "Second Post", content: "More content" } ], mode: "upsert" }); // Backup database await mcp.use_tool("pocketbase", "backup_database", { format: "json" // or "csv" });

スキーマの移行

// Migrate collection schema await mcp.use_tool("pocketbase", "migrate_collection", { collection: "posts", newSchema: [ { name: "title", type: "text", required: true }, { name: "content", type: "text", required: true }, { name: "tags", type: "json", required: false } ], dataTransforms: { // Optional field transformations during migration tags: "JSON.parse(oldTags)" } });

認証方法

// List available authentication methods await mcp.use_tool("pocketbase", "list_auth_methods", { collection: "users" }); // Authenticate with password await mcp.use_tool("pocketbase", "authenticate_user", { email: "user@example.com", password: "securepassword", collection: "users" }); // Authenticate with OAuth2 await mcp.use_tool("pocketbase", "authenticate_with_oauth2", { provider: "google", code: "auth_code_from_provider", codeVerifier: "code_verifier_from_pkce", redirectUrl: "https://your-app.com/auth/callback", collection: "users" }); // Request password reset await mcp.use_tool("pocketbase", "request_password_reset", { email: "user@example.com", collection: "users" }); // Confirm password reset await mcp.use_tool("pocketbase", "confirm_password_reset", { token: "verification_token", password: "new_password", passwordConfirm: "new_password", collection: "users" }); // Refresh authentication token await mcp.use_tool("pocketbase", "auth_refresh", { collection: "users" });

エラー処理

すべてのツールには、詳細なエラーメッセージを含む包括的なエラー処理機能が搭載されています。エラーは適切に入力され、以下のエラーが含まれます。

  • 無効なリクエストエラー
  • 認証エラー
  • データベース操作エラー
  • スキーマ検証エラー
  • ネットワークエラー

型安全性

サーバーにはすべての操作に対するTypeScript定義が含まれており、ツール使用時の型安全性が確保されています。各ツールの入力スキーマは厳密に型指定され、検証されます。

ベストプラクティス

  1. 常にtry/catchブロックで適切なエラー処理を使用する
  2. 操作を実行する前にデータを検証する
  3. クエリパフォーマンスを向上させるために適切なインデックスを使用する
  4. データベースを定期的にバックアップする
  5. スキーマの変更には移行を使用する
  6. ユーザー管理に関するセキュリティのベストプラクティスに従う
  7. データベースのパフォーマンスを監視および最適化する

発達

  1. リポジトリをクローンする
  2. 依存関係をインストール: npm install
  3. .env.example.envにコピーして設定する
  4. ビルド: npm run build
  5. PocketBaseインスタンスを起動する
  6. MCPサーバーはPocketBaseインスタンスに自動的に接続します

Smithery経由でインストール

Smithery経由で Claude Desktop 用の PocketBase Server を自動的にインストールするには:

npx -y @smithery/cli install pocketbase-server --client claude

貢献

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

モデル コンテキスト プロトコルを通じて PocketBase データベースとの高度な対話を可能にし、コレクション管理、レコード操作、ユーザー管理、高度なデータベース操作を提供する包括的なサーバーです。

  1. Changelog
    1. v2.0.0 (April 2, 2025)
  2. Features
    1. Collection Management
    2. Record Operations
    3. User Management
    4. Database Operations
  3. Available Tools
    1. Collection Management
    2. Record Operations
    3. User Management
    4. Database Operations
  4. Configuration
    1. Usage Examples
      1. Collection Management
      2. Advanced Querying
      3. Data Import/Export
      4. Schema Migration
      5. Authentication Methods
    2. Error Handling
      1. Type Safety
        1. Best Practices
          1. Development
            1. Installing via Smithery
              1. Contributing
                ID: 75jh9xb2sg