README Documentation
PocketBase MCP Server
Seamless integration between PocketBase and MCP clients through the Model Context Protocol (MCP). This server enables MCP-compatible applications to directly interact with PocketBase databases for collection management, record operations, schema generation, and data analysis.
โจ Key Features
- ๐๏ธ Collection Management: Create, migrate, and manage collections with custom schemas
- ๐ Record Operations: Full CRUD operations with advanced querying and filtering
- ๐ Schema Generation: Bidirectional conversion between TypeScript interfaces and PocketBase schemas
- ๐ Data Analysis: Intelligent insights and analytics for your collections
- ๐ Authentication: User management and authentication workflows
- โก Performance: Optimized for speed with built-in caching and connection pooling
๐ Quick Start
Installation
npm install -g pocketbase-cursor-mcp
MCP Client Setup
For Cursor AI
- Open Cursor AI Settings (
Cmd+,/Ctrl+,) - Navigate to AI โ Model Context Protocol Servers
- Add new server:
- Name:
pocketbase - Command:
npx - Args:
pocketbase-cursor-mcp --url=http://127.0.0.1:8090
- Name:
For Other MCP Clients
Refer to your MCP client's documentation for server configuration. Use:
- Server Command:
npx pocketbase-cursor-mcp - Arguments:
--url=http://127.0.0.1:8090
Basic Configuration
# Using command line
pocketbase-cursor-mcp --url=http://127.0.0.1:8090
# Using environment variables
export POCKETBASE_URL=http://127.0.0.1:8090
pocketbase-cursor-mcp
๐ก Usage Examples
Create Collections from TypeScript
// Describe your interface to your MCP client
interface User {
username: string;
email: string;
isActive: boolean;
profile: UserProfile;
}
Generate TypeScript from PocketBase
Generate TypeScript interfaces from my PocketBase collections
Data Analysis
Analyze the "products" collection and provide insights
๐ ๏ธ Available Tools
Collection Management: create_collection, list_collections, delete_collection, get_collection_schema, update_collection, truncate_collection, migrate_collection
Record Operations: create_record, list_records, update_record, delete_record, query_collection
Authentication: authenticate_user, create_user
Code Generation: generate_pb_schema, generate_typescript_interfaces
Analysis: analyze_collection_data, backup_database, import_data
File Management: upload_file, download_file, upload_file_from_url
Advanced: manage_indexes
๐ Documentation
- Getting Started - Installation and configuration guide
- Developer Guide - How to extend the server with new tools
- API Reference - Complete tool reference and examples
- Architecture - System design and architectural decisions
- Contributing - Guidelines for contributors
๐๏ธ Architecture
Built with a modular, extensible architecture:
src/
โโโ tools/ # Modular tool system
โ โโโ schemas/ # Input validation
โ โโโ handlers/ # Business logic
โโโ utils/ # Shared utilities
โโโ types/ # TypeScript definitions
โโโ config/ # Configuration management
Key Benefits:
- ๐ง Extensible: Easy to add new tools
- ๐ก๏ธ Type-Safe: Full TypeScript coverage
- โก Performance: Optimized for speed
- ๐งช Testable: Comprehensive test coverage
Contributing
Contributions are always welcome! Please create an issue or pull request.
License
MIT