Blog

Naftiko Capabilities for KrakenD Gateway

·May 7, 2026
Table of contents

KrakenD Gateway is a high-performance, declarative API gateway whose configuration is a single source of truth and whose runtime exposes a small but operationally rich set of endpoints — health, debug, echo, and extended runtime metrics. The Naftiko capability for KrakenD wraps that operational surface as MCP tools, giving AI agents a structured lens into a running gateway without touching the control plane it does not have.

What the Capability Covers

The gateway-observability capability targets the operator workflow. KrakenD ships health on /__health, an inspection echo on /__echo/, a debug echo on /__debug/{path}, and an extended-metrics endpoint on /__stats/ exposed on a separate port. The capability turns each of those into a typed tool an agent can call to read the gateway’s state, replay a request, or pull router / proxy / backend / Go-runtime metrics on demand.

MCP Tools Available

get-health, get-echo, get-stats, debug-get, debug-post

Capability Specification

naftiko: "1.0.0-alpha1"

info:
  label: "KrakenD Gateway Observability"
  description: "Observability workflow for platform operators to check KrakenD gateway health, inspect debug request flow, and pull extended runtime metrics from a running gateway instance."
  tags:
    - KrakenD
    - API Gateway
    - Observability
    - Health

binds:
  - namespace: env
    keys:
      KRAKEND_GATEWAY_URL: KRAKEND_GATEWAY_URL
      KRAKEND_METRICS_URL: KRAKEND_METRICS_URL

capability:
  consumes:
    - import: krakend-service
      location: ./shared/krakend-service.yaml

  exposes:
    - type: mcp
      port: 9090
      namespace: krakend-observability-mcp
      transport: http
      description: "MCP server for AI-assisted KrakenD gateway operational checks."
      tools:
        - name: get-health
          description: "Return the KrakenD gateway health status."
          hints:
            readOnly: true
          call: "krakend-service.get-health"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-stats
          description: "Return extended runtime metrics from KrakenD."
          hints:
            readOnly: true
          call: "krakend-metrics.get-stats"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-echo
          description: "Return request details from the KrakenD echo endpoint."
          hints:
            readOnly: true
          call: "krakend-service.get-echo"
          outputParameters:
            - type: object
              mapping: "$."

        - name: debug-get
          description: "Issue a GET against the KrakenD debug endpoint at a sub-path."
          hints:
            readOnly: true
          call: "krakend-service.debug-get"
          with:
            path: "tools.path"
          outputParameters:
            - type: object
              mapping: "$."

        - name: debug-post
          description: "Issue a POST against the KrakenD debug endpoint at a sub-path."
          hints:
            readOnly: false
          call: "krakend-service.debug-post"
          with:
            path: "tools.path"
            payload: "tools.payload"
          outputParameters:
            - type: object
              mapping: "$."

Running It

docker pull ghcr.io/naftiko/framework:latest

# Set KRAKEND_GATEWAY_URL and KRAKEND_METRICS_URL in your .env file
docker run -p 9090:9090 \
  -v ./capabilities/gateway-observability.yaml:/app/capability.yaml \
  -v ./capabilities/shared:/app/shared \
  --env-file .env \
  ghcr.io/naftiko/framework:latest /app/capability.yaml

KrakenD does not expose a runtime admin API the way Kong does — its configuration is built and shipped as a single declarative file, so the things you ask the gateway at runtime are operational, not administrative. That is exactly the surface an SRE-style agent needs: read health, read metrics, replay a request to debug a failing route, confirm the gateway is seeing what you think it is. The KrakenD capability is part of the Naftiko Fleet.