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.

Subscribe to the Naftiko Manifest

Want to learn more and stay up to date on the latest from Naftiko? Get new posts, releases, and signals from the capability fleet in your inbox.