pocketbase-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POCKETBASE_URL | No | PocketBase instance URL | http://127.0.0.1:8090 |
| POCKETBASE_MCP_HOST | No | HTTP transport bind host | 127.0.0.1 |
| POCKETBASE_MCP_PORT | No | HTTP transport bind port | 8000 |
| POCKETBASE_ADMIN_EMAIL | No | Superuser email for startup auth | |
| POCKETBASE_BATCH_LIMIT | No | Max operations per bulk_write call | 200 |
| POCKETBASE_ADMIN_PASSWORD | No | Superuser password for startup auth | |
| POCKETBASE_LOG_PAGE_SIZE_MAX | No | Max page size for read_logs | 500 |
| POCKETBASE_ENABLE_DESTRUCTIVE | No | Set any truthy value to register delete_records and destroy_collection |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| describe_schemaA | USE WHEN you need a quick inventory of all collections before querying or writing. EXAMPLES:
NEXT STEPS: describe_collection(collection="") for field details. |
| describe_collectionA | USE WHEN you need full field definitions, API rules, or relation targets for one collection. EXAMPLES:
NEXT STEPS: find_records or write_record with the correct field names. |
| find_recordsA | USE WHEN you need to query or look up records in a collection. EXAMPLES:
NEXT STEPS: write_record to mutate, describe_collection for field names. |
| write_recordA | USE WHEN you need to create or update a single record. EXAMPLES:
NEXT STEPS: find_records to verify, describe_collection for field names. |
| bulk_writeA | USE WHEN you need to create/update/delete multiple records atomically. EXAMPLES:
NEXT STEPS: find_records to verify results. |
| manage_collectionA | USE WHEN you need to create or modify a collection schema. EXAMPLES:
NEXT STEPS: describe_collection to verify, find_records or write_record to use. |
| connectA | USE WHEN you need to authenticate or check the current session identity. EXAMPLES:
NEXT STEPS: All subsequent tool calls in this session use the new identity. |
| manage_authA | USE WHEN you need to manage auth lifecycle: password reset, verification, email change, or token refresh. EXAMPLES:
NEXT STEPS: connect(as_='status') to verify identity after refresh. |
| manage_filesA | USE WHEN you need to get a file URL, download a file, or upload a new file to a record. EXAMPLES:
NEXT STEPS: find_records to see the updated file field after upload. |
| inspect_serverA | USE WHEN you need an overview of server health, settings, cron jobs, and log statistics. EXAMPLES:
NEXT STEPS: read_logs for detailed log entries; connect(as_='superuser') for full access. |
| read_logsA | USE WHEN you need to inspect request log entries. Superuser access required. EXAMPLES:
NEXT STEPS: inspect_server for aggregate stats; connect(as_='superuser') if unauthorized. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| inspect_then_query | Guide an agent through schema inspection then record querying. |
| safe_delete | Guide an agent through count-verify-then-delete flow. |
| create_with_validation | Guide an agent through schema-aware record creation. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| schema | All PocketBase collections — id, name, type, field_count. |
TDQS
Scored across 11 tools
Each tool targets a distinct resource and action. Overlapping pairs like describe_schema/describe_collection and inspect_server/read_logs are clearly differentiated by their descriptions and intended use cases.
All tool names follow a consistent snake_case style, mostly verb_noun (e.g., describe_schema, find_records, manage_collection). The only deviation, bulk_write, still fits the style and does not introduce a mixed convention.
With 11 tools, the server is well-scoped for a backend platform, covering schema, records, auth, files, logs, and server health without being over- or under-populated.
While the core workflows are covered, there are notable gaps: no dedicated tool for deleting a single record (only via bulk_write) and manage_collection does not support deleting collections. These are core CRUD operations that an agent would expect.