mcpField
P
Pocketbase

Pocketbase

リモート
github.com/tokenscompanyデータベース435 週間前に更新
リポジトリ

Pocketbase について

Pocketbaseは、HTTP経由でMCPクライアントをPocketBaseインスタンスに接続するステートレスなリモートMCPサーバーです。コレクション、レコード、バックアップ、ファイル、設定、ログを扱うツールを提供し、ホスト版またはセルフホストで利用できます。

主な機能

  1. 01コレクションスキーマの管理
  2. 02レコードの検索と変更
  3. 03バックアップの作成と管理
  4. 04ファイル・設定・ログへのアクセス
  5. 05ステートレスHTTPリクエスト

活用シーン

  1. 01PocketBaseコレクションの確認や変更
  2. 02アプリのレコード検索と更新
  3. 03データベースバックアップの作成や削除
  4. 04MCPクライアントのPocketBase接続

MCP 対応

PocketBaseの操作をMCPツールとして公開し、コレクションスキーマをリソースとして提供します。ステートレスなstreamable HTTPを使用し、インスタンスURLと認証ヘッダーが必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://pocketbase.tokenscompany.co/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://pocketbase.tokenscompany.co/mcp認証が必要

ツール

19

このツールにパラメーターはありません。

詳細

pocketbase-mcp

License: MIT CI Docker

ステートレス HTTP 経由で、あらゆる MCP クライアントを PocketBase インスタンスに接続するリモート MCP サーバーです。

クイックスタート

ホスト済みのインスタンス https://pocketbase.tokenscompany.co/mcp を使用するか、独自のインスタンスをセルフホストしてください。

AI エージェントでインストールする

このプロンプトを AI エージェント(Claude Code、Cursor、Windsurf など)にコピーして貼り付けてください。

Install the PocketBase MCP server. The MCP endpoint is https://pocketbase.tokenscompany.co/mcp and the transport type is http (NOT sse). It requires X-PB-URL set to my PocketBase instance URL and either X-PB-Email + X-PB-Password (superuser credentials) or X-PB-Token (superuser auth token). Add it to my project MCP config with type "http". Then fetch https://raw.githubusercontent.com/tokenscompany/pocketbase-mcp/main/SKILL.md and save it to my project's agent instructions so you always know how to use the PocketBase tools.
Claude Code
claude mcp add --transport http pocketbase https://pocketbase.tokenscompany.co/mcp \
  --header "X-PB-URL: https://your-pocketbase.example.com" \
  --header "X-PB-Email: [email protected]" \
  --header "X-PB-Password: your-password"

または、プロジェクトルートの .mcp.json に追加します。

{
  "mcpServers": {
    "pocketbase": {
      "type": "http",
      "url": "https://pocketbase.tokenscompany.co/mcp",
      "headers": {
        "X-PB-URL": "${PB_URL}",
        "X-PB-Email": "${PB_EMAIL}",
        "X-PB-Password": "${PB_PASSWORD}"
      }
    }
  }
}

Claude Code は環境変数から ${VAR} を展開するため、シェルまたは .env で PB_URL、PB_EMAIL、PB_PASSWORD を設定してください。

Cursor

~/.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "pocketbase": {
      "url": "https://pocketbase.tokenscompany.co/mcp",
      "headers": {
        "X-PB-URL": "https://your-pocketbase.example.com",
        "X-PB-Email": "[email protected]",
        "X-PB-Password": "your-password"
      }
    }
  }
}
OpenCode

プロジェクトルートの opencode.json に追加します。

{
  "mcp": {
    "pocketbase": {
      "type": "remote",
      "url": "https://pocketbase.tokenscompany.co/mcp",
      "headers": {
        "X-PB-URL": "https://your-pocketbase.example.com",
        "X-PB-Email": "[email protected]",
        "X-PB-Password": "your-password"
      },
      "enabled": true
    }
  }
}

セルフホスト

Bun
bun install
bun run src/index.ts

サーバーは PORT(デフォルトは 3000)でリッスンします。

Docker(GHCR)
docker pull ghcr.io/tokenscompany/pocketbase-mcp:latest
docker run -p 3000:3000 ghcr.io/tokenscompany/pocketbase-mcp:latest

または、ローカルでビルドします。

docker build -t pocketbase-mcp .
docker run -p 3000:3000 pocketbase-mcp
イメージの検証

GHCR に公開されるすべてのイメージには、SLSA 来歴証明が含まれています。イメージがこのリポジトリからビルドされたことを検証できます。

gh attestation verify oci://ghcr.io/tokenscompany/pocketbase-mcp:latest \
  --owner tokenscompany

認証

POST /mcp へのすべてのリクエストには、X-PB-URL と、次の 2 つの認証方法のいずれかを含める必要があります。

方法 1:メールアドレス+パスワード(推奨)
ヘッダー説明
X-PB-URLPocketBase インスタンスのベース URL
X-PB-Emailスーパーユーザーのメールアドレス
X-PB-Passwordスーパーユーザーのパスワード

サーバーはリクエストごとに PocketBase に対して認証します。トークンを手動で管理する必要はありません。

方法 2:トークン
ヘッダー説明
X-PB-URLPocketBase インスタンスのベース URL
X-PB-Tokenスーパーユーザーの認証トークン

トークンを手動で取得するには:

curl -X POST https://your-pb.example.com/api/admins/auth-with-password \
  -H 'Content-Type: application/json' \
  -d '{"identity":"[email protected]","password":"your-password"}'

レスポンスの token フィールドが X-PB-Token です。トークンとメールアドレス+パスワードの両方が指定されている場合は、トークンが優先されます。

ツール

ツール説明
pb_healthPocketBase のヘルスチェック
pb_list_collectionsすべてのコレクションを完全なフィールドスキーマとともに一覧表示
pb_get_collection_schema単一のコレクションの完全なスキーマを取得
pb_create_collection新しいコレクションを作成
pb_update_collectionコレクションのスキーマまたはルールを更新
pb_delete_collectionコレクションを削除
pb_import_collectionsコレクションスキーマを一括インポート/上書き
pb_list_recordsコレクション内のレコードを一覧表示/検索
pb_get_recordID で単一のレコードを取得
pb_create_record新しいレコードを作成
pb_update_record既存のレコードを更新
pb_delete_recordID でレコードを削除
pb_list_backups利用可能なバックアップを一覧表示
pb_create_backup新しいバックアップを作成
pb_delete_backupキーでバックアップを削除
pb_get_file_urlファイルフィールドのダウンロード URL を取得
pb_get_settingsアプリの設定を取得
pb_update_settingsアプリの設定を更新
pb_list_logsリクエストログを検索

リソース

リソースURI説明
schemapocketbase://schemaすべてのコレクションスキーマを JSON 形式で取得

セキュリティとプライバシー

このサーバーは完全にステートレスです。データを保存、記録、保持することはありません。

  • データベースもディスクへの書き込みもありません — リクエストごとに新しい MCP サーバーとトランスポートをメモリ上に作成して処理し、すべてを破棄します。ディスクに書き込まれることはありません。
  • 認証情報は保存しません — X-PB-URL、X-PB-Token、X-PB-Email、X-PB-Password ヘッダーはリクエストの処理中のみ使用され、永続化、キャッシュ、記録されることはありません。
  • テレメトリーや分析はありません — サーバーは使用データを一切収集しません。サードパーティのサービスに接続することもありません。
  • セッションはありません — CookieもセッションIDもなく、リクエスト間でサーバー側に状態が保持されることもありません。
  • オープンソース — コードベース全体は MIT ライセンスです。すべての Docker イメージには SLSA provenance attestation が含まれているため、変更を加えずにこのリポジトリから直接ビルドされたことを確認できます。
  • 自分でセルフホストする — 最大限の制御を得るには、独自のインスタンスを実行してください。このサーバーは、PocketBase インスタンス以外に外部依存関係のない単一のコンテナです。
セキュリティ強化

パブリックインスタンスをホストする場合、サーバーには以下の追加対策が含まれます。

  • SSRF 保護 — X-PB-URL を検証します。http/https スキームのみが許可され、プライベート/予約済み IP 範囲(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、169.254.0.0/16、::1、fc00::/7、fe80::/10)に解決されるホスト名は拒否されます。

  • レート制限 — IP ごとのインメモリ・トークンバケット方式です。環境変数で設定できます。

    変数デフォルト説明
    RATE_LIMIT_RPM60IP ごとの1分あたりのリクエスト数
    RATE_LIMIT_BURST10最大バーストサイズ
  • CORS — /mcp でプリフライトをサポートし、Access-Control-Allow-Origin: * を設定します。

  • リクエストボディのサイズ制限 — 1 MB を超えるリクエストは 413 で拒否されます。

エンドポイント

メソッドパス説明
POST/mcpMCP エンドポイント(ステートレス、JSON レスポンス)
GET/healthヘルスチェック

トラブルシューティング

「Failed to reconnect」エラー

MCP クライアントの設定で "type": "sse" が使われている可能性があります。このサーバーが使用するのはステートレスなストリーム可能 HTTPであり、Server-Sent Events ではありません。トランスポートの種類を "http" に変更してください。

{
  "mcpServers": {
    "pocketbase": {
      "type": "http",
      ...
    }
  }
}

Claude Code CLI で追加する場合は、--transport http を使用してください。

claude mcp add --transport http pocketbase https://pocketbase.tokenscompany.co/mcp ...

ライセンス

MIT

コメント

MCP は初めてですか?

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

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