Grafana · Capability

Grafana — Add

Grafana — Add. 8 operations. Lead operation: Grafana Add Team Role. Self-contained Naftiko capability covering one Grafana business surface.

Run with Naftiko GrafanaAdd

What You Can Do

POST
Addteamrole — Grafana Add Team Role
/v1/access-control/teams/{teamid}/roles
POST
Adduserrole — Grafana Add User Role
/v1/access-control/users/{userid}/roles
POST
Adddatasource — Grafana Add Data Source
/v1/datasources
POST
Addorginvite — Grafana Add Org Invite
/v1/org/invites
POST
Addorgusertocurrentorg — Grafana Add Org User To Current Org
/v1/org/users
POST
Addorguser — Grafana Add Org User
/v1/orgs/{org-id}/users
POST
Addteamgroupapi — Grafana Add Team Group Api
/v1/teams/{teamid}/groups
POST
Addteammember — Grafana Add Team Member
/v1/teams/{team-id}/members

MCP Tools

grafana-add-team-role

Grafana Add Team Role

grafana-add-user-role

Grafana Add User Role

grafana-add-data-source

Grafana Add Data Source

grafana-add-org-invite

Grafana Add Org Invite

grafana-add-org-user-current

Grafana Add Org User To Current Org

grafana-add-org-user

Grafana Add Org User

grafana-add-team-group-api

Grafana Add Team Group Api

grafana-add-team-member

Grafana Add Team Member

Capability Spec

grafana-add.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Grafana — Add
  description: 'Grafana — Add. 8 operations. Lead operation: Grafana Add Team Role. Self-contained Naftiko capability covering
    one Grafana business surface.'
  tags:
  - Grafana
  - Add
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: grafana-add
    baseUri: http://{defaultHost}
    description: Grafana — Add business capability. Self-contained, no shared references.
    resources:
    - name: access-control-teams-teamId-roles
      path: /access-control/teams/{teamId}/roles
      operations:
      - name: addteamrole
        method: POST
        description: Grafana Add Team Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: access-control-users-userId-roles
      path: /access-control/users/{userId}/roles
      operations:
      - name: adduserrole
        method: POST
        description: Grafana Add User Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userId
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: datasources
      path: /datasources
      operations:
      - 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: org-invites
      path: /org/invites
      operations:
      - name: addorginvite
        method: POST
        description: Grafana Add Org Invite
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: org-users
      path: /org/users
      operations:
      - name: addorgusertocurrentorg
        method: POST
        description: Grafana Add Org User To Current Org
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org_id-users
      path: /orgs/{org_id}/users
      operations:
      - name: addorguser
        method: POST
        description: Grafana Add Org User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: teams-teamId-groups
      path: /teams/{teamId}/groups
      operations:
      - name: addteamgroupapi
        method: POST
        description: Grafana Add Team Group Api
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: teams-team_id-members
      path: /teams/{team_id}/members
      operations:
      - name: addteammember
        method: POST
        description: Grafana Add Team Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.GRAFANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: grafana-add-rest
    port: 8080
    description: REST adapter for Grafana — Add. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/access-control/teams/{teamid}/roles
      name: access-control-teams-teamid-roles
      description: REST surface for access-control-teams-teamId-roles.
      operations:
      - method: POST
        name: addteamrole
        description: Grafana Add Team Role
        call: grafana-add.addteamrole
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/access-control/users/{userid}/roles
      name: access-control-users-userid-roles
      description: REST surface for access-control-users-userId-roles.
      operations:
      - method: POST
        name: adduserrole
        description: Grafana Add User Role
        call: grafana-add.adduserrole
        with:
          userId: rest.userId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/datasources
      name: datasources
      description: REST surface for datasources.
      operations:
      - method: POST
        name: adddatasource
        description: Grafana Add Data Source
        call: grafana-add.adddatasource
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/invites
      name: org-invites
      description: REST surface for org-invites.
      operations:
      - method: POST
        name: addorginvite
        description: Grafana Add Org Invite
        call: grafana-add.addorginvite
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/users
      name: org-users
      description: REST surface for org-users.
      operations:
      - method: POST
        name: addorgusertocurrentorg
        description: Grafana Add Org User To Current Org
        call: grafana-add.addorgusertocurrentorg
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/users
      name: orgs-org-id-users
      description: REST surface for orgs-org_id-users.
      operations:
      - method: POST
        name: addorguser
        description: Grafana Add Org User
        call: grafana-add.addorguser
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{teamid}/groups
      name: teams-teamid-groups
      description: REST surface for teams-teamId-groups.
      operations:
      - method: POST
        name: addteamgroupapi
        description: Grafana Add Team Group Api
        call: grafana-add.addteamgroupapi
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/members
      name: teams-team-id-members
      description: REST surface for teams-team_id-members.
      operations:
      - method: POST
        name: addteammember
        description: Grafana Add Team Member
        call: grafana-add.addteammember
        with:
          team_id: rest.team_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: grafana-add-mcp
    port: 9090
    transport: http
    description: MCP adapter for Grafana — Add. One tool per consumed operation, routed inline through this capability's consumes
      block.
    tools:
    - name: grafana-add-team-role
      description: Grafana Add Team Role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addteamrole
      with:
        teamId: tools.teamId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-user-role
      description: Grafana Add User Role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.adduserrole
      with:
        userId: tools.userId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-data-source
      description: Grafana Add Data Source
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.adddatasource
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-org-invite
      description: Grafana Add Org Invite
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addorginvite
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-org-user-current
      description: Grafana Add Org User To Current Org
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addorgusertocurrentorg
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-org-user
      description: Grafana Add Org User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addorguser
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-team-group-api
      description: Grafana Add Team Group Api
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addteamgroupapi
      with:
        teamId: tools.teamId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-add-team-member
      description: Grafana Add Team Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: grafana-add.addteammember
      with:
        team_id: tools.team_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.