Caddy · Capability

Caddy Admin API — Configuration

Caddy Admin API — Configuration. 5 operations. Lead operation: Export current configuration at a named path. Self-contained Naftiko capability covering one Caddy business surface.

Run with Naftiko CaddyConfiguration

What You Can Do

GET
Getconfigpath — Export current configuration at a named path
/v1/config/{path}
POST
Postconfigpath — Create or append to configuration at a named path
/v1/config/{path}
PUT
Putconfigpath — Create new objects or insert into arrays at a named path
/v1/config/{path}
PATCH
Patchconfigpath — Replace existing configuration values at a named path
/v1/config/{path}
DELETE
Deleteconfigpath — Remove configuration at a named path
/v1/config/{path}

MCP Tools

export-current-configuration-named-path

Export current configuration at a named path

read-only idempotent
create-append-configuration-named-path

Create or append to configuration at a named path

create-new-objects-insert-arrays

Create new objects or insert into arrays at a named path

idempotent
replace-existing-configuration-values-named

Replace existing configuration values at a named path

idempotent
remove-configuration-named-path

Remove configuration at a named path

idempotent

Capability Spec

caddy-configuration.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Caddy Admin API — Configuration
  description: 'Caddy Admin API — Configuration. 5 operations. Lead operation: Export current configuration at a named path.
    Self-contained Naftiko capability covering one Caddy business surface.'
  tags:
  - Caddy
  - Configuration
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CADDY_API_KEY: CADDY_API_KEY
capability:
  consumes:
  - type: http
    namespace: caddy-configuration
    baseUri: http://localhost:2019
    description: Caddy Admin API — Configuration business capability. Self-contained, no shared references.
    resources:
    - name: config-path
      path: /config/{path}
      operations:
      - name: getconfigpath
        method: GET
        description: Export current configuration at a named path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: postconfigpath
        method: POST
        description: Create or append to configuration at a named path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: putconfigpath
        method: PUT
        description: Create new objects or insert into arrays at a named path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: patchconfigpath
        method: PATCH
        description: Replace existing configuration values at a named path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteconfigpath
        method: DELETE
        description: Remove configuration at a named path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: caddy-configuration-rest
    port: 8080
    description: REST adapter for Caddy Admin API — Configuration. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/config/{path}
      name: config-path
      description: REST surface for config-path.
      operations:
      - method: GET
        name: getconfigpath
        description: Export current configuration at a named path
        call: caddy-configuration.getconfigpath
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postconfigpath
        description: Create or append to configuration at a named path
        call: caddy-configuration.postconfigpath
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putconfigpath
        description: Create new objects or insert into arrays at a named path
        call: caddy-configuration.putconfigpath
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchconfigpath
        description: Replace existing configuration values at a named path
        call: caddy-configuration.patchconfigpath
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteconfigpath
        description: Remove configuration at a named path
        call: caddy-configuration.deleteconfigpath
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: caddy-configuration-mcp
    port: 9090
    transport: http
    description: MCP adapter for Caddy Admin API — Configuration. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: export-current-configuration-named-path
      description: Export current configuration at a named path
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: caddy-configuration.getconfigpath
      outputParameters:
      - type: object
        mapping: $.
    - name: create-append-configuration-named-path
      description: Create or append to configuration at a named path
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: caddy-configuration.postconfigpath
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-objects-insert-arrays
      description: Create new objects or insert into arrays at a named path
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: caddy-configuration.putconfigpath
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: replace-existing-configuration-values-named
      description: Replace existing configuration values at a named path
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: caddy-configuration.patchconfigpath
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-configuration-named-path
      description: Remove configuration at a named path
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: caddy-configuration.deleteconfigpath
      outputParameters:
      - type: object
        mapping: $.