The PocketBase MCP Server provides comprehensive tools for interacting with PocketBase databases through the Model Context Protocol, enabling advanced database operations, schema management, and data manipulation.
Collection Management: Create, update, delete, and list collections with custom schemas supporting various field types (text, number, date, email, URL, JSON, relations, files, rich text editors, auto-dates). Configure API rules for CRUD operations and set up different collection types (base, view, auth).
Record Operations: Perform full CRUD operations with pagination, filtering, and sorting capabilities. Import bulk data with create/update/upsert modes.
Authentication & User Management: Authenticate users via email/password (including admin), OAuth2 providers (Google, Facebook, GitHub, etc.), or one-time passwords. Create user accounts, refresh authentication tokens, impersonate users (admin only), and list available authentication methods.
Email & Password Management: Handle email verification requests and confirmations, password reset workflows, and email change requests with token-based verification.
Database Operations: Create database backups with custom naming options.
Configuration & Integration: Connect to PocketBase instances via environment variables with support for local setup, Docker, and Docker Compose deployments. Integrate with AI assistants like Claude, Cursor, and VS Code with auto-approval configuration options.
Provides sophisticated tools for interacting with PocketBase databases, enabling collection management, record operations (CRUD with relationship support), user authentication, and database backup capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PocketBase MCP Serverlist the last 10 users created in the past week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PocketBase MCP Server
A very much in progress MCP server based off of the Dynamics one that I have been testing and refining. 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).
Here is a video of me using it: https://www.youtube.com/watch?v=ZuTIO3I7rTM&t=345s
Why This And Not DynamicsEndpoints?
This has actually been tested on the latest version. Currently 26.1 of PocketBase and is built off of the type definitions in the JS-SDK and not the arbitrary and wrong definitions found in the Dynamics one. Many of the methods don't even work.
Related MCP server: PocketBase MCP Server
Setup MCP Server Locally (Only Way Supported for Now)
To set up the MCP server locally, you'll need to configure it within your cline_mcp_settings.json or whatever you use (claude, cursor, the config looks identical you just need to find where it is stored) file. Here's how:
Locate your This file is usually located in your Cursor user settings directory. For example:
/Users/yourusername/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonConfigure the server: Add a new entry to the
mcpServersobject in yourcline_mcp_settings.jsonfile. The key should be a unique name for your server (e.g., "pocketbase-server"), and the value should be an object containing the server's configuration.{ "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: The command to start the server (usuallynode).args: An array of arguments to pass to the command. This should point to the compiled JavaScript file of your MCP server (e.g.,build/index.js). Make sure the path is correct.env: An object containing environment variables.POCKETBASE_URL: The URL of your PocketBase instance. This is required.POCKETBASE_ADMIN_EMAIL: The admin email for your PocketBase instance (optional, but needed for some operations).POCKETBASE_ADMIN_PASSWORD: The admin password for your PocketBase instance (optional, but needed for some operations).
disabled: Whether to disable to server on startup.autoApprove: list of tools to auto approve.Adjust the values in the
envobject to match your PocketBase instance's settings.
Setup in vscode is similar , find or create
.vscode/mcp.jsonand add
Start the server: After configuring the
cline_mcp_settings.jsonfile, you can start using the MCP server with the configured tools.
Setup MCP Server with Docker
You can run the PocketBase MCP server using Docker. A Dockerfile is included in the repository.
Building the Docker Image
Running the Docker Container
Docker MCP Configuration
To use the Dockerized MCP server with your AI assistant (Cursor, Claude, etc.), configure it in your MCP settings:
For Cline/Cursor (
For VS Code (
Docker Configuration Notes
-i: Interactive mode (required for stdio communication)--rm: Automatically remove container when it exitshost.docker.internal: Use this to access PocketBase running on your host machine from within DockerEnvironment Variables: Replace placeholder values with your actual PocketBase credentials
Network: If your PocketBase is also running in Docker, use Docker networking (e.g.,
--network hostor custom bridge network)
Docker Compose (Optional)
Create a docker-compose.yml for easier management:
Then configure your MCP settings to use:
Features
Collection Management
Create and manage collections with custom schemas
Retrieve collection schemas and metadata
Record Operations
CRUD operations for records
Relationship expansion support
Pagination and cursor-based navigation
User Management
User authentication and token management
User account creation and management
Password management
Database Operations
Database backup
Available Tools
Collection Management
create_collection: Create a new collection with custom schemaget_collection: Get schema details for a collection
Record Operations
create_record: Create a new record in a collectionlist_records: List records with optional filters and paginationupdate_record: Update an existing recorddelete_record: Delete a record
User Management
authenticate_user: Authenticate a user and get auth tokencreate_user: Create a new user account
Database Operations
backup_database: Create a backup of the PocketBase database with format options
Configuration
The server requires the following environment variables:
POCKETBASE_URL: URL of your PocketBase instance (e.g., "http://127.0.0.1:8090")
Optional environment variables:
POCKETBASE_ADMIN_EMAIL: Admin email for certain operationsPOCKETBASE_ADMIN_PASSWORD: Admin passwordPOCKETBASE_DATA_DIR: Custom data directory path
Usage Examples
Contributing
Fork the repository
Create a feature branch
Commit your changes
Push to the branch
Create a Pull Request