Grafana · Capability

Grafana — Data

Grafana — Data. 16 operations. Lead operation: Grafana Get Data Sources. Self-contained Naftiko capability covering one Grafana business surface.

Run with Naftiko GrafanaData

What You Can Do

GET
Getdatasources — Grafana Get Data Sources
/v1/datasources
POST
Adddatasource — Grafana Add Data Source
/v1/datasources
GET
Getdatasourceidbyname — Grafana Get Data Source Id By Name
/v1/datasources/id/{name}
GET
Getdatasourcebyname — Grafana Get Data Source By Name
/v1/datasources/name/{name}
DELETE
Deletedatasourcebyname — Grafana Delete Data Source By Name
/v1/datasources/name/{name}
GET
Getdatasourcebyuid — Grafana Get Data Source By UID
/v1/datasources/uid/{uid}
PUT
Updatedatasourcebyuid — Grafana Update Data Source By UID
/v1/datasources/uid/{uid}
DELETE
Deletedatasourcebyuid — Grafana Delete Data Source By UID
/v1/datasources/uid/{uid}
GET
Getdatasourcecacheconfig — Grafana Get Data Source Cache Config
/v1/datasources/{datasourceuid}/cache
POST
Setdatasourcecacheconfig — Grafana Set Data Source Cache Config
/v1/datasources/{datasourceuid}/cache
POST
Cleandatasourcecache — Grafana Clean Data Source Cache
/v1/datasources/{datasourceuid}/cache/clean
POST
Disabledatasourcecache — Grafana Disable Data Source Cache
/v1/datasources/{datasourceuid}/cache/disable
POST
Enabledatasourcecache — Grafana Enable Data Source Cache
/v1/datasources/{datasourceuid}/cache/enable
GET
Getdatasourcebyid — Grafana Get Data Source By ID
/v1/datasources/{id}
PUT
Updatedatasourcebyid — Grafana Update Data Source By ID
/v1/datasources/{id}
DELETE
Deletedatasourcebyid — Grafana Delete Data Source By ID
/v1/datasources/{id}

MCP Tools

grafana-get-data-sources

Grafana Get Data Sources

read-only idempotent
grafana-add-data-source

Grafana Add Data Source

grafana-get-data-source-id

Grafana Get Data Source Id By Name

read-only idempotent
grafana-get-data-source-name

Grafana Get Data Source By Name

read-only idempotent
grafana-delete-data-source-name

Grafana Delete Data Source By Name

idempotent
grafana-get-data-source-uid

Grafana Get Data Source By UID

read-only idempotent
grafana-update-data-source-uid

Grafana Update Data Source By UID

idempotent
grafana-delete-data-source-uid

Grafana Delete Data Source By UID

idempotent
grafana-get-data-source-cache

Grafana Get Data Source Cache Config

read-only idempotent
grafana-set-data-source-cache

Grafana Set Data Source Cache Config

grafana-clean-data-source-cache

Grafana Clean Data Source Cache

grafana-disable-data-source-cache

Grafana Disable Data Source Cache

grafana-enable-data-source-cache

Grafana Enable Data Source Cache

grafana-get-data-source-id-2

Grafana Get Data Source By ID

read-only idempotent
grafana-update-data-source-id

Grafana Update Data Source By ID

idempotent
grafana-delete-data-source-id

Grafana Delete Data Source By ID

idempotent

Capability Spec

grafana-data.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Grafana — Data
  description: 'Grafana — Data. 16 operations. Lead operation: Grafana Get Data Sources. Self-contained Naftiko capability
    covering one Grafana business surface.'
  tags:
  - Grafana
  - Data
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: grafana-data
    baseUri: http://{defaultHost}
    description: Grafana — Data business capability. Self-contained, no shared references.
    resources:
    - name: datasources
      path: /datasources
      operations:
      - name: getdatasources
        method: GET
        description: Grafana Get Data Sources
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: adddatasource
        method: POST
        description: Grafana Add Data Source
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: datasources-id-name
      path: /datasources/id/{name}
      operations:
      - name: getdatasourceidbyname
        method: GET
        description: Grafana Get Data Source Id By Name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: datasources-name-name
      path: /datasources/name/{name}
      operations:
      - name: getdatasourcebyname
        method: GET
        description: Grafana Get Data Source By Name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: deletedatasourcebyname
        method: DELETE
        description: Grafana Delete Data Source By Name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: datasources-uid-uid
      path: /datasources/uid/{uid}
      operations:
      - name: getdatasourcebyuid
        method: GET
        description: Grafana Get Data Source By UID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          required: true
      - name: updatedatasourcebyuid
        method: PUT
        description: Grafana Update Data Source By UID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletedatasourcebyuid
        method: DELETE
        description: Grafana Delete Data Source By UID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          required: true
    - name: datasources-dataSourceUID-cache
      path: /datasources/{dataSourceUID}/cache
      operations:
      - name: getdatasourcecacheconfig
        method: GET
        description: Grafana Get Data Source Cache Config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataSourceUID
          in: path
          type: string
          required: true
      - name: setdatasourcecacheconfig
        method: POST
        description: Grafana Set Data Source Cache Config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataSourceUID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: datasources-dataSourceUID-cache-clean
      path: /datasources/{dataSourceUID}/cache/clean
      operations:
      - name: cleandatasourcecache
        method: POST
        description: Grafana Clean Data Source Cache
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataSourceUID
          in: path
          type: string
          required: true
    - name: datasources-dataSourceUID-cache-disable
      path: /datasources/{dataSourceUID}/cache/disable
      operations:
      - name: disabledatasourcecache
        method: POST
        description: Grafana Disable Data Source Cache
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataSourceUID
          in: path
          type: string
          required: true
    - name: datasources-dataSourceUID-cache-enable
      path: /datasources/{dataSourceUID}/cache/enable
      operations:
      - name: enabledatasourcecache
        method: POST
        description: Grafana Enable Data Source Cache
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataSourceUID
          in: path
          type: string
          required: true
    - name: datasources-id
      path: /datasources/{id}
      operations:
      - name: getdatasourcebyid
        method: GET
        description: Grafana Get Data Source By ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: updatedatasourcebyid
        method: PUT
        description: Grafana Update Data Source By ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletedatasourcebyid
        method: DELETE
        description: Grafana Delete Data Source By ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.GRAFANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: grafana-data-rest
    port: 8080
    description: REST adapter for Grafana — Data. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/datasources
      name: datasources
      description: REST surface for datasources.
      operations:
      - method: GET
        name: getdatasources
        description: Grafana Get Data Sources
        call: grafana-data.getdatasources
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: adddatasource
        description: Grafana Add Data Source
        call: grafana-data.adddatasource
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/id/{name}
      name: datasources-id-name
      description: REST surface for datasources-id-name.
      operations:
      - method: GET
        name: getdatasourceidbyname
        description: Grafana Get Data Source Id By Name
        call: grafana-data.getdatasourceidbyname
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/name/{name}
      name: datasources-name-name
      description: REST surface for datasources-name-name.
      operations:
      - method: GET
        name: getdatasourcebyname
        description: Grafana Get Data Source By Name
        call: grafana-data.getdatasourcebyname
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedatasourcebyname
        description: Grafana Delete Data Source By Name
        call: grafana-data.deletedatasourcebyname
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/uid/{uid}
      name: datasources-uid-uid
      description: REST surface for datasources-uid-uid.
      operations:
      - method: GET
        name: getdatasourcebyuid
        description: Grafana Get Data Source By UID
        call: grafana-data.getdatasourcebyuid
        with:
          uid: rest.uid
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatedatasourcebyuid
        description: Grafana Update Data Source By UID
        call: grafana-data.updatedatasourcebyuid
        with:
          uid: rest.uid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedatasourcebyuid
        description: Grafana Delete Data Source By UID
        call: grafana-data.deletedatasourcebyuid
        with:
          uid: rest.uid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/{datasourceuid}/cache
      name: datasources-datasourceuid-cache
      description: REST surface for datasources-dataSourceUID-cache.
      operations:
      - method: GET
        name: getdatasourcecacheconfig
        description: Grafana Get Data Source Cache Config
        call: grafana-data.getdatasourcecacheconfig
        with:
          dataSourceUID: rest.dataSourceUID
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: setdatasourcecacheconfig
        description: Grafana Set Data Source Cache Config
        call: grafana-data.setdatasourcecacheconfig
        with:
          dataSourceUID: rest.dataSourceUID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/{datasourceuid}/cache/clean
      name: datasources-datasourceuid-cache-clean
      description: REST surface for datasources-dataSourceUID-cache-clean.
      operations:
      - method: POST
        name: cleandatasourcecache
        description: Grafana Clean Data Source Cache
        call: grafana-data.cleandatasourcecache
        with:
          dataSourceUID: rest.dataSourceUID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/{datasourceuid}/cache/disable
      name: datasources-datasourceuid-cache-disable
      description: REST surface for datasources-dataSourceUID-cache-disable.
      operations:
      - method: POST
        name: disabledatasourcecache
        description: Grafana Disable Data Source Cache
        call: grafana-data.disabledatasourcecache
        with:
          dataSourceUID: rest.dataSourceUID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/{datasourceuid}/cache/enable
      name: datasources-datasourceuid-cache-enable
      description: REST surface for datasources-dataSourceUID-cache-enable.
      operations:
      - method: POST
        name: enabledatasourcecache
        description: Grafana Enable Data Source Cache
        call: grafana-data.enabledatasourcecache
        with:
          dataSourceUID: rest.dataSourceUID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources/{id}
      name: datasources-id
      description: REST surface for datasources-id.
      operations:
      - method: GET
        name: getdatasourcebyid
        description: Grafana Get Data Source By ID
        call: grafana-data.getdatasourcebyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatedatasourcebyid
        description: Grafana Update Data Source By ID
        call: grafana-data.updatedatasourcebyid
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedatasourcebyid
        description: Grafana Delete Data Source By ID
        call: grafana-data.deletedatasourcebyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: grafana-data-mcp
    port: 9090
    transport: http
    description: MCP adapter for Grafana — Data. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: grafana-get-data-sources
      description: Grafana Get Data Sources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasources
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-data-source
      description: Grafana Add Data Source
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-data.adddatasource
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-data-source-id
      description: Grafana Get Data Source Id By Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasourceidbyname
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-data-source-name
      description: Grafana Get Data Source By Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasourcebyname
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-delete-data-source-name
      description: Grafana Delete Data Source By Name
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: grafana-data.deletedatasourcebyname
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-data-source-uid
      description: Grafana Get Data Source By UID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasourcebyuid
      with:
        uid: tools.uid
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-update-data-source-uid
      description: Grafana Update Data Source By UID
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-data.updatedatasourcebyuid
      with:
        uid: tools.uid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-delete-data-source-uid
      description: Grafana Delete Data Source By UID
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: grafana-data.deletedatasourcebyuid
      with:
        uid: tools.uid
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-data-source-cache
      description: Grafana Get Data Source Cache Config
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasourcecacheconfig
      with:
        dataSourceUID: tools.dataSourceUID
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-set-data-source-cache
      description: Grafana Set Data Source Cache Config
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-data.setdatasourcecacheconfig
      with:
        dataSourceUID: tools.dataSourceUID
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-clean-data-source-cache
      description: Grafana Clean Data Source Cache
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-data.cleandatasourcecache
      with:
        dataSourceUID: tools.dataSourceUID
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-disable-data-source-cache
      description: Grafana Disable Data Source Cache
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-data.disabledatasourcecache
      with:
        dataSourceUID: tools.dataSourceUID
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-enable-data-source-cache
      description: Grafana Enable Data Source Cache
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-data.enabledatasourcecache
      with:
        dataSourceUID: tools.dataSourceUID
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-get-data-source-id-2
      description: Grafana Get Data Source By ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: grafana-data.getdatasourcebyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-update-data-source-id
      description: Grafana Update Data Source By ID
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-data.updatedatasourcebyid
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-delete-data-source-id
      description: Grafana Delete Data Source By ID
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: grafana-data.deletedatasourcebyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.