Skip to main content
Glama
fadlee

PocketBase MCP Server

by fadlee

create_user

Create a new user account in PocketBase by providing email, password, and verification settings to establish user authentication and access control.

Instructions

Create a new user account

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
additionalDataNoAdditional user data fields specific to your auth collection
collectionNoAuth collection name (default: 'users')
emailYesUser email
emailVisibilityNoWhether the user email is publicly visible (default: false)
passwordYesUser password
passwordConfirmYesPassword confirmation (must match password)
verifiedNoWhether the user is verified (default: false)

Implementation Reference

  • Factory function that returns the async handler for the 'create_user' tool. It creates a new user in the specified PocketBase collection with email, password, confirmation, and optional fields.
    /** * Create a new user account */ export function createCreateUserHandler(pb: PocketBase): ToolHandler { return async (args: CreateUserArgs) => { try { const collection = args.collection || "users"; const userData: any = { email: args.email, password: args.password, passwordConfirm: args.passwordConfirm, }; // Add optional fields if (args.verified !== undefined) userData.verified = args.verified; if (args.emailVisibility !== undefined) userData.emailVisibility = args.emailVisibility; // Add any additional data fields if (args.additionalData) { Object.assign(userData, args.additionalData); } const result = await pb.collection(collection).create(userData); return createJsonResponse(result); } catch (error: unknown) { throw handlePocketBaseError("create user", error); } }; }
  • JSON Schema for input validation of the 'create_user' tool parameters.
    export const createUserSchema = { type: "object", properties: { collection: { type: "string", description: "Auth collection name (default: 'users')", }, email: { type: "string", description: "User email", }, password: { type: "string", description: "User password", }, passwordConfirm: { type: "string", description: "Password confirmation (must match password)", }, verified: { type: "boolean", description: "Whether the user is verified (default: false)", }, emailVisibility: { type: "boolean", description: "Whether the user email is publicly visible (default: false)", }, additionalData: { type: "object", description: "Additional user data fields specific to your auth collection", }, }, required: ["email", "password", "passwordConfirm"], };
  • src/server.ts:157-162 (registration)
    Tool registration in the MCP server array, linking the name 'create_user' to its schema and handler.
    { name: "create_user", description: "Create a new user account", inputSchema: createUserSchema, handler: createCreateUserHandler(pb), },
  • TypeScript interface defining the shape of arguments for the create_user handler.
    export interface CreateUserArgs { collection?: string; email: string; password: string; passwordConfirm: string; verified?: boolean; emailVisibility?: boolean; additionalData?: Record<string, any>; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fadlee/pocketbase-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server