get_alert_rule | Read the full definition of one alert rule by uid (from list_alert_rules): its group, folder, evaluation interval, queries, condition, for, labels, annotations and notification settings, in the provisioning export format (JSON). |
get_current_org | Get the Grafana organization of the service account (id, name). On a self-hosted Grafana the id gives the namespace of the dashboard and folder actions: 1 → “default”, otherwise “org-<id>”. |
get_dashboard | Read a dashboard by uid (from search): metadata (name = uid, folder in annotations[“grafana.app/folder”]) and spec (title, panels with their queries, templating variables, time range). namespace: “default” on a self-hosted Grafana (organization 1), “org-<id>” for another organization (id from get_current_org), “stacks-<instance id>” on Grafana Cloud (grafana.com → your stack → Details of the Grafana instance; ask the user if unknown). A wrong namespace answers 403 “invalid namespace”. |
list_alert_rules | List Grafana-managed alert and recording rules with their state, by rule group: data.groups[].rules[] (uid, name, query, labels, annotations, state, health, lastError, active alerts). folder_uid / dashboard_uid: optional uids; rule_name_contains / group_name_contains: optional case-insensitive substrings; rule_type: optional “alerting” or “recording”; state: optional array of “normal”, “pending”, “alerting”, “nodata”, “error”, “recovering”; health: optional array of “ok”, “error”, “nodata”; limit_alerts: optional integer, alert instances per rule; group_limit: optional integer; group_next_token: optional token from data.groupNextToken of the previous page. |
list_alerts | List the alert instances of the Grafana Alertmanager (labels, annotations, startsAt, status.state active / suppressed, status.silencedBy, fingerprint). active / silenced / inhibited: optional booleans to include those alerts (default true); filter: optional array of label matchers, e.g. alertname=“HighCPU” or severity=~“crit.*”; receiver: optional regular expression on the contact point name. |
list_annotations | List annotations, newest first (id, time and timeEnd in epoch milliseconds, text, tags, dashboardUID, panelId, alertId). from / to: optional epoch milliseconds; dashboardUID: optional dashboard uid; panelId: optional integer; alertUID: optional alert rule uid; userUID: optional author uid; type: optional “annotation” or “alert”; tags: optional array of tags (organization annotations); matchAny: optional boolean, true = any of the tags; limit: optional integer 1-5000. |
list_datasources | List the data sources of the organization (uid, name, type, url, database, isDefault, jsonData settings). Passwords and encrypted settings are removed. Needs datasources:read (Admin role by default). |
list_folders | List the folders the service account can see (items[].metadata.name = folder uid, metadata.annotations[“grafana.app/folder”] = parent uid, spec.title). limit: optional integer 1-1000; continue: optional token from metadata.continue of the previous page. namespace: “default” on a self-hosted Grafana (organization 1), “org-<id>” for another organization (id from get_current_org), “stacks-<instance id>” on Grafana Cloud (grafana.com → your stack → Details of the Grafana instance; ask the user if unknown). A wrong namespace answers 403 “invalid namespace”. |
list_org_users | List the users of the organization (userId, uid, login, email, name, role, lastSeenAt). query: optional string matched against login, email and name; limit: optional integer 1-1000. Needs org.users:read (Admin role by default). |
search | Search dashboards and folders the service account can see. Returns uid, title, type (dash-db or dash-folder), url, tags, folderUid, folderTitle. query: optional title substring; tag: optional array of tags (all must match); type: optional “dash-db” or “dash-folder”; dashboardUIDs / folderUIDs: optional arrays of uids (folderUIDs restricts to those folders); starred: optional boolean; sort: optional “alpha-asc” or “alpha-desc”; limit: optional integer 1-5000; page: optional integer from 1. |
search_teams | Search the teams of the organization: { totalCount, teams: [{ id, uid, name, email, memberCount }], page, perPage }. query: optional substring of the team name; name: optional exact team name; page: optional integer from 1; perpage: optional integer 1-1000. Needs teams:read (Admin role by default, or team administrator). |