Skip to main content
Glama
Kong

Kong Konnect MCP Server

Official
by Kong

list_consumers

Retrieve and manage all consumers associated with a specific control plane in Kong Konnect, with pagination support for handling large datasets.

Instructions

List all consumers associated with a control plane.

INPUT:

  • controlPlaneId: String - ID of the control plane

  • size: Number - Number of consumers to return (1-1000, default: 100)

  • offset: String (optional) - Pagination offset token from previous response

OUTPUT:

  • metadata: Object - Contains controlPlaneId, size, offset, nextOffset, totalCount

  • consumers: Array - List of consumers with details for each including:

    • consumerId: String - Unique identifier for the consumer

    • username: String - Username for this consumer

    • customId: String - Custom identifier for this consumer

    • tags: Array - Tags associated with the consumer

    • enabled: Boolean - Whether the consumer is enabled

    • metadata: Object - Creation and update timestamps

  • relatedTools: Array - List of related tools for consumer analysis

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
controlPlaneIdYesControl Plane ID (obtainable from list-control-planes tool)
sizeNoNumber of consumers to return
offsetNoOffset token for pagination (from previous response)

Implementation Reference

  • Core handler function that executes the list_consumers tool logic: calls the Kong API and transforms the raw response into a structured output with metadata, formatted consumers list, and related tools suggestions.
    export async function listConsumers( api: KongApi, controlPlaneId: string, size = 100, offset?: string ) { try { const result = await api.listConsumers(controlPlaneId, size, offset); // Transform the response to have consistent field names return { metadata: { controlPlaneId: controlPlaneId, size: size, offset: offset || null, nextOffset: result.offset, totalCount: result.total }, consumers: result.data.map((consumer: any) => ({ consumerId: consumer.id, username: consumer.username, customId: consumer.custom_id, tags: consumer.tags, enabled: consumer.enabled, metadata: { createdAt: consumer.created_at, updatedAt: consumer.updated_at } })), relatedTools: [ "Use get-consumer-requests to analyze traffic for a specific consumer", "Use list-plugins to see plugins configured for these consumers", "Use query-api-requests to identify consumers with high error rates" ] }; } catch (error) { throw error; } }
  • src/tools.ts:49-55 (registration)
    Tool specification registration in the tools() array, defining the method name, name, description prompt, parameters schema, and category for the list_consumers tool.
    { method: "list_consumers", name: "List Consumers", description: prompts.listConsumersPrompt(), parameters: parameters.listConsumersParameters(), category: "configuration" },
  • Zod schema defining the input parameters and validation for the list_consumers tool, including controlPlaneId, size, and optional offset.
    export const listConsumersParameters = () => z.object({ controlPlaneId: z.string() .describe("Control Plane ID (obtainable from list-control-planes tool)"), size: z.number().int() .min(1).max(1000) .default(100) .describe("Number of consumers to return"), offset: z.string() .optional() .describe("Offset token for pagination (from previous response)"), });
  • MCP server tool handler dispatch case that routes list_consumers tool invocations to the configuration.listConsumers handler.
    case "list_consumers": result = await configuration.listConsumers( this.api, args.controlPlaneId, args.size, args.offset );
  • Low-level API helper that constructs and executes the HTTP request to Kong's consumers list endpoint.
    async listConsumers(controlPlaneId: string, size = 100, offset?: string): Promise<any> { let endpoint = `/control-planes/${controlPlaneId}/core-entities/consumers?size=${size}`; if (offset) { endpoint += `&offset=${offset}`; } return this.kongRequest<any>(endpoint); }

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/Kong/mcp-konnect'

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