Skip to main content
Glama

get_coupons

Retrieve coupon data from Klaviyo using filters and pagination to manage marketing promotions and track discount performance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoFilter query for coupons
page_sizeNoNumber of coupons per page (1-100)
page_cursorNoCursor for pagination

Implementation Reference

  • Handler function for the 'get_coupons' tool. Fetches coupons from the Klaviyo API using the klaviyoClient, formats the response as JSON text, and handles errors.
    async (params) => {
      try {
        const coupons = await klaviyoClient.get('/coupons/', params);
        return {
          content: [{ type: "text", text: JSON.stringify(coupons, null, 2) }]
        };
      } catch (error) {
        return {
          content: [{ type: "text", text: `Error retrieving coupons: ${error.message}` }],
          isError: true
        };
      }
    },
  • Zod input schema defining optional parameters for the 'get_coupons' tool: filter (string), page_size (number 1-100), page_cursor (string).
    {
      filter: z.string().optional().describe("Filter query for coupons"),
      page_size: z.number().min(1).max(100).optional().describe("Number of coupons per page (1-100)"),
      page_cursor: z.string().optional().describe("Cursor for pagination")
    },
  • Direct registration of the 'get_coupons' tool using server.tool(), including schema, handler, and description.
    server.tool(
      "get_coupons",
      {
        filter: z.string().optional().describe("Filter query for coupons"),
        page_size: z.number().min(1).max(100).optional().describe("Number of coupons per page (1-100)"),
        page_cursor: z.string().optional().describe("Cursor for pagination")
      },
      async (params) => {
        try {
          const coupons = await klaviyoClient.get('/coupons/', params);
          return {
            content: [{ type: "text", text: JSON.stringify(coupons, null, 2) }]
          };
        } catch (error) {
          return {
            content: [{ type: "text", text: `Error retrieving coupons: ${error.message}` }],
            isError: true
          };
        }
      },
      { description: "Get coupons from Klaviyo" }
    );
  • src/server.js:45-45 (registration)
    Top-level call to registerCouponTools(server), which in turn registers the 'get_coupons' tool among others.
    registerCouponTools(server);
  • src/server.js:16-16 (registration)
    Import of registerCouponTools function used to register coupon tools including 'get_coupons'.
    import { registerCouponTools } from './tools/coupons.js';

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/ivan-rivera-projects/Klaviyo-MCP-Server-Enhanced'

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