Spring Framework · Capability

Spring Boot Actuator API

The Spring Boot Actuator API provides production-ready endpoints for monitoring and managing Spring Boot applications. It exposes health checks, metrics, environment information, configuration properties, thread dumps, HTTP traces, application info, and shutdown capabilities via RESTful endpoints. The Actuator supports customizable security, endpoint exposure controls, and integration with monitoring systems like Prometheus, Datadog, and CloudWatch. Used by operators and SREs to observe and manage deployed Spring Boot services.

Run with Naftiko SpringAPI

What You Can Do

GET
Gethealth — Get Health Status
/health
GET
Getcomponenthealth — Get Component Health Status
/health/{component}
GET
Listmetrics — List Available Metrics
/metrics
GET
Getmetric — Get Metric Value
/metrics/{requiredMetricName}
GET
Getinfo — Get Application Info
/info
GET
Getenvironment — Get Environment Properties
/env
GET
Getenvironmentproperty — Get Environment Property
/env/{toMatch}
GET
Listloggers — List Loggers
/loggers
GET
Getlogger — Get Logger Configuration
/loggers/{name}
POST
Setloggerlevel — Set Logger Level
/loggers/{name}
GET
Getmappings — Get Request Mappings
/mappings
GET
Getthreaddump — Get Thread Dump
/threaddump
GET
Getbeans — Get Application Beans
/beans

MCP Tools

gethealth

Get Health Status

read-only idempotent
getcomponenthealth

Get Component Health Status

read-only idempotent
listmetrics

List Available Metrics

read-only idempotent
getmetric

Get Metric Value

read-only idempotent
getinfo

Get Application Info

read-only idempotent
getenvironment

Get Environment Properties

read-only idempotent
getenvironmentproperty

Get Environment Property

read-only idempotent
listloggers

List Loggers

read-only idempotent
getlogger

Get Logger Configuration

read-only idempotent
setloggerlevel

Set Logger Level

getmappings

Get Request Mappings

read-only idempotent
getthreaddump

Get Thread Dump

read-only idempotent
getbeans

Get Application Beans

read-only idempotent

Capability Spec

spring-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Spring Boot Actuator API
  description: The Spring Boot Actuator API provides production-ready endpoints for monitoring and managing Spring Boot applications.
    It exposes health checks, metrics, environment information, configuration properties, thread dumps, HTTP traces, application
    info, and shutdown capabilities via RESTful endpoints. The Actuator supports customizable security, endpoint exposure
    controls, and integration with monitoring systems like Prometheus, Datadog, and CloudWatch. Used by operators and SREs
    to observe and manage deployed Spring Boot services.
  tags:
  - Spring
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: spring
    baseUri: http://localhost:8080/actuator
    description: Spring Boot Actuator API HTTP API.
    authentication:
      type: basic
      username: '{{SPRING_USERNAME}}'
      password: '{{SPRING_PASSWORD}}'
    resources:
    - name: health
      path: /health
      operations:
      - name: gethealth
        method: GET
        description: Get Health Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: health-component
      path: /health/{component}
      operations:
      - name: getcomponenthealth
        method: GET
        description: Get Component Health Status
        inputParameters:
        - name: component
          in: path
          type: string
          required: true
          description: Health indicator component name (e.g., db, diskSpace, redis)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: metrics
      path: /metrics
      operations:
      - name: listmetrics
        method: GET
        description: List Available Metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: metrics-requiredmetricname
      path: /metrics/{requiredMetricName}
      operations:
      - name: getmetric
        method: GET
        description: Get Metric Value
        inputParameters:
        - name: requiredMetricName
          in: path
          type: string
          required: true
          description: Metric name in dot notation
        - name: tag
          in: query
          type: string
          description: 'Tag filter in KEY:VALUE format (can be repeated for multiple tags). Example: area:heap or area:heap&tag=id:G1+Eden+Space'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: info
      path: /info
      operations:
      - name: getinfo
        method: GET
        description: Get Application Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: env
      path: /env
      operations:
      - name: getenvironment
        method: GET
        description: Get Environment Properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: env-tomatch
      path: /env/{toMatch}
      operations:
      - name: getenvironmentproperty
        method: GET
        description: Get Environment Property
        inputParameters:
        - name: toMatch
          in: path
          type: string
          required: true
          description: Property key to look up
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: loggers
      path: /loggers
      operations:
      - name: listloggers
        method: GET
        description: List Loggers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: loggers-name
      path: /loggers/{name}
      operations:
      - name: getlogger
        method: GET
        description: Get Logger Configuration
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
          description: Logger name (e.g., com.example.MyService, ROOT)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setloggerlevel
        method: POST
        description: Set Logger Level
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
          description: Logger name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: mappings
      path: /mappings
      operations:
      - name: getmappings
        method: GET
        description: Get Request Mappings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: threaddump
      path: /threaddump
      operations:
      - name: getthreaddump
        method: GET
        description: Get Thread Dump
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: beans
      path: /beans
      operations:
      - name: getbeans
        method: GET
        description: Get Application Beans
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: spring-rest
    description: REST adapter for Spring Boot Actuator API.
    resources:
    - path: /health
      name: gethealth
      operations:
      - method: GET
        name: gethealth
        description: Get Health Status
        call: spring.gethealth
        outputParameters:
        - type: object
          mapping: $.
    - path: /health/{component}
      name: getcomponenthealth
      operations:
      - method: GET
        name: getcomponenthealth
        description: Get Component Health Status
        call: spring.getcomponenthealth
        with:
          component: rest.component
        outputParameters:
        - type: object
          mapping: $.
    - path: /metrics
      name: listmetrics
      operations:
      - method: GET
        name: listmetrics
        description: List Available Metrics
        call: spring.listmetrics
        outputParameters:
        - type: object
          mapping: $.
    - path: /metrics/{requiredMetricName}
      name: getmetric
      operations:
      - method: GET
        name: getmetric
        description: Get Metric Value
        call: spring.getmetric
        with:
          requiredMetricName: rest.requiredMetricName
        outputParameters:
        - type: object
          mapping: $.
    - path: /info
      name: getinfo
      operations:
      - method: GET
        name: getinfo
        description: Get Application Info
        call: spring.getinfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /env
      name: getenvironment
      operations:
      - method: GET
        name: getenvironment
        description: Get Environment Properties
        call: spring.getenvironment
        outputParameters:
        - type: object
          mapping: $.
    - path: /env/{toMatch}
      name: getenvironmentproperty
      operations:
      - method: GET
        name: getenvironmentproperty
        description: Get Environment Property
        call: spring.getenvironmentproperty
        with:
          toMatch: rest.toMatch
        outputParameters:
        - type: object
          mapping: $.
    - path: /loggers
      name: listloggers
      operations:
      - method: GET
        name: listloggers
        description: List Loggers
        call: spring.listloggers
        outputParameters:
        - type: object
          mapping: $.
    - path: /loggers/{name}
      name: getlogger
      operations:
      - method: GET
        name: getlogger
        description: Get Logger Configuration
        call: spring.getlogger
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /loggers/{name}
      name: setloggerlevel
      operations:
      - method: POST
        name: setloggerlevel
        description: Set Logger Level
        call: spring.setloggerlevel
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /mappings
      name: getmappings
      operations:
      - method: GET
        name: getmappings
        description: Get Request Mappings
        call: spring.getmappings
        outputParameters:
        - type: object
          mapping: $.
    - path: /threaddump
      name: getthreaddump
      operations:
      - method: GET
        name: getthreaddump
        description: Get Thread Dump
        call: spring.getthreaddump
        outputParameters:
        - type: object
          mapping: $.
    - path: /beans
      name: getbeans
      operations:
      - method: GET
        name: getbeans
        description: Get Application Beans
        call: spring.getbeans
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: spring-mcp
    transport: http
    description: MCP adapter for Spring Boot Actuator API for AI agent use.
    tools:
    - name: gethealth
      description: Get Health Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.gethealth
      outputParameters:
      - type: object
        mapping: $.
    - name: getcomponenthealth
      description: Get Component Health Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getcomponenthealth
      with:
        component: tools.component
      inputParameters:
      - name: component
        type: string
        description: Health indicator component name (e.g., db, diskSpace, redis)
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listmetrics
      description: List Available Metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.listmetrics
      outputParameters:
      - type: object
        mapping: $.
    - name: getmetric
      description: Get Metric Value
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getmetric
      with:
        requiredMetricName: tools.requiredMetricName
        tag: tools.tag
      inputParameters:
      - name: requiredMetricName
        type: string
        description: Metric name in dot notation
        required: true
      - name: tag
        type: string
        description: 'Tag filter in KEY:VALUE format (can be repeated for multiple tags). Example: area:heap or area:heap&tag=id:G1+Eden+Space'
      outputParameters:
      - type: object
        mapping: $.
    - name: getinfo
      description: Get Application Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getinfo
      outputParameters:
      - type: object
        mapping: $.
    - name: getenvironment
      description: Get Environment Properties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getenvironment
      outputParameters:
      - type: object
        mapping: $.
    - name: getenvironmentproperty
      description: Get Environment Property
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getenvironmentproperty
      with:
        toMatch: tools.toMatch
      inputParameters:
      - name: toMatch
        type: string
        description: Property key to look up
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listloggers
      description: List Loggers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.listloggers
      outputParameters:
      - type: object
        mapping: $.
    - name: getlogger
      description: Get Logger Configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getlogger
      with:
        name: tools.name
      inputParameters:
      - name: name
        type: string
        description: Logger name (e.g., com.example.MyService, ROOT)
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: setloggerlevel
      description: Set Logger Level
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: spring.setloggerlevel
      with:
        name: tools.name
      inputParameters:
      - name: name
        type: string
        description: Logger name
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getmappings
      description: Get Request Mappings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getmappings
      outputParameters:
      - type: object
        mapping: $.
    - name: getthreaddump
      description: Get Thread Dump
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getthreaddump
      outputParameters:
      - type: object
        mapping: $.
    - name: getbeans
      description: Get Application Beans
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring.getbeans
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    SPRING_USERNAME: SPRING_USERNAME
    SPRING_PASSWORD: SPRING_PASSWORD