0f9a72bd4d05f67c6f4882f9df3449ca3ab29fdasource_git · kong/mcp-konnect · latest release
Observed 2026-08-25T08:43:50.174Z using mcpSecurity-inventory. Protocol 2025-06-18.
| Tool | Category | Risk |
|---|---|---|
check_control_plane_group_membership
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
Input schema{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control plane ID to check (can be obtained from list-control-planes tool)"
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
get_consumer_requests
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
Input schema{
"type": "object",
"properties": {
"consumerId": {
"type": "string",
"description": "Consumer ID to filter by (obtainable from analyze-failed-requests or query-api-requests tools)"
},
"timeRange": {
"type": "string",
"enum": [
"15M",
"1H",
"6H",
"12H",
"24H",
"7D"
],
"default": "1H",
"description": "Time range for data retrieval (15M = 15 minutes, 1H = 1 hour, etc.)"
},
"successOnly": {
"type": "boolean",
"default": false,
"description": "Show only successful (2xx) requests"
},
"failureOnly": {
"type": "boolean",
"default": false,
"description": "Show only failed (non-2xx) requests"
},
"maxResults": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of items to return per page"
}
},
"required": [
"consumerId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
get_control_plane
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
Input schema{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control Plane ID (obtainable from list-control-planes tool)"
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_consumers
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{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control Plane ID (obtainable from list-control-planes tool)"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of consumers to return"
},
"offset": {
"type": "string",
"description": "Offset token for pagination (from previous response)"
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_control_plane_group_memberships
List all control planes that are members of a specific control plane group.
INPUT:
- groupId: String - ID of the control plane group (control plane that acts as the group)
- pageSize: Number - Number of members to return per page (1-1000, default: 10)
- pageAfter: String (optional) - Cursor for pagination after a specific item
OUTPUT:
- metadata: Object - Contains groupId, pageSize, pageAfter, nextPageAfter, totalCount
- 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
Input schema{
"type": "object",
"properties": {
"groupId": {
"type": "string",
"format": "uuid",
"description": "Control plane group ID (the ID of the control plane that acts as the group)"
},
"pageSize": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 10,
"description": "Number of members to return per page"
},
"pageAfter": {
"type": "string",
"description": "Cursor for pagination after a specific item"
}
},
"required": [
"groupId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_control_planes
List all control planes in your organization.
INPUT:
- pageSize: Number - Number of control planes per page (1-1000, default: 10)
- pageNumber: Number (optional) - Page number to retrieve
- filterName: String (optional) - Filter control planes by name
- filterClusterType: String (optional) - Filter by cluster type (kubernetes, docker, etc.)
- filterCloudGateway: Boolean (optional) - Filter by cloud gateway capability
- labels: String (optional) - Filter by labels (format: 'key:value,existCheck')
- sort: String (optional) - Sort field and direction (e.g. 'name,created_at desc')
OUTPUT:
- metadata: Object - Contains pageSize, pageNumber, totalPages, totalCount, filters, sort
- 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
Input schema{
"type": "object",
"properties": {
"pageSize": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 10,
"description": "Number of control planes per page"
},
"pageNumber": {
"type": "integer",
"minimum": 1,
"description": "Page number to retrieve"
},
"filterName": {
"type": "string",
"description": "Filter control planes by name (contains)"
},
"filterClusterType": {
"type": "string",
"description": "Filter by cluster type (e.g., 'kubernetes', 'docker')"
},
"filterCloudGateway": {
"type": "boolean",
"description": "Filter by cloud gateway capability"
},
"labels": {
"type": "string",
"description": "Filter by labels (format: 'key:value,existCheck')"
},
"sort": {
"type": "string",
"description": "Sort field and direction (e.g. 'name,created_at desc')"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_plugins
List all plugins associated with a control plane.
INPUT:
- controlPlaneId: String - ID of the control plane
- size: Number - Number of plugins to return (1-1000, default: 100)
- offset: String (optional) - Pagination offset token from previous response
- includeRawConfig: Boolean - Requests raw plugin configuration values. Defaults to false and only takes effect when the server policy env var allows raw config responses.
OUTPUT:
- metadata: Object - Contains controlPlaneId, size, offset, nextOffset, totalCount, raw-config policy flags, and warnings when applicable
- 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
- configIncluded: Boolean - Whether raw config values were included
- configKeys: Array - Returned by default to summarize configuration without exposing raw values
- configEntryCount: Number - Returned by default to summarize configuration size
- config: Object - Raw plugin-specific configuration, only when includeRawConfig is explicitly true and server policy allows it
- 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
Raw config is excluded by default. Raw config is only returned when includeRawConfig is explicitly true and the server is configured with KONNECT_ALLOW_RAW_PLUGIN_CONFIG=true. Even then, plugin configuration may contain sensitive values.
Input schema{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control Plane ID (obtainable from list-control-planes tool)"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of plugins to return"
},
"offset": {
"type": "string",
"description": "Offset token for pagination (from previous response)"
},
"includeRawConfig": {
"type": "boolean",
"default": false,
"description": "Include raw plugin configuration values. Disabled by default because configuration may contain sensitive data."
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_routes
List all routes associated with a control plane.
INPUT:
- controlPlaneId: String - ID of the control plane
- size: Number - Number of routes to return (1-1000, default: 100)
- offset: String (optional) - Pagination offset token from previous response
OUTPUT:
- metadata: Object - Contains controlPlaneId, size, offset, nextOffset, totalCount
- routes: Array - List of routes with details for each including:
- routeId: String - Unique identifier for the route
- name: String - Display name of the route
- protocols: Array - Protocols this route accepts (http, https, grpc, etc.)
- methods: Array - HTTP methods this route accepts
- hosts: Array - Hostnames this route matches
- paths: Array - URL paths this route matches
- 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
Input schema{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control Plane ID (obtainable from list-control-planes tool)"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of routes to return"
},
"offset": {
"type": "string",
"description": "Offset token for pagination (from previous response)"
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
list_services
List all services associated with a control plane.
INPUT:
- controlPlaneId: String - ID of the control plane
- size: Number - Number of services to return (1-1000, default: 100)
- offset: String (optional) - Pagination offset token from previous response
OUTPUT:
- metadata: Object - Contains controlPlaneId, size, offset, nextOffset, totalCount
- 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
Input schema{
"type": "object",
"properties": {
"controlPlaneId": {
"type": "string",
"format": "uuid",
"description": "Control Plane ID (obtainable from list-control-planes tool)"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of services to return"
},
"offset": {
"type": "string",
"description": "Offset token for pagination (from previous response)"
}
},
"required": [
"controlPlaneId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
query_api_requests
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
- httpMethods: String[] (optional) - Filter by HTTP methods (e.g., GET, POST)
- consumerIds: String[] (optional) - Filter by consumer IDs
- serviceIds: String[] (optional) - Filter by service IDs. The format of this field must be "<controlPlaneID>:<serviceID>".
- 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...
Input schema{
"type": "object",
"properties": {
"timeRange": {
"type": "string",
"enum": [
"15M",
"1H",
"6H",
"12H",
"24H",
"7D"
],
"default": "1H",
"description": "Time range for data retrieval (15M = 15 minutes, 1H = 1 hour, etc.)"
},
"statusCodes": {
"type": "array",
"items": {
"type": "integer",
"minimum": 100,
"maximum": 599
},
"description": "Filter by specific HTTP status codes (e.g. [200, 201, 404])"
},
"excludeStatusCodes": {
"type": "array",
"items": {
"type": "integer",
"minimum": 100,
"maximum": 599
},
"description": "Exclude specific HTTP status codes (e.g. [400, 401, 500])"
},
"httpMethods": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by HTTP methods (e.g. ['GET', 'POST', 'DELETE'])"
},
"consumerIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by consumer IDs"
},
"serviceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by service IDs"
},
"routeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by route IDs (from list-routes tool)"
},
"maxResults": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Number of items to return per page"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — |
Compared with initial baseline using full_baseline.
| Risk | Change | Subject |
|---|---|---|
| No material changes recorded. | ||
| Severity | Finding | Advisory |
|---|---|---|
| No confirmed vulnerability is published for this version. | ||
Artifact SHA-256: 08ef96fb3e7dd8bf127302e1e8433a6882f57c4b55dc77b6b85afa8d71d58646
Scanner: mcp-proof-engine 0.1.0.