Grafana · Capability
Grafana — Search
Grafana — Search. 13 operations. Lead operation: Grafana Search Result. Self-contained Naftiko capability covering one Grafana business surface.
What You Can Do
POST
Searchresult
— Grafana Search Result
/v1/access-control/assignments/search
GET
Searchdevices
— Grafana Search Devices
/v1/anonymous/search
GET
Searchdashboardsnapshots
— Grafana Search Dashboard Snapshots
/v1/dashboard/snapshots
GET
Searchorganizations
— Grafana Search Organizations
/v1/orgs
GET
Searchorgusers
— Grafana Search Org Users
/v1/orgs/{org-id}/users/search
GET
Searchplaylists
— Grafana Search Playlists
/v1/playlists
GET
Searchqueries
— Grafana Search Queries
/v1/query-history
GET
Search
— Grafana Search
/v1/search
GET
Searchorgserviceaccountswithpaging
— Grafana Search Org Service Accounts With Paging
/v1/serviceaccounts/search
GET
Searchteams
— Grafana Search Teams
/v1/teams/search
GET
Searchteamgroups
— Grafana Search Team Groups
/v1/teams/{teamid}/groups/search
GET
Searchusers
— Grafana Search Users
/v1/users
GET
Searchuserswithpaging
— Grafana Search Users With Paging
/v1/users/search
MCP Tools
grafana-search-result
Grafana Search Result
read-only
grafana-search-devices
Grafana Search Devices
read-only
idempotent
grafana-search-dashboard-snapshots
Grafana Search Dashboard Snapshots
read-only
idempotent
grafana-search-organizations
Grafana Search Organizations
read-only
idempotent
grafana-search-org-users
Grafana Search Org Users
read-only
idempotent
grafana-search-playlists
Grafana Search Playlists
read-only
idempotent
grafana-search-queries
Grafana Search Queries
read-only
idempotent
grafana-search
Grafana Search
read-only
idempotent
grafana-search-org-service-accounts
Grafana Search Org Service Accounts With Paging
read-only
idempotent
grafana-search-teams
Grafana Search Teams
read-only
idempotent
grafana-search-team-groups
Grafana Search Team Groups
read-only
idempotent
grafana-search-users
Grafana Search Users
read-only
idempotent
grafana-search-users-paging
Grafana Search Users With Paging
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Grafana — Search
description: 'Grafana — Search. 13 operations. Lead operation: Grafana Search Result. Self-contained Naftiko capability
covering one Grafana business surface.'
tags:
- Grafana
- Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
consumes:
- type: http
namespace: grafana-search
baseUri: http://{defaultHost}
description: Grafana — Search business capability. Self-contained, no shared references.
resources:
- name: access-control-assignments-search
path: /access-control/assignments/search
operations:
- name: searchresult
method: POST
description: Grafana Search Result
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: anonymous-search
path: /anonymous/search
operations:
- name: searchdevices
method: GET
description: Grafana Search Devices
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: dashboard-snapshots
path: /dashboard/snapshots
operations:
- name: searchdashboardsnapshots
method: GET
description: Grafana Search Dashboard Snapshots
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
description: Search Query
- name: limit
in: query
type: integer
description: Limit the number of returned results
- name: orgs
path: /orgs
operations:
- name: searchorganizations
method: GET
description: Grafana Search Organizations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: page
in: query
type: integer
- name: perpage
in: query
type: integer
description: Number of items per page
- name: name
in: query
type: string
- name: query
in: query
type: string
description: If set it will return results where the query value is contained in the name field. Query values with
spaces need to be URL encoded.
- name: orgs-org_id-users-search
path: /orgs/{org_id}/users/search
operations:
- name: searchorgusers
method: GET
description: Grafana Search Org Users
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: org_id
in: path
type: integer
required: true
- name: playlists
path: /playlists
operations:
- name: searchplaylists
method: GET
description: Grafana Search Playlists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
- name: limit
in: query
type: integer
description: in:limit
- name: query-history
path: /query-history
operations:
- name: searchqueries
method: GET
description: Grafana Search Queries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: datasourceUid
in: query
type: array
description: List of data source UIDs to search for
- name: searchString
in: query
type: string
description: Text inside query or comments that is searched for
- name: onlyStarred
in: query
type: boolean
description: Flag indicating if only starred queries should be returned
- name: sort
in: query
type: string
description: Sort method
- name: page
in: query
type: integer
description: Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size.
- name: limit
in: query
type: integer
description: Limit the number of returned results
- name: from
in: query
type: integer
description: From range for the query history search
- name: to
in: query
type: integer
description: To range for the query history search
- name: search
path: /search
operations:
- name: search
method: GET
description: Grafana Search
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
description: Search Query
- name: tag
in: query
type: array
description: List of tags to search for
- name: type
in: query
type: string
description: Type to search for, dash-folder or dash-db
- name: dashboardIds
in: query
type: array
description: List of dashboard id’s to search for
- name: dashboardUIDs
in: query
type: array
description: List of dashboard uid’s to search for
- name: folderIds
in: query
type: array
description: List of folder id’s to search in for dashboards
- name: folderUIDs
in: query
type: array
description: List of folder UID’s to search in for dashboards
- name: starred
in: query
type: boolean
description: Flag indicating if only starred Dashboards should be returned
- name: limit
in: query
type: integer
description: Limit the number of returned results (max 5000)
- name: page
in: query
type: integer
description: Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size.
Only available in Grafana v6.2+.
- name: permission
in: query
type: string
description: Set to `Edit` to return dashboards/folders that the user can edit
- name: sort
in: query
type: string
description: Sort method; for listing all the possible sort methods use the search sorting endpoint.
- name: deleted
in: query
type: boolean
description: Flag indicating if only soft deleted Dashboards should be returned
- name: serviceaccounts-search
path: /serviceaccounts/search
operations:
- name: searchorgserviceaccountswithpaging
method: GET
description: Grafana Search Org Service Accounts With Paging
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Disabled
in: query
type: boolean
- name: expiredTokens
in: query
type: boolean
- name: query
in: query
type: string
description: It will return results where the query value is contained in one of the name.
- name: perpage
in: query
type: integer
description: The default value is 1000.
- name: page
in: query
type: integer
description: The default value is 1.
- name: teams-search
path: /teams/search
operations:
- name: searchteams
method: GET
description: Grafana Search Teams
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: page
in: query
type: integer
- name: perpage
in: query
type: integer
description: Number of items per page
- name: name
in: query
type: string
- name: query
in: query
type: string
description: If set it will return results where the query value is contained in the name field. Query values with
spaces need to be URL encoded.
- name: accesscontrol
in: query
type: boolean
- name: sort
in: query
type: string
- name: teams-teamId-groups-search
path: /teams/{teamId}/groups/search
operations:
- name: searchteamgroups
method: GET
description: Grafana Search Team Groups
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: teamId
in: path
type: integer
required: true
- name: page
in: query
type: integer
- name: perpage
in: query
type: integer
description: Number of items per page
- name: query
in: query
type: string
description: If set it will return results where the query value is contained in the name field. Query values with
spaces need to be URL encoded.
- name: name
in: query
type: string
description: Filter by exact name match
- name: users
path: /users
operations:
- name: searchusers
method: GET
description: Grafana Search Users
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: perpage
in: query
type: integer
description: Limit the maximum number of users to return per page
- name: page
in: query
type: integer
description: Page index for starting fetching users
- name: users-search
path: /users/search
operations:
- name: searchuserswithpaging
method: GET
description: Grafana Search Users With Paging
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-search-rest
port: 8080
description: REST adapter for Grafana — Search. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/access-control/assignments/search
name: access-control-assignments-search
description: REST surface for access-control-assignments-search.
operations:
- method: POST
name: searchresult
description: Grafana Search Result
call: grafana-search.searchresult
outputParameters:
- type: object
mapping: $.
- path: /v1/anonymous/search
name: anonymous-search
description: REST surface for anonymous-search.
operations:
- method: GET
name: searchdevices
description: Grafana Search Devices
call: grafana-search.searchdevices
outputParameters:
- type: object
mapping: $.
- path: /v1/dashboard/snapshots
name: dashboard-snapshots
description: REST surface for dashboard-snapshots.
operations:
- method: GET
name: searchdashboardsnapshots
description: Grafana Search Dashboard Snapshots
call: grafana-search.searchdashboardsnapshots
with:
query: rest.query
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/orgs
name: orgs
description: REST surface for orgs.
operations:
- method: GET
name: searchorganizations
description: Grafana Search Organizations
call: grafana-search.searchorganizations
with:
page: rest.page
perpage: rest.perpage
name: rest.name
query: rest.query
outputParameters:
- type: object
mapping: $.
- path: /v1/orgs/{org-id}/users/search
name: orgs-org-id-users-search
description: REST surface for orgs-org_id-users-search.
operations:
- method: GET
name: searchorgusers
description: Grafana Search Org Users
call: grafana-search.searchorgusers
with:
org_id: rest.org_id
outputParameters:
- type: object
mapping: $.
- path: /v1/playlists
name: playlists
description: REST surface for playlists.
operations:
- method: GET
name: searchplaylists
description: Grafana Search Playlists
call: grafana-search.searchplaylists
with:
query: rest.query
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/query-history
name: query-history
description: REST surface for query-history.
operations:
- method: GET
name: searchqueries
description: Grafana Search Queries
call: grafana-search.searchqueries
with:
datasourceUid: rest.datasourceUid
searchString: rest.searchString
onlyStarred: rest.onlyStarred
sort: rest.sort
page: rest.page
limit: rest.limit
from: rest.from
to: rest.to
outputParameters:
- type: object
mapping: $.
- path: /v1/search
name: search
description: REST surface for search.
operations:
- method: GET
name: search
description: Grafana Search
call: grafana-search.search
with:
query: rest.query
tag: rest.tag
type: rest.type
dashboardIds: rest.dashboardIds
dashboardUIDs: rest.dashboardUIDs
folderIds: rest.folderIds
folderUIDs: rest.folderUIDs
starred: rest.starred
limit: rest.limit
page: rest.page
permission: rest.permission
sort: rest.sort
deleted: rest.deleted
outputParameters:
- type: object
mapping: $.
- path: /v1/serviceaccounts/search
name: serviceaccounts-search
description: REST surface for serviceaccounts-search.
operations:
- method: GET
name: searchorgserviceaccountswithpaging
description: Grafana Search Org Service Accounts With Paging
call: grafana-search.searchorgserviceaccountswithpaging
with:
Disabled: rest.Disabled
expiredTokens: rest.expiredTokens
query: rest.query
perpage: rest.perpage
page: rest.page
outputParameters:
- type: object
mapping: $.
- path: /v1/teams/search
name: teams-search
description: REST surface for teams-search.
operations:
- method: GET
name: searchteams
description: Grafana Search Teams
call: grafana-search.searchteams
with:
page: rest.page
perpage: rest.perpage
name: rest.name
query: rest.query
accesscontrol: rest.accesscontrol
sort: rest.sort
outputParameters:
- type: object
mapping: $.
- path: /v1/teams/{teamid}/groups/search
name: teams-teamid-groups-search
description: REST surface for teams-teamId-groups-search.
operations:
- method: GET
name: searchteamgroups
description: Grafana Search Team Groups
call: grafana-search.searchteamgroups
with:
teamId: rest.teamId
page: rest.page
perpage: rest.perpage
query: rest.query
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/users
name: users
description: REST surface for users.
operations:
- method: GET
name: searchusers
description: Grafana Search Users
call: grafana-search.searchusers
with:
perpage: rest.perpage
page: rest.page
outputParameters:
- type: object
mapping: $.
- path: /v1/users/search
name: users-search
description: REST surface for users-search.
operations:
- method: GET
name: searchuserswithpaging
description: Grafana Search Users With Paging
call: grafana-search.searchuserswithpaging
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: grafana-search-mcp
port: 9090
transport: http
description: MCP adapter for Grafana — Search. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: grafana-search-result
description: Grafana Search Result
hints:
readOnly: true
destructive: false
idempotent: false
call: grafana-search.searchresult
outputParameters:
- type: object
mapping: $.
- name: grafana-search-devices
description: Grafana Search Devices
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchdevices
outputParameters:
- type: object
mapping: $.
- name: grafana-search-dashboard-snapshots
description: Grafana Search Dashboard Snapshots
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchdashboardsnapshots
with:
query: tools.query
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: grafana-search-organizations
description: Grafana Search Organizations
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchorganizations
with:
page: tools.page
perpage: tools.perpage
name: tools.name
query: tools.query
outputParameters:
- type: object
mapping: $.
- name: grafana-search-org-users
description: Grafana Search Org Users
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchorgusers
with:
org_id: tools.org_id
outputParameters:
- type: object
mapping: $.
- name: grafana-search-playlists
description: Grafana Search Playlists
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchplaylists
with:
query: tools.query
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: grafana-search-queries
description: Grafana Search Queries
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchqueries
with:
datasourceUid: tools.datasourceUid
searchString: tools.searchString
onlyStarred: tools.onlyStarred
sort: tools.sort
page: tools.page
limit: tools.limit
from: tools.from
to: tools.to
outputParameters:
- type: object
mapping: $.
- name: grafana-search
description: Grafana Search
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.search
with:
query: tools.query
tag: tools.tag
type: tools.type
dashboardIds: tools.dashboardIds
dashboardUIDs: tools.dashboardUIDs
folderIds: tools.folderIds
folderUIDs: tools.folderUIDs
starred: tools.starred
limit: tools.limit
page: tools.page
permission: tools.permission
sort: tools.sort
deleted: tools.deleted
outputParameters:
- type: object
mapping: $.
- name: grafana-search-org-service-accounts
description: Grafana Search Org Service Accounts With Paging
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchorgserviceaccountswithpaging
with:
Disabled: tools.Disabled
expiredTokens: tools.expiredTokens
query: tools.query
perpage: tools.perpage
page: tools.page
outputParameters:
- type: object
mapping: $.
- name: grafana-search-teams
description: Grafana Search Teams
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchteams
with:
page: tools.page
perpage: tools.perpage
name: tools.name
query: tools.query
accesscontrol: tools.accesscontrol
sort: tools.sort
outputParameters:
- type: object
mapping: $.
- name: grafana-search-team-groups
description: Grafana Search Team Groups
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchteamgroups
with:
teamId: tools.teamId
page: tools.page
perpage: tools.perpage
query: tools.query
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: grafana-search-users
description: Grafana Search Users
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchusers
with:
perpage: tools.perpage
page: tools.page
outputParameters:
- type: object
mapping: $.
- name: grafana-search-users-paging
description: Grafana Search Users With Paging
hints:
readOnly: true
destructive: false
idempotent: true
call: grafana-search.searchuserswithpaging
outputParameters:
- type: object
mapping: $.