Kong Konnect MCP Server
A Model Context Protocol server enabling AI assistants to interact with Kong Konnect's API Gateway, providing tools to query analytics data, inspect configurations, and manage control planes through natural language
Install and connect
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
Identity
| Canonical slug | kong-konnect-mcp-server-bccce21f | Deployment | Local Only |
|---|---|---|---|
| Canonical package | — | Repository | Kong/mcp-konnect |
| First published | — | Latest release | — |
| Last security verification | Aug 25, 2026 | Classification confidence | 90% |
| Publication | Published | Official distribution | Yes |
Distributions
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | kong/mcp-konnect | 0f9a72bd4d05f67c6f4882f9df3449ca3ab29fda | 1 | Repository |
Current release
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitkong/mcp-konnect | 0f9a72bd4d05f67c6f4882f9df3449ca3ab29fdaCurrent | Aug 25, 2026 | 10 toolsSucceeded · 0 resources · 0 prompts | Verified clean |
Continuously monitor this MCP for security risk
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
- Independent exact-version security scans
- Continuous release and vulnerability monitoring
- Risk-change alerts with capability context
- Historical evidence and API exports
Current version evidence
| Provenance | immutable_git_commit | Signature | — |
|---|---|---|---|
| MCP SDK | — | Artifact SHA-256 | 08ef96fb3e7dd8bf127302e1e8433a6882f57c4b55dc77b6b85afa8d71d58646 |
| Scanner | mcp-proof-engine 0.1.0 | Scan completed | Aug 25, 2026 |
| Security rating | — | Methodology | — |
Current protocol inventory
Tools 10
| Tool | Category | Annotations | 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#"
} | — | — |
Resources 0
- None observed.
Resource templates 0
- None observed.
Prompts 0
- None observed.
Remote endpoints
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Kong Konnect MCP Server questions
How do I install Kong Konnect MCP Server?
No verified package installation command is available in the retained catalog evidence.
What tools does Kong Konnect MCP Server provide?
Kong Konnect MCP Server exposed 10 tools during independent protocol observation, including check_control_plane_group_membership, get_consumer_requests, get_control_plane, list_consumers, list_control_plane_group_memberships, list_control_planes, list_plugins, list_routes, and others.
Is Kong Konnect MCP Server secure?
Our scanner tested version 0f9a72bd4d05f67c6f4882f9df3449ca3ab29fda without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.
Explore related MCP server guides
Curated product and capability guides containing this catalog record.