pocketbase-mcp
Enables AI assistants to interact with Pocketbase backend, providing tools for authentication, collection management, record CRUD operations, and log querying.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Pocketbase MCP Server
MCP (Model Context Protocol) server for Pocketbase - enables AI assistants to interact with Pocketbase backend through a clean, type-safe API.
Features
š Silent Authentication - Automatic authentication with retry logic
š¦ Full CRUD Operations - Complete record management
š Advanced Querying - Filtering, sorting, pagination, field selection
š Collections Management - List and inspect collections
š Logs Access - Query system logs with filters
š”ļø Type Safety - Full TypeScript support with Zod validation
šļø Clean Architecture - Layered design for easy maintenance
Related MCP server: PocketBase MCP Server
Installation
# Install dependencies
pnpm install
# Build the project
pnpm buildConfiguration
Environment Variables
Create a .env file in the project root:
POCKETBASE_URL=https://your-pocketbase-instance.com
POCKETBASE_IDENTITY=your-email@example.com
POCKETBASE_PASSWORD=your-passwordMCP Client Configuration
Add to your MCP client config (e.g., Claude Desktop):
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pocketbase": {
"command": "node",
"args": ["path/to/pocketbase-mcp/dist/index.js"],
"env": {
"POCKETBASE_URL": "https://your-pocketbase-instance.com",
"POCKETBASE_IDENTITY": "your-email@example.com",
"POCKETBASE_PASSWORD": "your-password"
}
}
}
}Available Tools
1. pocketbase_auth (Optional)
Authenticate with Pocketbase. Note: Authentication is handled automatically for other tools.
pocketbase_auth({
pocketbaseUrl?: string,
identity?: string,
password?: string
})2. pocketbase_list_collections
List all collections from Pocketbase.
pocketbase_list_collections({
page?: number, // default: 1
perPage?: number, // default: 500
skipTotal?: number // default: 1
})3. pocketbase_list_records
List records from a collection with filtering and pagination.
pocketbase_list_records({
collection: string, // required
page?: number,
perPage?: number, // default: 30, max: 500
sort?: string, // e.g., "-created,name"
filter?: string, // e.g., 'status="active"'
expand?: string, // e.g., "user,category"
fields?: string, // e.g., "id,name,email"
skipTotal?: number
})4. pocketbase_get_record
Get a single record by ID.
pocketbase_get_record({
collection: string, // required
id: string, // required
expand?: string,
fields?: string
})5. pocketbase_create_record
Create a new record in a collection.
pocketbase_create_record({
collection: string, // required
data: object, // required - record data
expand?: string,
fields?: string
})6. pocketbase_update_record
Update an existing record.
pocketbase_update_record({
collection: string, // required
id: string, // required
data: object, // required - fields to update
expand?: string,
fields?: string
})7. pocketbase_delete_record
Delete a record from a collection.
pocketbase_delete_record({
collection: string, // required
id: string // required
})8. pocketbase_list_logs
Query system logs with filtering and pagination.
pocketbase_list_logs({
page?: number,
perPage?: number, // default: 50, max: 500
sort?: string,
filter?: string, // e.g., '(message ~ "error")'
skipTotal?: number // default: 1
})Architecture
The project follows a clean, layered architecture:
src/
āāā index.ts # MCP server entry point
āāā config/ # Environment configuration
āāā types/ # TypeScript type definitions
āāā schemas/ # Zod validation schemas
āāā utils/ # Error handling & response formatting
āāā client/ # HTTP client & authentication manager
āāā repositories/ # Data access layer
āāā services/ # Business logic layer
āāā handlers/ # MCP request handlers
āāā tools/ # Tool definitions registryDesign Patterns
Repository Pattern: Separates data access from business logic
Service Pattern: Encapsulates business logic
Singleton Pattern: For HTTP client and auth manager
Template Method: Base classes for common functionality
Dependency Injection: Services injected into handlers
Development
# Run in development mode
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm startLicense
ISC
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage PocketBase Cloud projects, instances, deploys, domains, collections and records.
Supabase-compatible Postgres for agents: projects, branches, SQL, auth, storage, email.
The backend and back office for apps your AI writes: accounts, data, payments, content, real-time.
Backend for AI-built apps: database, auth, files, email, AI, payments, deploy, realtime. 170+ tools.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants and MCP clients to interact with PocketBase databases for authentication, data management, and administrative operations.6 npm65MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to manage PocketBase databases with comprehensive CRUD, authentication, file management, backup, and hook operations through a standardized protocol.6 npm5MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to perform advanced database operations and schema management against PocketBase instances via the Model Context Protocol. Supports collection creation, record CRUD, user authentication and management, and database backups.37 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to work with PocketBase backends through the Model Context Protocol, covering collection and schema creation, record CRUD with filtering, pagination and relation expansion, user authentication and account creation, and database backups. It connects to a PocketBase instance via environment-configured URL and optional admin credentials.37 npmISC