get_profiles
Retrieve customer profiles from the Klaviyo MCP Server using customizable filters, pagination, and page size limits for efficient data management and analysis.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for profiles | |
| page_cursor | No | Cursor for pagination | |
| page_size | No | Number of profiles per page (1-100) |
Implementation Reference
- src/tools/profiles.js:13-25 (handler)The handler function for the 'get_profiles' tool. It fetches profiles from the Klaviyo API using klaviyoClient.get with the provided parameters and returns the JSON-formatted response or an error message.async (params) => { try { const profiles = await klaviyoClient.get('/profiles/', params); return { content: [{ type: "text", text: JSON.stringify(profiles, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving profiles: ${error.message}` }], isError: true }; } },
- src/tools/profiles.js:8-12 (schema)Zod schema defining the input parameters for the 'get_profiles' tool: optional filter (string), page_size (number 1-100), and page_cursor (string).{ filter: z.string().optional().describe("Filter query for profiles"), page_size: z.number().min(1).max(100).optional().describe("Number of profiles per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") },
- src/tools/profiles.js:7-27 (registration)Registration of the 'get_profiles' tool using server.tool(), including name, input schema, handler function, and description."get_profiles", { filter: z.string().optional().describe("Filter query for profiles"), page_size: z.number().min(1).max(100).optional().describe("Number of profiles per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const profiles = await klaviyoClient.get('/profiles/', params); return { content: [{ type: "text", text: JSON.stringify(profiles, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving profiles: ${error.message}` }], isError: true }; } }, { description: "Get profiles from Klaviyo" } );
- src/server.js:32-32 (registration)Invocation of registerProfileTools(server) which registers the 'get_profiles' tool among others.registerProfileTools(server);