Kong Konnect MCP Server
Official> [!WARNING]
> ## ⚠️ This Repository is Deprecated
>
> **This project is no longer actively maintained and will be archived as read-only.**
>
> No further updates, bug fixes, or new features will be made. Issues and pull requests are no longer monitored.
>
> If you're looking for Kong Konnect MCP support, please check the [Konnect remote MCP server](https://developer.konghq.com/konnect-platform/konnect-mcp/).
---
# Kong Konnect MCP Server


> **Note:** This repository is deprecated and will soon be archived as read-only. See the notice above for details.
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.
## Table of Contents
- [Overview](#overview)
- [Project Structure](#project-structure)
- [Installation](#installation)
- [Configuration](#configuration)
- [Available Tools](#available-tools)
- [Analytics Tools](#analytics-tools)
- [Configuration Tools](#configuration-tools)
- [Control Planes Tools](#control-planes-tools)
- [Usage with Claude](#usage-with-claude)
- [Example Workflows](#example-workflows)
- [Development](#development)
- [Troubleshooting](#troubleshooting)
## Overview
> **⚠️ Deprecated:** This project is no longer maintained. The information below is preserved for reference only.
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:
- Query API request analytics with customizable filters
- List and inspect gateway services, routes, consumers, and plugins
- Manage control planes and control plane groups
- Integration with Claude and other MCP-compatible AI assistants
## Project Structure
```
build/ # Committed compiled JavaScript output used by the release/distribution flow
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
```
## Installation
> **Note:** As this project is deprecated, no support is provided for installation issues.
### Prerequisites
- Node.js 20 or higher
- A Kong Konnect account with API access
- A client with MCP capabilities (e.g. Claude Desktop, Cursor, etc...)
### Setup
```bash
# Clone the repository
git clone https://github.com/Kong/mcp-konnect.git
cd mcp-konnect
# Install dependencies
npm install
# Run the test suite (also rebuilds compiled output)
npm test
# Rebuild the committed build artifacts after changing src/
npm run build
```
The repository includes committed files under `build/` as part of its distribution model. If you modify files in `src/`, regenerate `build/` before committing or publishing changes.
## Configuration
Set the following environment variables to configure the MCP server:
```bash
# 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
```
## Available Tools
The server provides tools organized in three categories:
### Analytics Tools
#### Query API Requests
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
```
#### Get Consumer Requests
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
```
### Configuration Tools
#### List Services
List all services associated with a control plane.
```
Inputs:
- controlPlaneId: Control plane ID
- size: Number of services to return
- offset: Pagination offset token
```
#### List Routes
List all routes associated with a control plane.
```
Inputs:
- controlPlaneId: Control plane ID
- size: Number of routes to return
- offset: Pagination offset token
```
#### List Consumers
List all consumers associated with a control plane.
```
Inputs:
- controlPlaneId: Control plane ID
- size: Number of consumers to return
- offset: Pagination offset token
```
#### List Plugins
List all plugins associated with a control plane.
```
Inputs:
- controlPlaneId: Control plane ID
- size: Number of plugins to return
- offset: Pagination offset token
- includeRawConfig: Set to true to include raw plugin configuration values (defaults to false)
```
### Control Planes Tools
#### List Control Planes
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 Control Plane
Get detailed information about a specific control plane.
```
Inputs:
- controlPlaneId: Control plane ID to retrieve
```
#### List Control Plane Group Memberships
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 Control Plane Group Membership
Check if a control plane is a member of any group.
```
Inputs:
- controlPlaneId: Control plane ID to check
```
## Usage with Claude
> **Note:** This configuration is provided for historical reference. No support is available for setup issues.
To use this MCP server with Claude for Desktop:
1. Install [Claude for Desktop](https://claude.ai/download)
2. Create or edit the Claude Desktop configuration file:
- MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
3. Add the following configuration:
```json
{
"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"
}
}
}
}
```
4. Restart Claude for Desktop
5. The Kong Konnect tools will now be available for Claude to use
## Example Workflows
### Analyzing API Traffic
1. First, list all control planes:
```
Please list all control planes in my Kong Konnect organization.
```
2. Then, list services for a specific control plane:
```
List all services for control plane [CONTROL_PLANE_ID].
```
3. 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.
```
### Troubleshooting Consumer Issues
1. List consumers for a control plane:
```
List all consumers for control plane [CONTROL_PLANE_ID].
```
2. Analyze requests for a specific consumer:
```
Show me all requests made by consumer [CONSUMER_NAME/ID] in the last 24 hours.
```
3. Check for common errors or patterns:
```
What are the most common errors experienced by this consumer?
```
## Development
> **⚠️ This project is no longer accepting contributions.** The repository will be archived as read-only. Pull requests and issues will not be reviewed or merged.
Historical development notes:
- `npm test` runs the TypeScript build and the repository test suite.
- `build/` is a committed generated artifact in this repository and should be regenerated with `npm run build` after changes to `src/`.
## Troubleshooting
> **Note:** No support is provided for this deprecated project. The information below is preserved for reference only.
### Common Issues
**Connection Errors**
- Verify your API key is valid and has the necessary permissions
- Check that the API region is correctly specified
- Ensure your network can connect to the Kong Konnect API
**Authentication Errors**
- Regenerate your API key in the Kong Konnect portal
- Check that environment variables are correctly set
**Data Not Found**
- Verify the IDs used in requests are correct
- Check that the resources exist in the specified control plane
- Ensure time ranges are valid for analytics queries
## Credits
Built by Kong. Originally inspired by Stripe's [Agent Toolkit](https://github.com/stripe/agent-toolkit).
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose targeting a specific resource (e.g., control planes, consumers, plugins) or action (check, get, list, query), with no overlapping functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_control_planes, get_control_plane, query_api_requests), with no deviations.
With 10 tools, the set is well-scoped for managing Kong Konnect resources, covering control planes, consumers, plugins, routes, services, and API analytics without being overly large or sparse.
The tool set is read-only (only get, list, check, query operations), lacking any create, update, or delete operations for the managed resources, which is a significant gap for full lifecycle management typically expected in an API management context.