PocketBaseCAUTION
MCP server for building PocketBase apps really quickly - Need a front end quick consider FastPocket
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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.
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 `cline_mcp_settings.json` file: 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.json
- Configure 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": "[email protected]",
"POCKETBASE_ADMIN_PASSWORD": "admin_password"
},
"disabled": false,
"autoApprove": ["create_record", "create_collection"]
}
}
}0c885b932434OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add pocketbase-server --env POCKETBASE_ADMIN_PASSWORD=${POCKETBASE_ADMIN_PASSWORD} -- npx -y [email protected]{
"mcpServers": {
"pocketbase-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POCKETBASE_ADMIN_PASSWORD": "${POCKETBASE_ADMIN_PASSWORD}"
}
}
}
}Exposed tools (24)
13 read · 7 write · 4 destructive. Blast radius: 4 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
auth_refresh | read | Refresh authentication token |
authenticate_user | read | Authenticate a user with email and password |
authenticate_with_oauth2 | read | Authenticate a user with OAuth2 |
authenticate_with_otp | read | Authenticate a user with one-time password |
backup_database | write | Create a backup of the PocketBase database |
confirm_email_change | read | Confirm email change with token |
confirm_password_reset | destructive | Confirm password reset with token |
confirm_verification | read | Confirm email verification with token |
create_collection | write | Create a new collection in PocketBase note never use created and updated because these are already created |
create_record | write | Create a new record in a collection |
create_user | write | Create a new user account |
delete_collection | destructive | Delete a collection from PocketBase (admin only) |
delete_record | destructive | Delete a record |
get_collection | read | Get details for a collection |
impersonate_user | read | Impersonate another user (admin only) |
import_data | write | Import data into a collection |
list_auth_methods | read | List all available authentication methods |
list_collections | read | List all collections in PocketBase |
list_records | read | List records from a collection with optional filters |
request_email_change | read | Request email change |
request_password_reset | destructive | Request password reset |
request_verification | read | Request email verification |
update_collection | write | Update an existing collection in PocketBase (admin only) |
update_record | write | Update an existing record |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (7)
# Example: http://127.0.0.1:8090 for local development
POCKETBASE_URL=http://127.0.0.1:8090
ENV POCKETBASE_URL=http://127.0.0.1:8090
confirm_password_reset, delete_collection, delete_record, request_password_reset
"POCKETBASE_URL": "http://127.0.0.1:8090",
"POCKETBASE_URL": "http://127.0.0.1:8090",
@modelcontextprotocol/sdk, pocketbase, @types/node, dotenv, esbuild, typescript
Gates applied: no_behavioural_pass.
0c885b932434full audit observations/trust-audit/mcp-server/mrwyndham__pocketbase-2.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 0c885b932434 | CAUTION | B | 89 | first audit |
Questions
What is the PocketBase MCP server?
MCP server for building PocketBase apps really quickly - Need a front end quick consider FastPocket
What tools does PocketBase expose?
24 in total: 13 read-only, 7 that write, and 4 that can delete or overwrite (confirm_password_reset, delete_collection, delete_record, request_password_reset). Every one is listed on this page with its risk.
Is PocketBase safe to connect to an agent?
With care. The audit graded it B (89/100) and found 7 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 4 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does PocketBase need?
It reads POCKETBASE_ADMIN_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does PocketBase run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as pocketbase-server at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (0c885b932434), read on 2026-10-07. The repository is watched and re-audited when it changes.