Kong MCP-Konnect 是一个基于模型上下文协议(Model Context Protocol, MCP)的服务器项目,允许AI助手查询和分析Kong Gateway配置、流量和分析数据。该项目使得像Claude这样的AI助手能够通过自然语言与Kong Konnect的API网关进行交互。
src/
├── index.ts # 主入口点
├── api.ts # Kong API客户端
├── tools.ts # 工具定义
├── parameters.ts # 工具参数的Zod模式
├── prompts.ts # 详细的工具文档
├── operations/
│ ├── analytics.ts # API请求分析操作
│ ├── configuration.ts # 服务、路由、消费者、插件
│ └── controlPlanes.ts # 控制平面管理
└── types.ts # 通用类型定义
# 克隆仓库
git clone https://github.com/Kong/mcp-konnect.git
cd mcp-konnect
# 安装依赖
npm install
# 构建项目
npm run build
设置以下环境变量来配置MCP服务器:
# 必需:您的Kong Konnect API密钥
export KONNECT_ACCESS_TOKEN=kpat_api_key_here
# 可选:要使用的API区域(默认为US)
# 可能的值:US, EU, AU, ME, IN
export KONNECT_REGION=us
analyze-api-requests
)查询和分析Kong API网关请求,支持自定义过滤器。
输入参数:
timeRange
: 数据检索的时间范围(15M, 1H, 6H, 12H, 24H, 7D)statusCodes
: 按特定HTTP状态码过滤excludeStatusCodes
: 排除特定HTTP状态码httpMethods
: 按HTTP方法过滤consumerIds
: 按消费者ID过滤serviceIds
: 按服务ID过滤routeIds
: 按路由ID过滤maxResults
: 返回的最大结果数analyze-consumer-requests
)分析特定消费者发出的API请求。
输入参数:
consumerId
: 要分析的消费者IDtimeRange
: 数据检索的时间范围successOnly
: 仅显示成功的(2xx)请求failureOnly
: 仅显示失败的(非2xx)请求maxResults
: 返回的最大结果数list-services
)列出与控制平面关联的所有服务。
输入参数:
controlPlaneId
: 控制平面IDsize
: 返回的服务数量offset
: 分页偏移令牌list-routes
)列出与控制平面关联的所有路由。
list-consumers
)列出与控制平面关联的所有消费者。
list-plugins
)列出与控制平面关联的所有插件。
list-control-planes
)列出组织中的所有控制平面。
输入参数:
pageSize
: 每页的控制平面数量pageNumber
: 要检索的页码filterName
: 按名称过滤控制平面filterClusterType
: 按集群类型过滤filterCloudGateway
: 按云网关功能过滤labels
: 按标签过滤sort
: 排序字段和方向get-control-plane
)获取特定控制平面的详细信息。
list-control-plane-group-members
)列出特定组的所有控制平面成员。
check-control-plane-group-membership
)检查控制平面是否为任何组的成员。
从Claude官网下载并安装Claude for Desktop。
创建或编辑Claude Desktop配置文件:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.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"
}
}
}
}
重启后,Kong Konnect工具将可供Claude使用。
请列出我的Kong Konnect组织中的所有控制平面。
列出控制平面[CONTROL_PLANE_NAME/ID]的所有服务。
向我显示服务[SERVICE_NAME/ID]在过去一小时内所有具有5xx状态码的API请求。
列出控制平面[CONTROL_PLANE_NAME/ID]的所有消费者。
向我显示消费者[CONSUMER_NAME/ID]在过去24小时内发出的所有请求。
这个消费者遇到的最常见错误是什么?
要添加新工具,请按以下步骤操作:
parameters.ts
中定义参数prompts.ts
中添加文档operations/
中的适当文件中创建操作逻辑tools.ts
中注册工具index.ts
中处理工具执行Kong MCP-Konnect是一个强大的工具,它桥接了AI助手和Kong API网关管理之间的差距。通过提供自然语言接口来查询和分析API网关配置、流量和分析数据,它使得API管理变得更加直观和高效。项目提供了丰富的功能集,从基本的配置查询到高级的流量分析,是现代API基础设施管理的重要工具。