Skip to main content
Glama

pocketbase-mcp

Ein Model Context Protocol (MCP)-Server für PocketBase — er gibt KI-Assistenten wie Claude vollen Zugriff auf Ihr PocketBase-Backend über eine saubere, Python-orientierte Schnittstelle.


Übersicht

pocketbase-mcp schließt die Lücke zwischen LLMs und Ihrer PocketBase-Instanz. Sobald die Verbindung hergestellt ist, können KI-Assistenten Sammlungen auflisten, CRUD-Operationen auf Datensätze ausführen, die Authentifizierung verwalten, Datei-Uploads handhaben und Ihre Datenbank verwalten — alles durch natürliche Sprache.

Erstellt mit FastMCP (dem Standard-Python-MCP-Framework) und httpx für asynchrone HTTP-Kommunikation mit der PocketBase REST API.


Related MCP server: PocketBase MCP Server

Funktionen

  • Datensätze — auflisten, abrufen, erstellen, aktualisieren, löschen und Batch-Operationen auf Datensätze in jeder Sammlung ausführen

  • Sammlungen — Sammlungs-Schemas auflisten, inspizieren, erstellen, aktualisieren und löschen

  • Authentifizierung — Authentifizierung als Superuser oder regulärer Benutzer per E-Mail/Passwort oder API-Schlüssel

  • Dateien — Datei-Token generieren und Datei-URLs mit optionalen Bildtransformationen abrufen

  • Einstellungen — Anwendungseinstellungen lesen und aktualisieren

  • Filter & Paginierung — PocketBase-Filterausdrücke, Sortierung, Erweiterungen und Paginierungsparameter direkt übergeben

  • Echtzeit-fähig — konzipiert mit SSE-Abonnementmustern für zukünftige Erweiterungen


Anforderungen

  • Python 3.11+

  • Eine laufende PocketBase-Instanz (lokal oder remote)

  • uv (empfohlen) oder pip


Installation

Verwendung von pip

pip install pocketbase-mcp

Konfiguration

Der Server wird über Umgebungsvariablen konfiguriert:

Variable

Erforderlich

Standard

Beschreibung

POCKETBASE_URL

Ja

—

Basis-URL Ihrer PocketBase-Instanz (z. B. http://127.0.0.1:8090)

POCKETBASE_SUPERUSER_EMAIL

Nein

—

Superuser-E-Mail für Admin-Operationen

POCKETBASE_SUPERUSER_PASSWORD

Nein

—

Superuser-Passwort

POCKETBASE_API_KEY

Nein

—

Langlebiger API-Schlüssel (Alternative zu E-Mail/Passwort)

Setzen Sie diese in einer .env-Datei oder exportieren Sie sie direkt:

export POCKETBASE_URL=http://127.0.0.1:8090
export POCKETBASE_SUPERUSER_EMAIL=admin@example.com
export POCKETBASE_SUPERUSER_PASSWORD=your-password

Ausführen des Servers

stdio-Transport (Standard — für Claude Desktop, Claude Code, etc.)

pocketmcp

Mit MCP Inspector (für Entwicklung und Tests)

# Terminal 1
pocketmcp

# Terminal 2
npx @modelcontextprotocol/inspector
# Connect to: http://localhost:8000/mcp

Verbindung zu Claude

Claude Desktop

Fügen Sie Folgendes zu Ihrer claude_desktop_config.json hinzu:

{
  "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"
      }
    }
  }
}

Verfügbare Tools

Datensätze

Tool

Beschreibung

list_records

Datensätze in einer Sammlung mit Filtern, Sortierung und Paginierung auflisten

get_record

Einen einzelnen Datensatz nach ID abrufen

create_record

Einen neuen Datensatz erstellen

update_record

Einen bestehenden Datensatz aktualisieren

delete_record

Einen Datensatz nach ID löschen

batch_records

Mehrere Erstellungs-/Aktualisierungs-/Upsert-/Löschvorgänge in einer Anfrage ausführen

Sammlungen

Tool

Beschreibung

list_collections

Alle Sammlungen auflisten

get_collection

Ein Sammlungsschema nach Name oder ID abrufen

create_collection

Eine neue Sammlung mit Feldern und API-Regeln erstellen

update_collection

Das Schema oder die Regeln einer Sammlung aktualisieren

delete_collection

Eine Sammlung löschen

Authentifizierung

Tool

Beschreibung

auth_with_password

Einen Benutzer oder Superuser mit E-Mail und Passwort authentifizieren

auth_with_api_key

Authentifizierung mittels langlebigem API-Schlüssel

get_auth_store

Den aktuellen Authentifizierungsstatus zurückgeben

Dateien

Tool

Beschreibung

get_file_url

Die URL für eine an einen Datensatz angehängte Datei generieren

create_file_token

Ein kurzlebiges Token für den Zugriff auf geschützte Dateien erstellen

Einstellungen

Tool

Beschreibung

get_settings

Alle Anwendungseinstellungen abrufen

update_settings

Anwendungseinstellungen aktualisieren


Projektstruktur

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

Beispielanwendung

Sobald die Verbindung zu Claude hergestellt ist, können Sie mit Ihrer PocketBase-Instanz über natürliche Sprache interagieren:

"List all records in the posts collection where status = 'published', sorted by created descending."

"Create a new record in users with name 'Alice' and role 'editor'."

"Show me the schema for the products collection."

"Delete the record with ID ae40239d2bc4477 from comments."

"Update the app name in PocketBase settings to 'My App'."


PocketBase-Kompatibilität

Dieser MCP-Server zielt auf PocketBase v0.36.9+ ab. Die Batch-API erfordert, dass sie explizit in Ihrem PocketBase-Dashboard unter Settings → Application aktiviert ist.


Sicherheitshinweise

  • Committen Sie niemals Anmeldedaten in die Versionskontrolle. Verwenden Sie Umgebungsvariablen oder eine .env-Datei (fügen Sie .env zu .gitignore hinzu).

  • Bevorzugen Sie für Produktionsbereitstellungen die API-Schlüssel-Authentifizierung gegenüber E-Mail/Passwort.

  • Sammlung-API-Regeln in PocketBase bestimmen, worauf der authentifizierte Benutzer tatsächlich zugreifen kann — pocketbase-mcp respektiert diese Regeln.


Mitwirken

Beiträge sind willkommen! Bitte eröffnen Sie ein Issue, bevor Sie einen Pull Request für wesentliche Änderungen einreichen.

  1. Forken Sie das Repository

  2. Erstellen Sie einen Feature-Branch (git checkout -b feat/my-feature)

  3. Committen Sie Ihre Änderungen

  4. Öffnen Sie einen Pull Request


Lizenz

MIT-Lizenz. Siehe LICENSE für Details.

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
    -