Grafana · Capability

Grafana — Reports

Grafana — Reports. 12 operations. Lead operation: Grafana Get Custom Permissions Report. Self-contained Naftiko capability covering one Grafana business surface.

Run with Naftiko GrafanaReports

What You Can Do

GET
Getcustompermissionsreport — Grafana Get Custom Permissions Report
/v1/licensing/custom-permissions
GET
Getreports — Grafana Get Reports
/v1/reports
POST
Createreport — Grafana Create Report
/v1/reports
GET
Getreportsbydashboarduid — Grafana Get Reports By Dashboard UID
/v1/reports/dashboards/{uid}
POST
Sendreport — Grafana Send Report
/v1/reports/email
GET
Renderreportcsvs — Grafana Render Report CS Vs
/v1/reports/render/csvs
GET
Renderreportpdfs — Grafana Render Report PD Fs
/v1/reports/render/pdfs
GET
Getreportsettings — Grafana Get Report Settings
/v1/reports/settings
POST
Savereportsettings — Grafana Save Report Settings
/v1/reports/settings
GET
Getreport — Grafana Get Report
/v1/reports/{id}
PUT
Updatereport — Grafana Update Report
/v1/reports/{id}
DELETE
Deletereport — Grafana Delete Report
/v1/reports/{id}

MCP Tools

grafana-get-custom-permissions-report

Grafana Get Custom Permissions Report

read-only idempotent
grafana-get-reports

Grafana Get Reports

read-only idempotent
grafana-create-report

Grafana Create Report

grafana-get-reports-dashboard-uid

Grafana Get Reports By Dashboard UID

read-only idempotent
grafana-send-report

Grafana Send Report

grafana-render-report-cs-vs

Grafana Render Report CS Vs

read-only idempotent
grafana-render-report-pd-fs

Grafana Render Report PD Fs

read-only idempotent
grafana-get-report-settings

Grafana Get Report Settings

read-only idempotent
grafana-save-report-settings

Grafana Save Report Settings

grafana-get-report

Grafana Get Report

read-only idempotent
grafana-update-report

Grafana Update Report

idempotent
grafana-delete-report

Grafana Delete Report

idempotent

Capability Spec

grafana-reports.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Grafana — Reports
  description: 'Grafana — Reports. 12 operations. Lead operation: Grafana Get Custom Permissions Report. Self-contained Naftiko
    capability covering one Grafana business surface.'
  tags:
  - Grafana
  - Reports
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: grafana-reports
    baseUri: http://{defaultHost}
    description: Grafana — Reports business capability. Self-contained, no shared references.
    resources:
    - name: licensing-custom-permissions
      path: /licensing/custom-permissions
      operations:
      - name: getcustompermissionsreport
        method: GET
        description: Grafana Get Custom Permissions Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: reports
      path: /reports
      operations:
      - name: getreports
        method: GET
        description: Grafana Get Reports
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createreport
        method: POST
        description: Grafana Create Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reports-dashboards-uid
      path: /reports/dashboards/{uid}
      operations:
      - name: getreportsbydashboarduid
        method: GET
        description: Grafana Get Reports By Dashboard UID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          required: true
    - name: reports-email
      path: /reports/email
      operations:
      - name: sendreport
        method: POST
        description: Grafana Send Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reports-render-csvs
      path: /reports/render/csvs
      operations:
      - name: renderreportcsvs
        method: GET
        description: Grafana Render Report CS Vs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dashboards
          in: query
          type: string
        - name: title
          in: query
          type: string
    - name: reports-render-pdfs
      path: /reports/render/pdfs
      operations:
      - name: renderreportpdfs
        method: GET
        description: Grafana Render Report PD Fs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dashboards
          in: query
          type: string
        - name: orientation
          in: query
          type: string
        - name: layout
          in: query
          type: string
        - name: title
          in: query
          type: string
        - name: scaleFactor
          in: query
          type: string
        - name: includeTables
          in: query
          type: string
    - name: reports-settings
      path: /reports/settings
      operations:
      - name: getreportsettings
        method: GET
        description: Grafana Get Report Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: savereportsettings
        method: POST
        description: Grafana Save Report Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reports-id
      path: /reports/{id}
      operations:
      - name: getreport
        method: GET
        description: Grafana Get Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
      - name: updatereport
        method: PUT
        description: Grafana Update Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletereport
        method: DELETE
        description: Grafana Delete Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.GRAFANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: grafana-reports-rest
    port: 8080
    description: REST adapter for Grafana — Reports. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/licensing/custom-permissions
      name: licensing-custom-permissions
      description: REST surface for licensing-custom-permissions.
      operations:
      - method: GET
        name: getcustompermissionsreport
        description: Grafana Get Custom Permissions Report
        call: grafana-reports.getcustompermissionsreport
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports
      name: reports
      description: REST surface for reports.
      operations:
      - method: GET
        name: getreports
        description: Grafana Get Reports
        call: grafana-reports.getreports
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreport
        description: Grafana Create Report
        call: grafana-reports.createreport
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/dashboards/{uid}
      name: reports-dashboards-uid
      description: REST surface for reports-dashboards-uid.
      operations:
      - method: GET
        name: getreportsbydashboarduid
        description: Grafana Get Reports By Dashboard UID
        call: grafana-reports.getreportsbydashboarduid
        with:
          uid: rest.uid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/email
      name: reports-email
      description: REST surface for reports-email.
      operations:
      - method: POST
        name: sendreport
        description: Grafana Send Report
        call: grafana-reports.sendreport
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/render/csvs
      name: reports-render-csvs
      description: REST surface for reports-render-csvs.
      operations:
      - method: GET
        name: renderreportcsvs
        description: Grafana Render Report CS Vs
        call: grafana-reports.renderreportcsvs
        with:
          dashboards: rest.dashboards
          title: rest.title
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/render/pdfs
      name: reports-render-pdfs
      description: REST surface for reports-render-pdfs.
      operations:
      - method: GET
        name: renderreportpdfs
        description: Grafana Render Report PD Fs
        call: grafana-reports.renderreportpdfs
        with:
          dashboards: rest.dashboards
          orientation: rest.orientation
          layout: rest.layout
          title: rest.title
          scaleFactor: rest.scaleFactor
          includeTables: rest.includeTables
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/settings
      name: reports-settings
      description: REST surface for reports-settings.
      operations:
      - method: GET
        name: getreportsettings
        description: Grafana Get Report Settings
        call: grafana-reports.getreportsettings
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: savereportsettings
        description: Grafana Save Report Settings
        call: grafana-reports.savereportsettings
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reports/{id}
      name: reports-id
      description: REST surface for reports-id.
      operations:
      - method: GET
        name: getreport
        description: Grafana Get Report
        call: grafana-reports.getreport
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatereport
        description: Grafana Update Report
        call: grafana-reports.updatereport
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletereport
        description: Grafana Delete Report
        call: grafana-reports.deletereport
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: grafana-reports-mcp
    port: 9090
    transport: http
    description: MCP adapter for Grafana — Reports. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: grafana-get-custom-permissions-report
      description: Grafana Get Custom Permissions Report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.getcustompermissionsreport
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-reports
      description: Grafana Get Reports
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.getreports
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-create-report
      description: Grafana Create Report
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-reports.createreport
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-reports-dashboard-uid
      description: Grafana Get Reports By Dashboard UID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.getreportsbydashboarduid
      with:
        uid: tools.uid
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-send-report
      description: Grafana Send Report
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-reports.sendreport
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-render-report-cs-vs
      description: Grafana Render Report CS Vs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.renderreportcsvs
      with:
        dashboards: tools.dashboards
        title: tools.title
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-render-report-pd-fs
      description: Grafana Render Report PD Fs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.renderreportpdfs
      with:
        dashboards: tools.dashboards
        orientation: tools.orientation
        layout: tools.layout
        title: tools.title
        scaleFactor: tools.scaleFactor
        includeTables: tools.includeTables
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-report-settings
      description: Grafana Get Report Settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.getreportsettings
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-save-report-settings
      description: Grafana Save Report Settings
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-reports.savereportsettings
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-report
      description: Grafana Get Report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-reports.getreport
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-update-report
      description: Grafana Update Report
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-reports.updatereport
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-delete-report
      description: Grafana Delete Report
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: grafana-reports.deletereport
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.