Kong Konnect MCP Server

Interaja com as APIs do Kong Konnect para consultar e analisar configurações, tráfego e análises do Kong Gateway.

Documentação

[!WARNING]

⚠️ Este Repositório está Obsoleto

Este projeto não é mais mantido ativamente e será arquivado como somente leitura.

Nenhuma atualização, correção de bugs ou novos recursos serão feitos. Issues e pull requests não são mais monitorados.

Se você está procurando suporte para Kong Konnect MCP, verifique o servidor MCP remoto do Konnect.


Kong Konnect MCP Server

Static Badge Static Badge

Nota: Este repositório está obsoleto e em breve será arquivado como somente leitura. Veja o aviso acima para detalhes.

Um servidor Model Context Protocol (MCP) para interagir com as APIs do Kong Konnect, permitindo que assistentes de IA consultem e analisem configurações, tráfego e análises do Kong Gateway.

Sumário

Visão Geral

⚠️ Obsoleto: Este projeto não é mais mantido. As informações abaixo são preservadas apenas para referência.

Este projeto fornece um servidor Model Context Protocol (MCP) que permite que assistentes de IA como o Claude interajam com o API Gateway do Kong Konnect. Ele oferece um conjunto de ferramentas para consultar dados de análise, inspecionar detalhes de configuração e gerenciar control planes por meio de conversação em linguagem natural.

Principais recursos:

  • Consultar análises de solicitações de API com filtros personalizáveis
  • Listar e inspecionar serviços, rotas, consumidores e plugins do gateway
  • Gerenciar control planes e grupos de control planes
  • Integração com Claude e outros assistentes de IA compatíveis com MCP

Estrutura do Projeto

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

Instalação

Nota: Como este projeto está obsoleto, nenhum suporte é fornecido para problemas de instalação.

Pré-requisitos

  • Node.js 20 ou superior
  • Uma conta Kong Konnect com acesso à API
  • Um cliente com capacidades MCP (ex.: Claude Desktop, Cursor, etc...)

Configuração

# 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

O repositório inclui arquivos commitados sob build/ como parte do seu modelo de distribuição. Se você modificar arquivos em src/, regenere build/ antes de commitar ou publicar alterações.

Configuração

Defina as seguintes variáveis de ambiente para configurar o 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=us

Ferramentas Disponíveis

O servidor fornece ferramentas organizadas em três categorias:

Ferramentas de Análise

Consultar Solicitações de API

Consulte e analise solicitações do Kong API Gateway com filtros personalizáveis.

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

Obter Solicitações de Consumidor

Analise solicitações de API feitas por um 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 return

Ferramentas de Configuração

Listar Serviços

Liste todos os serviços associados a um control plane.

Inputs:
- controlPlaneId: Control plane ID
- size: Number of services to return
- offset: Pagination offset token

Listar Rotas

Liste todas as rotas associadas a um control plane.

Inputs:
- controlPlaneId: Control plane ID
- size: Number of routes to return
- offset: Pagination offset token

Listar Consumidores

Liste todos os consumidores associados a um control plane.

Inputs:
- controlPlaneId: Control plane ID
- size: Number of consumers to return
- offset: Pagination offset token

Listar Plugins

Liste todos os plugins associados a um 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)

Ferramentas de Control Planes

Listar Control Planes

Liste todos os control planes da sua organização.

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

Obter Control Plane

Obtenha informações detalhadas sobre um control plane específico.

Inputs:
- controlPlaneId: Control plane ID to retrieve

Listar Associações de Grupo de Control Plane

Liste todos os control planes que são membros de um grupo específico.

Inputs:
- groupId: Control plane group ID
- pageSize: Number of members to return per page
- pageAfter: Cursor for pagination

Verificar Associação a Grupo de Control Plane

Verifique se um control plane é membro de algum grupo.

Inputs:
- controlPlaneId: Control plane ID to check

Uso com Claude

Nota: Esta configuração é fornecida para referência histórica. Nenhum suporte está disponível para problemas de configuração.

Para usar este servidor MCP com o Claude for Desktop:

  1. Instale o Claude for Desktop

  2. Crie ou edite o arquivo de configuração do Claude Desktop:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Adicione a seguinte configuração:

{
  "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"
      }
    }
  }
}
  1. Reinicie o Claude for Desktop
  2. As ferramentas do Kong Konnect agora estarão disponíveis para uso pelo Claude

Exemplos de Fluxos de Trabalho

Analisando Tráfego de API

  1. Primeiro, liste todos os control planes:

    Please list all control planes in my Kong Konnect organization.
    
  2. Em seguida, liste os serviços de um control plane específico:

    List all services for control plane [CONTROL_PLANE_ID].
    
  3. Consulte solicitações de API para um serviço específico:

    Show me all API requests for service [SERVICE_NAME/ID] in the last hour that had 5xx status codes.
    

Solucionando Problemas de Consumidores

  1. Liste os consumidores de um control plane:

    List all consumers for control plane [CONTROL_PLANE_ID].
    
  2. Analise as solicitações de um consumidor específico:

    Show me all requests made by consumer [CONSUMER_NAME/ID] in the last 24 hours.
    
  3. Verifique erros ou padrões comuns:

    What are the most common errors experienced by this consumer?
    

Desenvolvimento

⚠️ Este projeto não está mais aceitando contribuições. O repositório será arquivado como somente leitura. Pull requests e issues não serão revisados ou mesclados.

Notas históricas de desenvolvimento:

  • npm test executa a compilação TypeScript e a suíte de testes do repositório.
  • build/ é um artefato gerado e commitado neste repositório e deve ser regenerado com npm run build após alterações em src/.

Solução de Problemas

Nota: Nenhum suporte é fornecido para este projeto obsoleto. As informações abaixo são preservadas apenas para referência.

Problemas Comuns

Erros de Conexão

  • Verifique se sua chave de API é válida e possui as permissões necessárias
  • Verifique se a região da API está especificada corretamente
  • Garanta que sua rede possa se conectar à API do Kong Konnect

Erros de Autenticação

  • Regere sua chave de API no portal do Kong Konnect
  • Verifique se as variáveis de ambiente estão configuradas corretamente

Dados Não Encontrados

  • Verifique se os IDs usados nas solicitações estão corretos
  • Verifique se os recursos existem no control plane especificado
  • Garanta que os intervalos de tempo sejam válidos para consultas de análise

Créditos

Construído pela Kong. Originalmente inspirado no Agent Toolkit da Stripe.