Spring Cloud Gateway · Capability

Spring Cloud Gateway API Gateway Management

Unified capability for managing an API gateway built on Spring Cloud Gateway. Enables dynamic route creation, predicate and filter management, cache refresh, and runtime gateway inspection for platform engineers and API teams.

Run with Naftiko Spring CloudAPI GatewayRoute ManagementPlatform EngineeringMicroservicesDevOps

What You Can Do

GET
List routes — List all gateway routes
/v1/routes
POST
Create route — Create a new gateway route
/v1/routes
GET
Get route — Get route by ID
/v1/routes/{id}
PUT
Update route — Update route definition
/v1/routes/{id}
DELETE
Delete route — Remove route from gateway
/v1/routes/{id}
POST
Refresh routes — Refresh route configuration cache
/v1/routes/refresh
GET
List global filters — List global filters
/v1/filters
GET
List filter factories — List route filter factories
/v1/filter-factories
GET
List predicate factories — List route predicate factories
/v1/predicate-factories

MCP Tools

inspect-all-routes

Inspect all currently configured gateway routes including predicates, filters, URIs, ordering, and metadata

read-only
inspect-route

Inspect a specific gateway route definition by ID

read-only
deploy-route

Deploy a new gateway route with Path/Host/Method predicates and filters such as StripPrefix, AddRequestHeader, CircuitBreaker, RequestRateLimiter

modify-route

Modify an existing gateway route's destination URI, matching predicates, or applied filters without downtime

idempotent
remove-route

Remove a gateway route, stopping traffic forwarding for matching requests

idempotent
sync-route-config

Synchronize the gateway route cache with the current configuration source

idempotent
audit-global-filters

Audit all global filters applied to every request, including their execution order

read-only
discover-filter-options

Discover all available GatewayFilter factory options for configuring request/response transformation

read-only
discover-predicate-options

Discover all available RoutePredicateFactory options for defining traffic routing rules

read-only

APIs Used

spring-cloud-gateway

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Spring Cloud Gateway API Gateway Management"
  description: "Unified capability for managing an API gateway built on Spring Cloud Gateway. Enables dynamic route creation, predicate and filter management, cache refresh, and runtime gateway inspection for platform engineers and API teams."
  tags:
    - Spring Cloud
    - API Gateway
    - Route Management
    - Platform Engineering
    - Microservices
    - DevOps
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SPRING_GATEWAY_ACTUATOR_URL: SPRING_GATEWAY_ACTUATOR_URL

capability:
  consumes:
    - import: spring-cloud-gateway
      location: ./shared/spring-cloud-gateway-actuator.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: api-gateway-management-api
      description: "Unified REST API for API gateway lifecycle management."
      resources:
        - path: /v1/routes
          name: routes
          description: "Gateway route management"
          operations:
            - method: GET
              name: list-routes
              description: "List all gateway routes"
              call: "spring-cloud-gateway.list-routes"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-route
              description: "Create a new gateway route"
              call: "spring-cloud-gateway.create-route"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/routes/{id}
          name: route-detail
          description: "Individual route operations"
          operations:
            - method: GET
              name: get-route
              description: "Get route by ID"
              call: "spring-cloud-gateway.get-route"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-route
              description: "Update route definition"
              call: "spring-cloud-gateway.update-route"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-route
              description: "Remove route from gateway"
              call: "spring-cloud-gateway.delete-route"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/routes/refresh
          name: route-refresh
          description: "Route cache management"
          operations:
            - method: POST
              name: refresh-routes
              description: "Refresh route configuration cache"
              call: "spring-cloud-gateway.refresh-routes"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/filters
          name: filters
          description: "Filter management"
          operations:
            - method: GET
              name: list-global-filters
              description: "List global filters"
              call: "spring-cloud-gateway.list-global-filters"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/filter-factories
          name: filter-factories
          description: "Available filter factories"
          operations:
            - method: GET
              name: list-filter-factories
              description: "List route filter factories"
              call: "spring-cloud-gateway.list-route-filter-factories"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/predicate-factories
          name: predicate-factories
          description: "Available predicate factories"
          operations:
            - method: GET
              name: list-predicate-factories
              description: "List route predicate factories"
              call: "spring-cloud-gateway.list-predicate-factories"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: api-gateway-management-mcp
      transport: http
      description: "MCP server for AI-assisted API gateway management and troubleshooting."
      tools:
        - name: inspect-all-routes
          description: "Inspect all currently configured gateway routes including predicates, filters, URIs, ordering, and metadata"
          hints:
            readOnly: true
            openWorld: false
          call: "spring-cloud-gateway.list-routes"
          outputParameters:
            - type: object
              mapping: "$."
        - name: inspect-route
          description: "Inspect a specific gateway route definition by ID"
          hints:
            readOnly: true
            openWorld: false
          call: "spring-cloud-gateway.get-route"
          with:
            id: "tools.routeId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: deploy-route
          description: "Deploy a new gateway route with Path/Host/Method predicates and filters such as StripPrefix, AddRequestHeader, CircuitBreaker, RequestRateLimiter"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "spring-cloud-gateway.create-route"
          with:
            routeId: "tools.routeId"
            uri: "tools.destinationUri"
            predicates: "tools.predicates"
            filters: "tools.filters"
            order: "tools.priority"
          outputParameters:
            - type: object
              mapping: "$."
        - name: modify-route
          description: "Modify an existing gateway route's destination URI, matching predicates, or applied filters without downtime"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "spring-cloud-gateway.update-route"
          with:
            id: "tools.routeId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: remove-route
          description: "Remove a gateway route, stopping traffic forwarding for matching requests"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "spring-cloud-gateway.delete-route"
          with:
            id: "tools.routeId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: sync-route-config
          description: "Synchronize the gateway route cache with the current configuration source"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "spring-cloud-gateway.refresh-routes"
          outputParameters:
            - type: object
              mapping: "$."
        - name: audit-global-filters
          description: "Audit all global filters applied to every request, including their execution order"
          hints:
            readOnly: true
            openWorld: false
          call: "spring-cloud-gateway.list-global-filters"
          outputParameters:
            - type: object
              mapping: "$."
        - name: discover-filter-options
          description: "Discover all available GatewayFilter factory options for configuring request/response transformation"
          hints:
            readOnly: true
            openWorld: false
          call: "spring-cloud-gateway.list-route-filter-factories"
          outputParameters:
            - type: object
              mapping: "$."
        - name: discover-predicate-options
          description: "Discover all available RoutePredicateFactory options for defining traffic routing rules"
          hints:
            readOnly: true
            openWorld: false
          call: "spring-cloud-gateway.list-predicate-factories"
          outputParameters:
            - type: object
              mapping: "$."