get_record
Retrieve specific records from PocketBase databases using the Model Context Protocol, enabling precise data access and management for advanced database operations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/agent-worker-compatible.ts:396-414 (handler)Core handler logic for the get_record tool that fetches a specific record using PocketBase.collection.getOne(id)private async getRecord(collection: string, id: string) { if (!this.pb) { throw new Error('PocketBase not configured'); } try { const record = await this.pb.collection(collection).getOne(id); return { content: [ { type: "text", text: JSON.stringify(record, null, 2) } ] }; } catch (error: any) { throw new Error(`Failed to get record: ${error.message}`); } }
- src/agent-simple.ts:502-528 (handler)Inline handler and registration for get_record tool in the simple agent implementation'get_record', { description: 'Get a specific record by ID', inputSchema: { collection: z.string().describe('Collection name'), id: z.string().describe('Record ID') } }, async ({ collection, id }) => { await this.ensureInitialized(); if (!this.pb) { throw new Error('PocketBase not initialized'); } try { const record = await this.pb.collection(collection).getOne(id); return { content: [{ type: 'text', text: JSON.stringify(record, null, 2) }] }; } catch (error: any) { throw new Error(`Failed to get record: ${error.message}`); } } );
- src/agent-cloudflare.ts:420-439 (handler)Handler for get_record tool in Cloudflare agent with optional expand parameter"get_record", "Get a specific record by ID", { collection: z.string().describe('Collection name'), id: z.string().describe('Record ID'), expand: z.string().optional().describe('Relations to expand') }, async ({ collection, id, expand }) => { if (!this.pb) { throw new Error('PocketBase not initialized'); } const record = await this.pb.collection(collection).getOne(id, { expand }); return { content: [{ type: 'text', text: JSON.stringify(record, null, 2) }] }; }
- Input schema definition for the get_record tool listed in tools/list response{ name: "get_record", description: "Get a specific record by ID", inputSchema: { type: "object", properties: { collection: { type: "string", description: "Collection name" }, id: { type: "string", description: "Record ID" } }, required: ["collection", "id"] } },
- src/agent-worker-compatible.ts:136-141 (registration)Dispatch case in CallToolRequestHandler that routes get_record calls to the getRecord handlercase "get_record": { if (!args || typeof args !== "object" || typeof (args as any).collection !== "string" || typeof (args as any).id !== "string") { throw new Error("'collection' and 'id' are required and must be strings for get_record"); } return await this.getRecord((args as any).collection, (args as any).id); }