Grafana · Capability

Grafana — Timing

Grafana — Timing. 5 operations. Lead operation: Grafana Route Post Mute Timing. Self-contained Naftiko capability covering one Grafana business surface.

Run with Naftiko GrafanaTiming

What You Can Do

POST
Routepostmutetiming — Grafana Route Post Mute Timing
/v1/v1/provisioning/mute-timings
GET
Routegetmutetiming — Grafana Route Get Mute Timing
/v1/v1/provisioning/mute-timings/{name}
PUT
Routeputmutetiming — Grafana Route Put Mute Timing
/v1/v1/provisioning/mute-timings/{name}
DELETE
Routedeletemutetiming — Grafana Route Delete Mute Timing
/v1/v1/provisioning/mute-timings/{name}
GET
Routeexportmutetiming — Grafana Route Export Mute Timing
/v1/v1/provisioning/mute-timings/{name}/export

MCP Tools

grafana-route-post-mute-timing

Grafana Route Post Mute Timing

grafana-route-get-mute-timing

Grafana Route Get Mute Timing

read-only idempotent
grafana-route-put-mute-timing

Grafana Route Put Mute Timing

idempotent
grafana-route-delete-mute-timing

Grafana Route Delete Mute Timing

idempotent
grafana-route-export-mute-timing

Grafana Route Export Mute Timing

read-only idempotent

Capability Spec

grafana-timing.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Grafana — Timing
  description: 'Grafana — Timing. 5 operations. Lead operation: Grafana Route Post Mute Timing. Self-contained Naftiko capability
    covering one Grafana business surface.'
  tags:
  - Grafana
  - Timing
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: grafana-timing
    baseUri: http://{defaultHost}
    description: Grafana — Timing business capability. Self-contained, no shared references.
    resources:
    - name: v1-provisioning-mute-timings
      path: /v1/provisioning/mute-timings
      operations:
      - name: routepostmutetiming
        method: POST
        description: Grafana Route Post Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-mute-timings-name
      path: /v1/provisioning/mute-timings/{name}
      operations:
      - name: routegetmutetiming
        method: GET
        description: Grafana Route Get Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Mute timing name
          required: true
      - name: routeputmutetiming
        method: PUT
        description: Grafana Route Put Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Mute timing name
          required: true
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: routedeletemutetiming
        method: DELETE
        description: Grafana Route Delete Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Mute timing name
          required: true
        - name: version
          in: query
          type: string
          description: Version of mute timing to use for optimistic concurrency. Leave empty to disable validation
        - name: X-Disable-Provenance
          in: header
          type: string
    - name: v1-provisioning-mute-timings-name-export
      path: /v1/provisioning/mute-timings/{name}/export
      operations:
      - name: routeexportmutetiming
        method: GET
        description: Grafana Route Export Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: download
          in: query
          type: boolean
          description: Whether to initiate a download of the file or not.
        - name: format
          in: query
          type: string
          description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the
            query parameter will take precedence.
        - name: name
          in: path
          type: string
          description: Mute timing name
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.GRAFANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: grafana-timing-rest
    port: 8080
    description: REST adapter for Grafana — Timing. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/provisioning/mute-timings
      name: v1-provisioning-mute-timings
      description: REST surface for v1-provisioning-mute-timings.
      operations:
      - method: POST
        name: routepostmutetiming
        description: Grafana Route Post Mute Timing
        call: grafana-timing.routepostmutetiming
        with:
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/mute-timings/{name}
      name: v1-provisioning-mute-timings-name
      description: REST surface for v1-provisioning-mute-timings-name.
      operations:
      - method: GET
        name: routegetmutetiming
        description: Grafana Route Get Mute Timing
        call: grafana-timing.routegetmutetiming
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: routeputmutetiming
        description: Grafana Route Put Mute Timing
        call: grafana-timing.routeputmutetiming
        with:
          name: rest.name
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: routedeletemutetiming
        description: Grafana Route Delete Mute Timing
        call: grafana-timing.routedeletemutetiming
        with:
          name: rest.name
          version: rest.version
          X-Disable-Provenance: rest.X-Disable-Provenance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/mute-timings/{name}/export
      name: v1-provisioning-mute-timings-name-export
      description: REST surface for v1-provisioning-mute-timings-name-export.
      operations:
      - method: GET
        name: routeexportmutetiming
        description: Grafana Route Export Mute Timing
        call: grafana-timing.routeexportmutetiming
        with:
          download: rest.download
          format: rest.format
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: grafana-timing-mcp
    port: 9090
    transport: http
    description: MCP adapter for Grafana — Timing. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: grafana-route-post-mute-timing
      description: Grafana Route Post Mute Timing
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-timing.routepostmutetiming
      with:
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-get-mute-timing
      description: Grafana Route Get Mute Timing
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-timing.routegetmutetiming
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-mute-timing
      description: Grafana Route Put Mute Timing
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-timing.routeputmutetiming
      with:
        name: tools.name
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-delete-mute-timing
      description: Grafana Route Delete Mute Timing
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: grafana-timing.routedeletemutetiming
      with:
        name: tools.name
        version: tools.version
        X-Disable-Provenance: tools.X-Disable-Provenance
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-export-mute-timing
      description: Grafana Route Export Mute Timing
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-timing.routeexportmutetiming
      with:
        download: tools.download
        format: tools.format
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.