A Model Context Protocol (MCP) server for interacting with Kong Konnect APIs, allowing AI assistants to query and analyze Kong Gateway configurations, traffic, and analytics.
Check if a control plane is a member of any group.
INPUT:
controlPlaneId: String - ID of the control plane to check
OUTPUT:
controlPlaneId: String - ID of the control plane that was checked
groupMembership: Object - Membership information including:
isMember: Boolean - Whether the control plane is a member of any group
groupId: String - ID of the group this control plane belongs to (if any)
groupName: String - Name of the group this control plane belongs to
status: String - Membership status (OK, CONFLICT, etc.)
message: String - Status message
conflicts: Array - List of configuration conflicts if any
relatedTools: Array - List of related tools for group management
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control plane ID to check (can be obtained from list-control-planes tool)
Retrieve and analyze API requests made by a specific consumer.
INPUT:
consumerId: String - ID of the consumer to analyze. The format of this field must be "controlPlaneID:consumerId".
timeRange: String - Time range for data retrieval (15M, 1H, 6H, 12H, 24H, 7D)
successOnly: Boolean - Filter to only show successful (2xx) requests (default: false)
failureOnly: Boolean - Filter to only show failed (non-2xx) requests (default: false)
maxResults: Number - Maximum number of results to return (1-1000)
OUTPUT:
metadata: Object - Contains consumerId, totalRequests, timeRange, and filters
statistics: Object - Usage statistics including:
averageLatencyMs: Number - Average response time in milliseconds
successRate: Number - Percentage of successful requests
statusCodeDistribution: Array - Breakdown of requests by status code
serviceDistribution: Array - Breakdown of requests by service
requests: Array - List of requests with details for each request
Parameters|Type|Description
-|-|-
consumerId|string|Consumer ID to filter by (obtainable from analyze-failed-requests or query-api-requests tools)
failureOnly|booleanoptional|Show only failed (non-2xx) requests
maxResults|integeroptional|Number of items to return per page
successOnly|booleanoptional|Show only successful (2xx) requests
timeRange|stringoptional|Time range for data retrieval (15M = 15 minutes, 1H = 1 hour, etc.)
Get detailed information about a specific control plane.
INPUT:
controlPlaneId: String - ID of the control plane to retrieve
OUTPUT:
controlPlaneDetails: Object - Detailed information including:
controlPlaneId: String - Unique identifier for the control plane
name: String - Display name of the control plane
description: String - Description of the control plane
type: String - Type of the control plane
clusterType: String - Underlying cluster type
controlPlaneEndpoint: String - URL endpoint for the control plane
telemetryEndpoint: String - URL endpoint for telemetry
hasCloudGateway: Boolean - Whether cloud gateway is enabled
labels: Object - Labels assigned to this control plane
metadata: Object - Creation and update timestamps
relatedTools: Array - List of related tools for further analysis
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control Plane ID (obtainable from list-control-planes tool)
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
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control Plane ID (obtainable from list-control-planes tool)
offset|stringoptional|Offset token for pagination (from previous response)
size|integeroptional|Number of consumers to return
members: Array - List of member control planes with details for each including:
controlPlaneId: String - Unique identifier for the control plane
name: String - Display name of the control plane
description: String - Description of the control plane
type: String - Type of the control plane
clusterType: String - Underlying cluster type
membershipStatus: Object - Group membership status including:
status: String - Current status (OK, CONFLICT, etc.)
message: String - Status message
conflicts: Array - List of configuration conflicts if any
metadata: Object - Creation and update timestamps
relatedTools: Array - List of related tools for group management
Parameters|Type|Description
-|-|-
groupId|string|Control plane group ID (the ID of the control plane that acts as the group)
pageAfter|stringoptional|Cursor for pagination after a specific item
pageSize|integeroptional|Number of members to return per page
controlPlanes: Array - List of control planes with details for each including:
controlPlaneId: String - Unique identifier for the control plane
name: String - Display name of the control plane
description: String - Description of the control plane
type: String - Type of the control plane
clusterType: String - Underlying cluster type
controlPlaneEndpoint: String - URL endpoint for the control plane
telemetryEndpoint: String - URL endpoint for telemetry
hasCloudGateway: Boolean - Whether cloud gateway is enabled
labels: Object - Labels assigned to this control plane
metadata: Object - Creation and update timestamps
usage: Object - Information about how to use these results
Parameters|Type|Description
-|-|-
filterCloudGateway|booleanoptional|Filter by cloud gateway capability
filterClusterType|stringoptional|Filter by cluster type (e.g., 'kubernetes', 'docker')
filterName|stringoptional|Filter control planes by name (contains)
labels|stringoptional|Filter by labels (format: 'key:value,existCheck')
pageNumber|integeroptional|Page number to retrieve
pageSize|integeroptional|Number of control planes per page
sort|stringoptional|Sort field and direction (e.g. 'name,created_at desc')
plugins: Array - List of plugins with details for each including:
pluginId: String - Unique identifier for the plugin
name: String - Name of the plugin (e.g., rate-limiting, cors, etc.)
enabled: Boolean - Whether the plugin is enabled
config: Object - Plugin-specific configuration
protocols: Array - Protocols this plugin applies to
tags: Array - Tags associated with the plugin
scoping: Object - Defines plugin scope including:
consumerId: String - Consumer this plugin applies to (if any)
serviceId: String - Service this plugin applies to (if any)
routeId: String - Route this plugin applies to (if any)
global: Boolean - Whether this is a global plugin
metadata: Object - Creation and update timestamps
relatedTools: Array - List of related tools for plugin configuration
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control Plane ID (obtainable from list-control-planes tool)
offset|stringoptional|Offset token for pagination (from previous response)
size|integeroptional|Number of plugins to return
stripPath: Boolean - Whether to strip the matched path prefix
preserveHost: Boolean - Whether to preserve the host header
serviceId: String - ID of the service this route forwards to
enabled: Boolean - Whether the route is enabled
metadata: Object - Creation and update timestamps
relatedTools: Array - List of related tools for further analysis
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control Plane ID (obtainable from list-control-planes tool)
offset|stringoptional|Offset token for pagination (from previous response)
size|integeroptional|Number of routes to return
services: Array - List of services with details for each including:
serviceId: String - Unique identifier for the service
name: String - Display name of the service
host: String - Target host for the service
port: Number - Target port for the service
protocol: String - Protocol used (http, https, grpc, etc.)
path: String - Path prefix for the service
retries: Number - Number of retries on failure
connectTimeout: Number - Connection timeout in milliseconds
writeTimeout: Number - Write timeout in milliseconds
readTimeout: Number - Read timeout in milliseconds
tags: Array - Tags associated with the service
enabled: Boolean - Whether the service is enabled
metadata: Object - Creation and update timestamps
relatedTools: Array - List of related tools for further analysis
Parameters|Type|Description
-|-|-
controlPlaneId|string|Control Plane ID (obtainable from list-control-planes tool)
offset|stringoptional|Offset token for pagination (from previous response)
size|integeroptional|Number of services to return
Query and analyze Kong API Gateway requests with customizable filters.
Before calling this it's necessary to have a controlPlaneID and a serviceID or routeID.
These can be obtained using the list-control-planes, list-services, and list-routes tools.
INPUT:
timeRange: String - Time range for data retrieval (15M, 1H, 6H, 12H, 24H, 7D)
statusCodes: Number[] (optional) - Filter by specific HTTP status codes
excludeStatusCodes: Number[] (optional) - Exclude specific HTTP status codes
consumerIds: String[] (optional) - Filter by consumer IDs
serviceIds: String[] (optional) - Filter by service IDs. The format of this field must be ":".
routeIds: String[] (optional) - Filter by route IDs. The format of this field must be "controlPlaneID:routeID"
maxResults: Number - Maximum number of results to return (1-1000)
OUTPUT:
metadata: Object - Contains totalRequests, timeRange, and applied filters
requests: Array - List of request objects with details including:
requestId: String - Unique request identifier
timestamp: String - When the request occurred
httpMethod: String - HTTP method used (GET, POST, etc.)
uri: String - Request URI path
statusCode: Number - HTTP status code of the response
consumerId: String - ID of the consumer making the request
serviceId: String - ID of the service handling the request
routeId: String - ID of the matched route
latency: Object - Response time metrics
clientIp: String - IP address of the client
and many more detailed fields...
Parameters|Type|Description
-|-|-
consumerIds|arrayoptional|Filter by consumer IDs
excludeStatusCodes|arrayoptional|Exclude specific HTTP status codes (e.g. [400, 401, 500])
httpMethods|arrayoptional|Filter by HTTP methods (e.g. ['GET', 'POST', 'DELETE'])
maxResults|integeroptional|Number of items to return per page
routeIds|arrayoptional|Filter by route IDs (from list-routes tool)
serviceIds|arrayoptional|Filter by service IDs
statusCodes|arrayoptional|Filter by specific HTTP status codes (e.g. [200, 201, 404])
timeRange|stringoptional|Time range for data retrieval (15M = 15 minutes, 1H = 1 hour, etc.)