Kong · Capability

Kong Event Gateway Bridge

Manages Kong Event Gateway virtual clusters, listener policies, backend Kafka clusters, identity-aware ACLs, and per-topic quotas from Naftiko spec — Naftiko-side event-driven workflows pick up Kong's Kafka governance (mTLS, OIDC ACLs, schema-registry validation, per-topic rate-limit) without per-capability Kafka wiring.

Run with Naftiko NaftikoKongPartnershipEvent-GatewayKafkaIdentity-ACL

What You Can Do

GET
List event gateways
/event-gateways
POST
Create event gateway
/event-gateways
GET
Get event gateway
/event-gateways/{eg_id}
DELETE
Delete event gateway
/event-gateways/{eg_id}
GET
List virtual clusters
/event-gateways/{eg_id}/virtual-clusters
POST
Create virtual cluster
/event-gateways/{eg_id}/virtual-clusters
GET
List listener policies
/event-gateways/{eg_id}/listener-policies
POST
Create listener policy
/event-gateways/{eg_id}/listener-policies
GET
List backend clusters
/event-gateways/{eg_id}/backend-clusters
POST
Create backend cluster
/event-gateways/{eg_id}/backend-clusters
GET
List consumer groups
/event-gateways/{eg_id}/consumer-groups
POST
Create consumer group
/event-gateways/{eg_id}/consumer-groups

MCP Tools

list-event-gateways

List Kong Event Gateways (Kafka-protocol governing gateways) in Konnect.

read-only
create-event-gateway

Create a new Kong Event Gateway.

list-virtual-clusters

List Kong Event Gateway virtual Kafka clusters.

read-only
create-virtual-cluster

Create a new Kong Event Gateway virtual Kafka cluster.

list-listener-policies

List Kong Event Gateway listener policies (per-listener access control).

read-only
create-listener-policy

Create a new Kong Event Gateway listener policy.

list-backend-clusters

List backend Kafka clusters mounted on a Kong Event Gateway.

read-only
create-backend-cluster

Mount a new backend Kafka cluster on a Kong Event Gateway.

list-consumer-groups

List Kong Event Gateway consumer groups.

read-only
create-consumer-group

Create a new Kong Event Gateway consumer group.

Capability Spec

kong-event-gateway-bridge.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  title: Kong Event Gateway Bridge
  description: >-
    Manages Kong Event Gateway virtual clusters, listener policies,
    backend Kafka clusters, identity-aware ACLs, and per-topic quotas
    from Naftiko spec — Naftiko-side event-driven workflows pick up
    Kong's Kafka governance (mTLS, OIDC ACLs, schema-registry validation,
    per-topic rate-limit) without per-capability Kafka wiring.
  tags:
    - Naftiko
    - Kong
    - Partnership
    - Event-Gateway
    - Kafka
    - Identity-ACL
  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: event-gateways
          path: '/v1/event-gateways'
          operations:
            - name: list-event-gateways
              method: GET
            - name: create-event-gateway
              method: POST
        - name: event-gateway
          path: '/v1/event-gateways/{{eg_id}}'
          operations:
            - name: get-event-gateway
              method: GET
              inputParameters:
                - { name: eg_id, in: path, required: true }
            - name: delete-event-gateway
              method: DELETE
              inputParameters:
                - { name: eg_id, in: path, required: true }
        - name: virtual-clusters
          path: '/v1/event-gateways/{{eg_id}}/virtual-clusters'
          operations:
            - name: list-virtual-clusters
              method: GET
              inputParameters:
                - { name: eg_id, in: path, required: true }
            - name: create-virtual-cluster
              method: POST
              inputParameters:
                - { name: eg_id, in: path, required: true }
        - name: listener-policies
          path: '/v1/event-gateways/{{eg_id}}/listener-policies'
          operations:
            - name: list-listener-policies
              method: GET
              inputParameters:
                - { name: eg_id, in: path, required: true }
            - name: create-listener-policy
              method: POST
              inputParameters:
                - { name: eg_id, in: path, required: true }
        - name: backend-clusters
          path: '/v1/event-gateways/{{eg_id}}/backend-clusters'
          operations:
            - name: list-backend-clusters
              method: GET
              inputParameters:
                - { name: eg_id, in: path, required: true }
            - name: create-backend-cluster
              method: POST
              inputParameters:
                - { name: eg_id, in: path, required: true }
        - name: consumer-groups
          path: '/v1/event-gateways/{{eg_id}}/consumer-groups'
          operations:
            - name: list-consumer-groups
              method: GET
              inputParameters:
                - { name: eg_id, in: path, required: true }
            - name: create-consumer-group
              method: POST
              inputParameters:
                - { name: eg_id, in: path, required: true }

  exposes:
    - type: rest
      address: 0.0.0.0
      port: 8080
      namespace: kong-event-gateway-bridge-rest
      description: REST surface for managing Kong Event Gateway from Naftiko spec.
      resources:
        - name: event-gateways
          path: '/event-gateways'
          operations:
            - name: list-event-gateways
              method: GET
              call: kong.list-event-gateways
            - name: create-event-gateway
              method: POST
              call: kong.create-event-gateway
        - name: event-gateway
          path: '/event-gateways/{eg_id}'
          operations:
            - name: get-event-gateway
              method: GET
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.get-event-gateway
            - name: delete-event-gateway
              method: DELETE
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.delete-event-gateway
        - name: virtual-clusters
          path: '/event-gateways/{eg_id}/virtual-clusters'
          operations:
            - name: list-virtual-clusters
              method: GET
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.list-virtual-clusters
            - name: create-virtual-cluster
              method: POST
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.create-virtual-cluster
        - name: listener-policies
          path: '/event-gateways/{eg_id}/listener-policies'
          operations:
            - name: list-listener-policies
              method: GET
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.list-listener-policies
            - name: create-listener-policy
              method: POST
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.create-listener-policy
        - name: backend-clusters
          path: '/event-gateways/{eg_id}/backend-clusters'
          operations:
            - name: list-backend-clusters
              method: GET
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.list-backend-clusters
            - name: create-backend-cluster
              method: POST
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.create-backend-cluster
        - name: consumer-groups
          path: '/event-gateways/{eg_id}/consumer-groups'
          operations:
            - name: list-consumer-groups
              method: GET
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.list-consumer-groups
            - name: create-consumer-group
              method: POST
              inputParameters:
                - { name: eg_id, in: path, type: string, required: true }
              call: kong.create-consumer-group

    - type: mcp
      address: 0.0.0.0
      port: 3010
      namespace: kong-event-gateway-bridge-mcp
      description: MCP server for managing Kong Event Gateway from agents.
      tools:
        - name: list-event-gateways
          description: List Kong Event Gateways (Kafka-protocol governing gateways) in Konnect.
          hints: { readOnly: true }
          call: kong.list-event-gateways
        - name: create-event-gateway
          description: Create a new Kong Event Gateway.
          hints: { destructiveHint: false }
          call: kong.create-event-gateway
        - name: list-virtual-clusters
          description: List Kong Event Gateway virtual Kafka clusters.
          hints: { readOnly: true }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.list-virtual-clusters
        - name: create-virtual-cluster
          description: Create a new Kong Event Gateway virtual Kafka cluster.
          hints: { destructiveHint: false }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.create-virtual-cluster
        - name: list-listener-policies
          description: List Kong Event Gateway listener policies (per-listener access control).
          hints: { readOnly: true }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.list-listener-policies
        - name: create-listener-policy
          description: Create a new Kong Event Gateway listener policy.
          hints: { destructiveHint: false }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.create-listener-policy
        - name: list-backend-clusters
          description: List backend Kafka clusters mounted on a Kong Event Gateway.
          hints: { readOnly: true }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.list-backend-clusters
        - name: create-backend-cluster
          description: Mount a new backend Kafka cluster on a Kong Event Gateway.
          hints: { destructiveHint: false }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.create-backend-cluster
        - name: list-consumer-groups
          description: List Kong Event Gateway consumer groups.
          hints: { readOnly: true }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.list-consumer-groups
        - name: create-consumer-group
          description: Create a new Kong Event Gateway consumer group.
          hints: { destructiveHint: false }
          inputParameters:
            - { name: eg_id, type: string, required: true }
          call: kong.create-consumer-group