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