by Kong
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.
mcp-konnect is a Model Context Protocol (MCP) server designed to enable AI assistants, such as Claude, to interact with Kong Konnect APIs. It allows these AI assistants to query and analyze Kong Gateway configurations, traffic, and analytics data through natural language conversations.
To use mcp-konnect, you need to:
npm install
), and build the project (npm run build
).KONNECT_ACCESS_TOKEN
environment variable with your Kong Konnect API key. Optionally, set KONNECT_REGION
.mcpServers
section in your claude_desktop_config.json
file, pointing to the index.js
build file and providing your API key and region. Restart Claude Desktop to enable the tools.Q: What are the prerequisites for running mcp-konnect? A: You need Node.js 20 or higher, a Kong Konnect account with API access, and a client with MCP capabilities (e.g., Claude Desktop).
Q: How do I configure my Kong Konnect API key?
A: You need to set the KONNECT_ACCESS_TOKEN
environment variable with your Kong Konnect API key. Optionally, you can also set KONNECT_REGION
.
Q: What should I do if I encounter connection or authentication errors? A: Verify your API key is valid and has necessary permissions, check the API region, ensure network connectivity to Kong Konnect API, and regenerate your API key if needed.
Q: What if the data I'm looking for is not found? A: Verify the IDs used in your requests are correct, ensure the resources exist in the specified control plane, and check that time ranges are valid for analytics queries.
Q: Can I add new tools to mcp-konnect? A: Yes, the project structure supports adding new tools by defining parameters, documentation, operation logic, and registering the tool.
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.
https://github.com/user-attachments/assets/19c2f716-49b5-46c3-9457-65b3784e2111
This project provides a Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Kong Konnect's API Gateway. It offers a set of tools to query analytics data, inspect configuration details, and manage control planes through natural language conversation.
Key features:
Konnect MCP is a work in progress and we will be adding additional functionality and improvements with each release.
src/
├── index.ts # Main entry point
├── api.ts # Kong API client
├── tools.ts # Tool definitions
├── parameters.ts # Zod schemas for tool parameters
├── prompts.ts # Detailed tool documentation
├── operations/
│ ├── analytics.ts # API request analytics operations
│ ├── configuration.ts # Services, routes, consumers, plugins
│ └── controlPlanes.ts # Control plane management
└── types.ts # Common type definitions
# Clone the repository
git clone https://github.com/Kong/mcp-konnect.git
cd mcp-konnect
# Install dependencies
npm install
# Build the project
npm run build
Set the following environment variables to configure the MCP server:
# Required: Your Kong Konnect API key
export KONNECT_ACCESS_TOKEN=kpat_api_key_here
# Optional: The API region to use (defaults to US)
# Possible values: US, EU, AU, ME, IN
export KONNECT_REGION=us
The server provides tools organized in three categories:
Query and analyze Kong API Gateway requests with customizable filters.
Inputs:
- timeRange: Time range for data retrieval (15M, 1H, 6H, 12H, 24H, 7D)
- statusCodes: Filter by specific HTTP status codes
- excludeStatusCodes: Exclude specific HTTP status codes
- httpMethods: Filter by HTTP methods
- consumerIds: Filter by consumer IDs
- serviceIds: Filter by service IDs
- routeIds: Filter by route IDs
- maxResults: Maximum number of results to return
Analyze API requests made by a specific consumer.
Inputs:
- consumerId: ID of the consumer to analyze
- timeRange: Time range for data retrieval
- successOnly: Show only successful (2xx) requests
- failureOnly: Show only failed (non-2xx) requests
- maxResults: Maximum number of results to return
List all services associated with a control plane.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of services to return
- offset: Pagination offset token
List all routes associated with a control plane.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of routes to return
- offset: Pagination offset token
List all consumers associated with a control plane.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of consumers to return
- offset: Pagination offset token
List all plugins associated with a control plane.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of plugins to return
- offset: Pagination offset token
List all control planes in your organization.
Inputs:
- pageSize: Number of control planes per page
- pageNumber: Page number to retrieve
- filterName: Filter control planes by name
- filterClusterType: Filter by cluster type
- filterCloudGateway: Filter by cloud gateway capability
- labels: Filter by labels
- sort: Sort field and direction
Get detailed information about a specific control plane.
Inputs:
- controlPlaneId: ID of the control plane to retrieve
List all control planes that are members of a specific group.
Inputs:
- groupId: Control plane group ID
- pageSize: Number of members to return per page
- pageAfter: Cursor for pagination
Check if a control plane is a member of any group.
Inputs:
- controlPlaneId: Control plane ID to check
To use this MCP server with Claude for Desktop:
Install Claude for Desktop
Create or edit the Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the following configuration:
{
"mcpServers": {
"kong-konnect": {
"command": "node",
"args": [
"/absolute/path/to/mcp-konnect/build/index.js"
],
"env": {
"KONNECT_ACCESS_TOKEN": "kpat_api_key_here",
"KONNECT_REGION": "us"
}
}
}
}
First, list all control planes:
Please list all control planes in my Kong Konnect organization.
Then, list services for a specific control plane:
List all services for control plane [CONTROL_PLANE_NAME/ID].
Query API requests for a specific service:
Show me all API requests for service [SERVICE_NAME/ID] in the last hour that had 5xx status codes.
List consumers for a control plane:
List all consumers for control plane [CONTROL_PLANE_NAME/ID].
Analyze requests for a specific consumer:
Show me all requests made by consumer [CONSUMER_NAME/ID] in the last 24 hours.
Check for common errors or patterns:
What are the most common errors experienced by this consumer?
parameters.ts
prompts.ts
operations/
tools.ts
index.ts
Connection Errors
Authentication Errors
Data Not Found
Built by Kong. Inspired by Stripe's Agent Toolkit.
Please log in to share your review and rating for this MCP.