get_events
Retrieve marketing events from Klaviyo using filters and pagination for data analysis and automation workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for events | |
| page_size | No | Number of events per page (1-100) | |
| page_cursor | No | Cursor for pagination |
Implementation Reference
- src/tools/events.js:13-25 (handler)The main handler function for the 'get_events' tool. It fetches events from the Klaviyo API using klaviyoClient.get with the provided parameters, stringifies the response as JSON, and returns it in the expected format. Handles errors by returning an error message.async (params) => { try { const events = await klaviyoClient.get('/events/', params); return { content: [{ type: "text", text: JSON.stringify(events, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving events: ${error.message}` }], isError: true }; } },
- src/tools/events.js:8-12 (schema)Zod schema for input validation of the 'get_events' tool parameters: optional filter string, page_size (number 1-100), and page_cursor string.{ filter: z.string().optional().describe("Filter query for events"), page_size: z.number().min(1).max(100).optional().describe("Number of events per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") },
- src/tools/events.js:6-27 (registration)The server.tool call that registers the 'get_events' tool, specifying name, input schema, handler function, and description. This function is invoked via registerEventTools(server) in src/server.js.server.tool( "get_events", { filter: z.string().optional().describe("Filter query for events"), page_size: z.number().min(1).max(100).optional().describe("Number of events per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const events = await klaviyoClient.get('/events/', params); return { content: [{ type: "text", text: JSON.stringify(events, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving events: ${error.message}` }], isError: true }; } }, { description: "Get events from Klaviyo" } );
- src/server.js:35-35 (registration)Call to registerEventTools which includes the registration of the 'get_events' tool on the MCP server.registerEventTools(server);