create_record
Add new records to PocketBase databases using the Model Context Protocol. Simplify data entry and ensure structured storage with predefined schemas.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server.ts:475-494 (registration)Registers the 'create_record' MCP tool with Zod input schema (collection, data) and handler that creates a new record in PocketBase using pb.collection(collection).create(data). Handles errors by returning error content.server.tool( 'create_record', { collection: z.string().describe('Collection name'), data: z.record(z.any()).describe('Record data') }, async ({ collection, data }) => { try { const result = await this.pb.collection(collection).create(data); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } catch (error: any) { return { content: [{ type: 'text', text: `Failed to create record: ${error.message}` }], isError: true }; } } );
- src/agent-simple.ts:530-556 (registration)Registers the 'create_record' tool in agent-simple.ts with input schema and handler that ensures initialization, then creates record via PocketBase SDK.this.server.tool( 'create_record', { description: 'Create a new record in a collection', inputSchema: { collection: z.string().describe('Collection name'), data: z.record(z.any()).describe('Record data') } }, async ({ collection, data }) => { await this.ensureInitialized(); if (!this.pb) { throw new Error('PocketBase not initialized'); } try { const record = await this.pb.collection(collection).create(data); return { content: [{ type: 'text', text: JSON.stringify(record, null, 2) }] }; } catch (error: any) { throw new Error(`Failed to create record: ${error.message}`); } }
- src/agent-cloudflare.ts:443-469 (registration)Registers the 'create_record' tool in Cloudflare agent with input schema and handler that creates PocketBase record and updates agent state.this.server.tool( "create_record", "Create a new record in a collection", { collection: z.string().describe('Collection name'), data: z.record(z.any()).describe('Record data') }, async ({ collection, data }) => { if (!this.pb) { throw new Error('PocketBase not initialized'); } const record = await this.pb.collection(collection).create(data); // Update activity time this.setState({ ...this.state, lastActivityTime: Date.now() }); return { content: [{ type: 'text', text: JSON.stringify(record, null, 2) }] }; }