naftiko: 1.0.0-alpha2 info: label: Grafana — Lists description: 'Grafana — Lists. 19 operations. Lead operation: Grafana List Roles. Self-contained Naftiko capability covering one Grafana business surface.' tags: - Grafana - Lists created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GRAFANA_API_KEY: GRAFANA_API_KEY capability: consumes: - type: http namespace: grafana-lists baseUri: http://{defaultHost} description: Grafana — Lists business capability. Self-contained, no shared references. resources: - name: access-control-roles path: /access-control/roles operations: - name: listroles method: GET description: Grafana List Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: delegatable in: query type: boolean - name: includeHidden in: query type: boolean - name: access-control-teams-roles-search path: /access-control/teams/roles/search operations: - name: listteamsroles method: POST description: Grafana List Teams Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: access-control-teams-teamId-roles path: /access-control/teams/{teamId}/roles operations: - name: listteamroles method: GET description: Grafana List Team Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: teamId in: path type: integer required: true - name: access-control-users-roles-search path: /access-control/users/roles/search operations: - name: listusersroles method: POST description: Grafana List Users Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - 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: listuserroles method: GET description: Grafana List User Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: integer required: true - name: anonymous-devices path: /anonymous/devices operations: - name: listdevices method: GET description: Grafana List Devices outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cloudmigration-migration path: /cloudmigration/migration operations: - name: getsessionlist method: GET description: Grafana Get Session List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cloudmigration-migration-uid-snapshots path: /cloudmigration/migration/{uid}/snapshots operations: - name: getshapshotlist method: GET description: Grafana Get Shapshot List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page is used for pagination with limit - name: limit in: query type: integer description: Max limit for results returned. - name: uid in: path type: string description: Session UID of a session required: true - name: sort in: query type: string description: Sort with value latest to return results sorted in descending order. - name: dashboards-id-DashboardID-permissions path: /dashboards/id/{DashboardID}/permissions operations: - name: getdashboardpermissionslistbyid method: GET description: Grafana Get Dashboard Permissions List By ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DashboardID in: path type: integer required: true - name: dashboards-public-dashboards path: /dashboards/public-dashboards operations: - name: listpublicdashboards method: GET description: Grafana List Public Dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-uid-uid-permissions path: /dashboards/uid/{uid}/permissions operations: - name: getdashboardpermissionslistbyuid method: GET description: Grafana Get Dashboard Permissions List By UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string required: true - name: folders-folder_uid-permissions path: /folders/{folder_uid}/permissions operations: - name: getfolderpermissionlist method: GET description: Grafana Get Folder Permission List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: folder_uid in: path type: string required: true - name: recording-rules path: /recording-rules operations: - name: listrecordingrules method: GET description: Grafana List Recording Rules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: search-sorting path: /search/sorting operations: - name: listsortoptions method: GET description: Grafana List Sort Options outputRawFormat: json outputParameters: - name: result type: object value: $. - name: serviceaccounts-serviceAccountId-tokens path: /serviceaccounts/{serviceAccountId}/tokens operations: - name: listtokens method: GET description: Grafana List Tokens outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: serviceAccountId in: path type: integer required: true - name: user-orgs path: /user/orgs operations: - name: getsignedinuserorglist method: GET description: Grafana Get Signed In User Org List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: user-teams path: /user/teams operations: - name: getsignedinuserteamlist method: GET description: Grafana Get Signed In User Team List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-user_id-orgs path: /users/{user_id}/orgs operations: - name: getuserorglist method: GET description: Grafana Get User Org List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: integer required: true - name: v1-sso-settings path: /v1/sso-settings operations: - name: listallproviderssettings method: GET description: Grafana List All Providers Settings outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authorization value: '{{env.GRAFANA_API_KEY}}' placement: header exposes: - type: rest namespace: grafana-lists-rest port: 8080 description: REST adapter for Grafana — Lists. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/access-control/roles name: access-control-roles description: REST surface for access-control-roles. operations: - method: GET name: listroles description: Grafana List Roles call: grafana-lists.listroles with: delegatable: rest.delegatable includeHidden: rest.includeHidden outputParameters: - type: object mapping: $. - path: /v1/access-control/teams/roles/search name: access-control-teams-roles-search description: REST surface for access-control-teams-roles-search. operations: - method: POST name: listteamsroles description: Grafana List Teams Roles call: grafana-lists.listteamsroles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/access-control/teams/{teamid}/roles name: access-control-teams-teamid-roles description: REST surface for access-control-teams-teamId-roles. operations: - method: GET name: listteamroles description: Grafana List Team Roles call: grafana-lists.listteamroles with: teamId: rest.teamId outputParameters: - type: object mapping: $. - path: /v1/access-control/users/roles/search name: access-control-users-roles-search description: REST surface for access-control-users-roles-search. operations: - method: POST name: listusersroles description: Grafana List Users Roles call: grafana-lists.listusersroles with: 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: GET name: listuserroles description: Grafana List User Roles call: grafana-lists.listuserroles with: userId: rest.userId outputParameters: - type: object mapping: $. - path: /v1/anonymous/devices name: anonymous-devices description: REST surface for anonymous-devices. operations: - method: GET name: listdevices description: Grafana List Devices call: grafana-lists.listdevices outputParameters: - type: object mapping: $. - path: /v1/cloudmigration/migration name: cloudmigration-migration description: REST surface for cloudmigration-migration. operations: - method: GET name: getsessionlist description: Grafana Get Session List call: grafana-lists.getsessionlist outputParameters: - type: object mapping: $. - path: /v1/cloudmigration/migration/{uid}/snapshots name: cloudmigration-migration-uid-snapshots description: REST surface for cloudmigration-migration-uid-snapshots. operations: - method: GET name: getshapshotlist description: Grafana Get Shapshot List call: grafana-lists.getshapshotlist with: page: rest.page limit: rest.limit uid: rest.uid sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/dashboards/id/{dashboardid}/permissions name: dashboards-id-dashboardid-permissions description: REST surface for dashboards-id-DashboardID-permissions. operations: - method: GET name: getdashboardpermissionslistbyid description: Grafana Get Dashboard Permissions List By ID call: grafana-lists.getdashboardpermissionslistbyid with: DashboardID: rest.DashboardID outputParameters: - type: object mapping: $. - path: /v1/dashboards/public-dashboards name: dashboards-public-dashboards description: REST surface for dashboards-public-dashboards. operations: - method: GET name: listpublicdashboards description: Grafana List Public Dashboards call: grafana-lists.listpublicdashboards outputParameters: - type: object mapping: $. - path: /v1/dashboards/uid/{uid}/permissions name: dashboards-uid-uid-permissions description: REST surface for dashboards-uid-uid-permissions. operations: - method: GET name: getdashboardpermissionslistbyuid description: Grafana Get Dashboard Permissions List By UID call: grafana-lists.getdashboardpermissionslistbyuid with: uid: rest.uid outputParameters: - type: object mapping: $. - path: /v1/folders/{folder-uid}/permissions name: folders-folder-uid-permissions description: REST surface for folders-folder_uid-permissions. operations: - method: GET name: getfolderpermissionlist description: Grafana Get Folder Permission List call: grafana-lists.getfolderpermissionlist with: folder_uid: rest.folder_uid outputParameters: - type: object mapping: $. - path: /v1/recording-rules name: recording-rules description: REST surface for recording-rules. operations: - method: GET name: listrecordingrules description: Grafana List Recording Rules call: grafana-lists.listrecordingrules outputParameters: - type: object mapping: $. - path: /v1/search/sorting name: search-sorting description: REST surface for search-sorting. operations: - method: GET name: listsortoptions description: Grafana List Sort Options call: grafana-lists.listsortoptions outputParameters: - type: object mapping: $. - path: /v1/serviceaccounts/{serviceaccountid}/tokens name: serviceaccounts-serviceaccountid-tokens description: REST surface for serviceaccounts-serviceAccountId-tokens. operations: - method: GET name: listtokens description: Grafana List Tokens call: grafana-lists.listtokens with: serviceAccountId: rest.serviceAccountId outputParameters: - type: object mapping: $. - path: /v1/user/orgs name: user-orgs description: REST surface for user-orgs. operations: - method: GET name: getsignedinuserorglist description: Grafana Get Signed In User Org List call: grafana-lists.getsignedinuserorglist outputParameters: - type: object mapping: $. - path: /v1/user/teams name: user-teams description: REST surface for user-teams. operations: - method: GET name: getsignedinuserteamlist description: Grafana Get Signed In User Team List call: grafana-lists.getsignedinuserteamlist outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/orgs name: users-user-id-orgs description: REST surface for users-user_id-orgs. operations: - method: GET name: getuserorglist description: Grafana Get User Org List call: grafana-lists.getuserorglist with: user_id: rest.user_id outputParameters: - type: object mapping: $. - path: /v1/v1/sso-settings name: v1-sso-settings description: REST surface for v1-sso-settings. operations: - method: GET name: listallproviderssettings description: Grafana List All Providers Settings call: grafana-lists.listallproviderssettings outputParameters: - type: object mapping: $. - type: mcp namespace: grafana-lists-mcp port: 9090 transport: http description: MCP adapter for Grafana — Lists. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: grafana-list-roles description: Grafana List Roles hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listroles with: delegatable: tools.delegatable includeHidden: tools.includeHidden outputParameters: - type: object mapping: $. - name: grafana-list-teams-roles description: Grafana List Teams Roles hints: readOnly: true destructive: false idempotent: false call: grafana-lists.listteamsroles with: body: tools.body outputParameters: - type: object mapping: $. - name: grafana-list-team-roles description: Grafana List Team Roles hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listteamroles with: teamId: tools.teamId outputParameters: - type: object mapping: $. - name: grafana-list-users-roles description: Grafana List Users Roles hints: readOnly: true destructive: false idempotent: false call: grafana-lists.listusersroles with: body: tools.body outputParameters: - type: object mapping: $. - name: grafana-list-user-roles description: Grafana List User Roles hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listuserroles with: userId: tools.userId outputParameters: - type: object mapping: $. - name: grafana-list-devices description: Grafana List Devices hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listdevices outputParameters: - type: object mapping: $. - name: grafana-get-session-list description: Grafana Get Session List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getsessionlist outputParameters: - type: object mapping: $. - name: grafana-get-shapshot-list description: Grafana Get Shapshot List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getshapshotlist with: page: tools.page limit: tools.limit uid: tools.uid sort: tools.sort outputParameters: - type: object mapping: $. - name: grafana-get-dashboard-permissions-list description: Grafana Get Dashboard Permissions List By ID hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getdashboardpermissionslistbyid with: DashboardID: tools.DashboardID outputParameters: - type: object mapping: $. - name: grafana-list-public-dashboards description: Grafana List Public Dashboards hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listpublicdashboards outputParameters: - type: object mapping: $. - name: grafana-get-dashboard-permissions-list-2 description: Grafana Get Dashboard Permissions List By UID hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getdashboardpermissionslistbyuid with: uid: tools.uid outputParameters: - type: object mapping: $. - name: grafana-get-folder-permission-list description: Grafana Get Folder Permission List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getfolderpermissionlist with: folder_uid: tools.folder_uid outputParameters: - type: object mapping: $. - name: grafana-list-recording-rules description: Grafana List Recording Rules hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listrecordingrules outputParameters: - type: object mapping: $. - name: grafana-list-sort-options description: Grafana List Sort Options hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listsortoptions outputParameters: - type: object mapping: $. - name: grafana-list-tokens description: Grafana List Tokens hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listtokens with: serviceAccountId: tools.serviceAccountId outputParameters: - type: object mapping: $. - name: grafana-get-signed-user-org description: Grafana Get Signed In User Org List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getsignedinuserorglist outputParameters: - type: object mapping: $. - name: grafana-get-signed-user-team description: Grafana Get Signed In User Team List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getsignedinuserteamlist outputParameters: - type: object mapping: $. - name: grafana-get-user-org-list description: Grafana Get User Org List hints: readOnly: true destructive: false idempotent: true call: grafana-lists.getuserorglist with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: grafana-list-all-providers-settings description: Grafana List All Providers Settings hints: readOnly: true destructive: false idempotent: true call: grafana-lists.listallproviderssettings outputParameters: - type: object mapping: $.