naftiko: "1.0.0-alpha2" info: title: Kong FinOps Bridge description: >- Pulls Kong Konnect analytics — request counts, latency percentiles, error rates, AI token consumption, per-agent cost allocation, audit events — into Naftiko's per-call cost attribution model. Closes the loop between "Kong gateway saw N requests + M tokens for agent A" and "Naftiko knows what each capability call cost the customer." tags: - Naftiko - Kong - Partnership - Analytics - FinOps - Cost-Attribution created: '2026-05-15' modified: '2026-05-15' binds: - namespace: kong-konnect description: Kong Konnect Platform API endpoint + token. keys: KONG_KONNECT_BASE: KONG_KONNECT_BASE KONG_KONNECT_TOKEN: KONG_KONNECT_TOKEN capability: consumes: - namespace: kong type: http baseUri: '{{KONG_KONNECT_BASE}}' authentication: type: bearer token: '{{KONG_KONNECT_TOKEN}}' resources: - name: analytics-requests path: '/v1/analytics/requests' operations: - name: get-request-analytics method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } - { name: control_plane_id, in: query, required: false } - name: analytics-latency path: '/v1/analytics/latency' operations: - name: get-latency-analytics method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } - { name: percentile, in: query, required: false } - name: analytics-errors path: '/v1/analytics/errors' operations: - name: get-error-analytics method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } - name: ai-token-usage path: '/v1/analytics/ai/usage' operations: - name: get-ai-token-usage method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } - { name: model, in: query, required: false } - { name: agent, in: query, required: false } - name: metering-billing path: '/v1/metering/usage' operations: - name: get-metering-usage method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } - name: audit-logs path: '/v1/audit-logs' operations: - name: list-audit-logs method: GET inputParameters: - { name: from, in: query, required: false } - { name: to, in: query, required: false } exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: kong-finops-bridge-rest description: REST surface for pulling Kong Konnect analytics + AI token usage into Naftiko cost attribution. resources: - name: analytics-requests path: '/analytics/requests' operations: - name: get-request-analytics method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } - { name: control_plane_id, in: query, type: string, required: false } call: kong.get-request-analytics - name: analytics-latency path: '/analytics/latency' operations: - name: get-latency-analytics method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } - { name: percentile, in: query, type: string, required: false } call: kong.get-latency-analytics - name: analytics-errors path: '/analytics/errors' operations: - name: get-error-analytics method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } call: kong.get-error-analytics - name: ai-token-usage path: '/analytics/ai/usage' operations: - name: get-ai-token-usage method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } - { name: model, in: query, type: string, required: false } - { name: agent, in: query, type: string, required: false } call: kong.get-ai-token-usage - name: metering-billing path: '/metering/usage' operations: - name: get-metering-usage method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } call: kong.get-metering-usage - name: audit-logs path: '/audit-logs' operations: - name: list-audit-logs method: GET inputParameters: - { name: from, in: query, type: string, required: false } - { name: to, in: query, type: string, required: false } call: kong.list-audit-logs - type: mcp address: 0.0.0.0 port: 3010 namespace: kong-finops-bridge-mcp description: MCP server exposing Kong Konnect analytics + AI token usage as agent-callable cost-attribution tools. tools: - name: get-request-analytics description: Get Kong Konnect request count analytics (per Service / Route / Consumer / time window). hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } - { name: control_plane_id, type: string, required: false } call: kong.get-request-analytics - name: get-latency-analytics description: Get Kong Konnect latency percentile analytics (P50 / P95 / P99). hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } - { name: percentile, type: string, required: false } call: kong.get-latency-analytics - name: get-error-analytics description: Get Kong Konnect error-rate analytics. hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } call: kong.get-error-analytics - name: get-ai-token-usage description: Get Kong AI Gateway token usage stats per model + agent + period (drives Naftiko AI cost attribution). hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } - { name: model, type: string, required: false } - { name: agent, type: string, required: false } call: kong.get-ai-token-usage - name: get-metering-usage description: Get Kong Konnect metering + billing usage (per-million-request overage, per-LLM-model, per-portal). hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } call: kong.get-metering-usage - name: list-audit-logs description: List Kong Konnect audit logs (compliance + change attribution). hints: { readOnly: true } inputParameters: - { name: from, type: string, required: false } - { name: to, type: string, required: false } call: kong.list-audit-logs