README.md•2.18 kB
# pocketbase-mcp-server MCP Server
Model Context Protocol Server for PocketBase
This is a TypeScript-based MCP server that provides:
- Tools for listing PocketBase collections
## Features
### Tools
- `pocketbase_list_collections` - List all collections from a PocketBase instance
- Requires server to be started with PocketBase configuration
- Returns JSON representation of all collections
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Installation
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"pocketbase-mcp-server": {
"command": "/path/to/pocketbase-mcp-server/build/index.js --pb-url=http://localhost:8090 --pb-admin-email=admin@example.com --pb-admin-password=your-secure-password"
}
}
}
```
### PocketBase Configuration
To enable the PocketBase collections tool, you must provide the following configuration either as command line arguments or environment variables:
- `--pb-url=<url>` or `PB_URL` - The URL of your PocketBase instance (e.g., http://localhost:8090)
- `--pb-admin-email=<email>` or `PB_ADMIN_EMAIL` - Admin email for authentication
- `--pb-admin-password=<password>` or `PB_ADMIN_PASSWORD` - Admin password for authentication
If using environment variables, you can set them like this:
```bash
export PB_URL=http://localhost:8090
export PB_ADMIN_EMAIL=admin@example.com
export PB_ADMIN_PASSWORD=your-secure-password
```
Example using command line arguments:
```bash
node build/index.js --pb-url=http://localhost:8090 --pb-admin-email=admin@example.com --pb-admin-password=your-secure-password
```
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.