Skip to main content
Glama
DynamicEndpoints

Advanced PocketBase MCP Server

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
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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}`); } }
  • 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}`); } } );
  • 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"] } },
  • Dispatch case in CallToolRequestHandler that routes get_record calls to the getRecord handler
    case "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); }

Other Tools

Related Tools

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/DynamicEndpoints/advanced-pocketbase-mcp-server'

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