Servidor MCP de Kong Konnect
Un servidor de Protocolo de contexto de modelo (MCP) para interactuar con las API de Kong Konnect, lo que permite a los asistentes de IA consultar y analizar configuraciones, tráfico y análisis de Kong Gateway.
https://github.com/user-attachments/assets/19c2f716-49b5-46c3-9457-65b3784e2111
Tabla de contenido
Related MCP server: Kubectl MCP Tool
Descripción general
Este proyecto proporciona un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA como Claude interactuar con la API Gateway de Kong Konnect. Ofrece un conjunto de herramientas para consultar datos analíticos, inspeccionar detalles de configuración y gestionar planos de control mediante lenguaje natural.
Características principales:
Análisis de solicitudes de API de consulta con filtros personalizables
Enumerar e inspeccionar servicios de puerta de enlace, rutas, consumidores y complementos
Administrar planos de control y grupos de planos de control
Integración con Claude y otros asistentes de IA compatibles con MCP
Konnect MCP es un trabajo en progreso y agregaremos funcionalidades y mejoras adicionales con cada lanzamiento.
Estructura del proyecto
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 definitionsInstalación
Prerrequisitos
Node.js 20 o superior
Una cuenta de Kong Konnect con acceso a la API
Un cliente con capacidades MCP (por ejemplo, Claude Desktop, Cursor, etc.)
Configuración
# Clone the repository
git clone https://github.com/Kong/mcp-konnect.git
cd mcp-konnect
# Install dependencies
npm install
# Build the project
npm run buildConfiguración
Establezca las siguientes variables de entorno para configurar el servidor MCP:
# 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=usHerramientas disponibles
El servidor proporciona herramientas organizadas en tres categorías:
Herramientas de análisis
Solicitudes de API de consulta
Consulte y analice las solicitudes de Kong API Gateway con filtros personalizables.
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 returnObtener solicitudes de consumidores
Analizar las solicitudes de API realizadas por un consumidor específico.
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 returnHerramientas de configuración
Servicios de lista
Enumere todos los servicios asociados con un plano de control.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of services to return
- offset: Pagination offset tokenLista de rutas
Enumere todas las rutas asociadas con un plano de control.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of routes to return
- offset: Pagination offset tokenLista de consumidores
Enumere todos los consumidores asociados con un plano de control.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of consumers to return
- offset: Pagination offset tokenLista de complementos
Enumere todos los complementos asociados con un plano de control.
Inputs:
- controlPlaneId: ID of the control plane
- size: Number of plugins to return
- offset: Pagination offset tokenHerramientas de planos de control
Lista de planos de control
Enumere todos los planos de control de su organización.
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 directionObtener el avión de control
Obtenga información detallada sobre un plano de control específico.
Inputs:
- controlPlaneId: ID of the control plane to retrieveLista de membresías de grupos del plano de control
Enumere todos los planos de control que son miembros de un grupo específico.
Inputs:
- groupId: Control plane group ID
- pageSize: Number of members to return per page
- pageAfter: Cursor for paginationComprobar la membresía del grupo del plano de control
Comprueba si un plano de control es miembro de algún grupo.
Inputs:
- controlPlaneId: Control plane ID to checkUso con Claude
Para utilizar este servidor MCP con Claude for Desktop:
Instalar Claude para escritorio
Cree o edite el archivo de configuración de Claude Desktop:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonVentanas:
%APPDATA%\Claude\claude_desktop_config.json
Agregue la siguiente configuración:
{
"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"
}
}
}
}Reiniciar Claude para escritorio
Las herramientas de Kong Konnect ahora estarán disponibles para que Claude las utilice.
Flujos de trabajo de ejemplo
Análisis del tráfico de la API
Primero, enumera todos los planos de control:
Please list all control planes in my Kong Konnect organization.A continuación, enumera los servicios para un plano de control específico:
List all services for control plane [CONTROL_PLANE_NAME/ID].Solicitudes de API de consulta para un servicio específico:
Show me all API requests for service [SERVICE_NAME/ID] in the last hour that had 5xx status codes.
Solución de problemas de los consumidores
Enumere los consumidores de un plano de control:
List all consumers for control plane [CONTROL_PLANE_NAME/ID].Analizar las solicitudes de un consumidor específico:
Show me all requests made by consumer [CONSUMER_NAME/ID] in the last 24 hours.Compruebe si hay errores o patrones comunes:
What are the most common errors experienced by this consumer?
Desarrollo
Agregar nuevas herramientas
Define los parámetros en
parameters.tsAñadir documentación en
prompts.tsCree la lógica de operación en el archivo apropiado en
operations/Registrar la herramienta en
tools.tsManejar la ejecución de la herramienta en
index.ts
Solución de problemas
Problemas comunes
Errores de conexión
Verifique que su clave API sea válida y tenga los permisos necesarios
Compruebe que la región API esté especificada correctamente
Asegúrese de que su red pueda conectarse a la API de Kong Konnect
Errores de autenticación
Regenera tu clave API en el portal Kong Konnect
Compruebe que las variables de entorno estén configuradas correctamente
Datos no encontrados
Verificar que los ID utilizados en las solicitudes sean correctos
Compruebe que los recursos existan en el plano de control especificado
Asegúrese de que los rangos de tiempo sean válidos para las consultas analíticas
Créditos
Creado por Kong. Inspirado en el kit de herramientas para agentes de Stripe.