<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on Grafana Labs</title><link>https://grafana.com/docs/grafana/v13.1/developer-resources/mcp/reference/</link><description>Recent content in Reference on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v13.1/developer-resources/mcp/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP tools reference</title><link>https://grafana.com/docs/grafana/v13.1/developer-resources/mcp/reference/mcp-tools-table/</link><pubDate>Fri, 09 Oct 2026 09:23:05 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.1/developer-resources/mcp/reference/mcp-tools-table/</guid><content><![CDATA[&lt;h1 id=&#34;mcp-tools-reference&#34;&gt;MCP tools reference&lt;/h1&gt;
&lt;p&gt;Use the table to confirm minimum Grafana RBAC permissions and scopes for each MCP tool. The sections after the table summarize RBAC patterns, optional categories, and a few operational notes.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The tool list and behavior reflect the current server release. This page is not a roadmap or a commitment to future features.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;what-youll-achieve&#34;&gt;What you&amp;rsquo;ll achieve&lt;/h2&gt;
&lt;p&gt;You can verify that a service account has the right permissions before you enable tools in production, and you can apply common scope patterns without rereading Grafana’s RBAC docs.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Grafana 9.0 or later for full API support.&lt;/li&gt;
&lt;li&gt;Optional: a &lt;a href=&#34;/docs/grafana/latest/administration/service-accounts/#add-a-token-to-a-service-account-in-grafana&#34;&gt;service account&lt;/a&gt; whose permissions match the tools you enable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;review-the-tools-table&#34;&gt;Review the tools table&lt;/h2&gt;
&lt;p&gt;The following table lists MCP tools, required RBAC permissions, and typical scopes. Categories marked with &lt;code&gt;*&lt;/code&gt; are off until you add them to &lt;code&gt;--enabled-tools&lt;/code&gt; (refer to &lt;a href=&#34;../../configure/command-line-flags/&#34;&gt;Command-line flags&lt;/a&gt;).&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Tool&lt;/th&gt;
              &lt;th&gt;Category&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Required RBAC Permissions&lt;/th&gt;
              &lt;th&gt;Required Scopes&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_teams&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List all teams&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;teams:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;teams:*&lt;/code&gt; or &lt;code&gt;teams:id:1&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_users_by_org&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List users in an organization, with search and pagination&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;users:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;global.users:*&lt;/code&gt; or &lt;code&gt;global.users:id:123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_all_roles&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List all Grafana roles&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_role_details&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;Get details for a Grafana role&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:uid:editor&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_role_assignments&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List assignments for a role&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:uid:editor&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_user_roles&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List roles for users&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;global.users:id:123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_team_roles&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List roles for teams&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;roles:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;teams:id:7&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_resource_permissions&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;List permissions for a resource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;permissions:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abcd1234&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_resource_description&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Admin*&lt;/td&gt;
              &lt;td&gt;Describe a Grafana resource type&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;permissions:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user_info&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;User&lt;/td&gt;
              &lt;td&gt;Current identity, capabilities, and accessible organizations&lt;/td&gt;
              &lt;td&gt;None (signed-in user)&lt;/td&gt;
              &lt;td&gt;—&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;search_dashboards&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Search&lt;/td&gt;
              &lt;td&gt;Search for dashboards by query, folder UID, tag, or starred&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt; or &lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;search_folders&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Search&lt;/td&gt;
              &lt;td&gt;Search for folders by query string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt; or &lt;code&gt;folders:uid:xyz789&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_dashboard_by_uid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;Get a dashboard by uid, optionally a saved version&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_dashboard_versions&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;List saved versions of a dashboard (version, author, time, message)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;update_dashboard&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;Update or create a new dashboard&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:create&lt;/code&gt;, &lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt;, &lt;code&gt;folders:*&lt;/code&gt; or &lt;code&gt;folders:uid:xyz789&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_dashboard_panel_queries&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;Get panel title, queries, datasource UID and type from a dashboard&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;run_panel_query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;RunPanelQuery*&lt;/td&gt;
              &lt;td&gt;Execute one or more dashboard panel queries&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;, &lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;, &lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_dashboard_property&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;Extract specific parts of a dashboard using JSONPath expressions&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_dashboard_summary&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Dashboard&lt;/td&gt;
              &lt;td&gt;Get a compact summary of a dashboard without full JSON&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;create_folder&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Folder&lt;/td&gt;
              &lt;td&gt;Create a Grafana folder with a title and optional UID&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_datasources&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Datasources&lt;/td&gt;
              &lt;td&gt;List datasources&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_datasource&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Datasources&lt;/td&gt;
              &lt;td&gt;Get a datasource by UID or name&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;check_datasources_health&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Datasources&lt;/td&gt;
              &lt;td&gt;Check the health of one or more datasources&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;create_datasource&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Datasources&lt;/td&gt;
              &lt;td&gt;Create a datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:create&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;update_datasource&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Datasources&lt;/td&gt;
              &lt;td&gt;Update a datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:read&lt;/code&gt;, &lt;code&gt;datasources:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:*&lt;/code&gt; or &lt;code&gt;datasources:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_query_examples&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Examples*&lt;/td&gt;
              &lt;td&gt;Get example queries for a datasource type&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_prometheus&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Execute a query against a Prometheus datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_prometheus_metric_metadata&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;List metric metadata&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_prometheus_metric_names&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;List available metric names&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_prometheus_label_names&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;List label names matching a selector&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_prometheus_label_values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;List values for a specific label&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_prometheus_histogram&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Prometheus&lt;/td&gt;
              &lt;td&gt;Calculate histogram percentile values&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_incidents&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;List incidents in Grafana Incident, optionally with their custom field values&lt;/td&gt;
              &lt;td&gt;Viewer role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;create_incident&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;Create an incident in Grafana Incident, optionally setting custom fields&lt;/td&gt;
              &lt;td&gt;Editor role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;add_activity_to_incident&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;Add an activity item to an incident in Grafana Incident&lt;/td&gt;
              &lt;td&gt;Editor role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;update_incident&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;Update an incident in Grafana Incident (status, severity, title, or custom fields)&lt;/td&gt;
              &lt;td&gt;Editor role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_incident&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;Get a single incident by ID, including its custom fields&lt;/td&gt;
              &lt;td&gt;Viewer role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_incident_custom_fields&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Incident&lt;/td&gt;
              &lt;td&gt;List the custom fields configured for incidents, with their types and select options&lt;/td&gt;
              &lt;td&gt;Viewer role&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_loki_logs&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;Query and retrieve logs using LogQL (either log or metric queries)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_loki_label_names&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;List all available label names in logs&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_loki_label_values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;List values for a specific log label&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_loki_stats&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;Get statistics about log streams&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_loki_patterns&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;Query detected log patterns to identify common structures&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;analyze_loki_labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Loki&lt;/td&gt;
              &lt;td&gt;Audit a Loki label strategy (live or static) and optionally diagnose query performance&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:loki-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;suggest_loki_alloy_label_config&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Config&lt;/td&gt;
              &lt;td&gt;Generate an Alloy &lt;code&gt;loki.process&lt;/code&gt; snippet enforcing approved labels&lt;/td&gt;
              &lt;td&gt;None&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_influxdb&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;InfluxDB*&lt;/td&gt;
              &lt;td&gt;Query InfluxDB using InfluxQL (v1) or Flux (v2)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:influxdb-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_graphite&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Graphite*&lt;/td&gt;
              &lt;td&gt;Query Graphite metrics&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:graphite-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_graphite_metrics&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Graphite*&lt;/td&gt;
              &lt;td&gt;List Graphite metrics&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:graphite-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_graphite_tags&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Graphite*&lt;/td&gt;
              &lt;td&gt;List Graphite tags&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:graphite-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_graphite_density&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Graphite*&lt;/td&gt;
              &lt;td&gt;Query Graphite metric density&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;, &lt;code&gt;datasources:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:graphite-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_sql_databases&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;SQL*&lt;/td&gt;
              &lt;td&gt;List databases, schemas, or catalogs from a SQL datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_sql_tables&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;SQL*&lt;/td&gt;
              &lt;td&gt;List tables in a SQL datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;describe_sql_table&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;SQL*&lt;/td&gt;
              &lt;td&gt;Get column schema for a table&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_sql&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;SQL*&lt;/td&gt;
              &lt;td&gt;Execute SQL queries with macro substitution&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloudwatch_namespaces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch*&lt;/td&gt;
              &lt;td&gt;List available AWS CloudWatch namespaces&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloudwatch_metrics&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch*&lt;/td&gt;
              &lt;td&gt;List metrics in a namespace&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloudwatch_dimensions&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch*&lt;/td&gt;
              &lt;td&gt;List dimensions for a metric&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloudwatch_dimension_values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch*&lt;/td&gt;
              &lt;td&gt;List values for a dimension key&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_cloudwatch&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch*&lt;/td&gt;
              &lt;td&gt;Execute CloudWatch metric queries&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloud_logging_projects&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Cloud Logging*&lt;/td&gt;
              &lt;td&gt;List GCP projects readable by a Google Cloud Logging datasource&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloud_logging_buckets&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Cloud Logging*&lt;/td&gt;
              &lt;td&gt;List log buckets in a GCP project&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_cloud_logging_views&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Cloud Logging*&lt;/td&gt;
              &lt;td&gt;List log views in a log bucket&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_cloud_logging&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Cloud Logging*&lt;/td&gt;
              &lt;td&gt;Query logs with the Cloud Logging query language&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_elasticsearch&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Elasticsearch*&lt;/td&gt;
              &lt;td&gt;Query Elasticsearch using Lucene syntax or Query DSL&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:elasticsearch-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_quickwit&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Quickwit*&lt;/td&gt;
              &lt;td&gt;Query Quickwit using Lucene syntax or Query DSL&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:quickwit-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_rules_read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;List and inspect alert rules (list, get, versions)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.rules:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt; or &lt;code&gt;folders:uid:alerts-folder&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_rules_write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Create, update, and delete alert rules&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.rules:read&lt;/code&gt; &#43; &lt;code&gt;alert.rules:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt; or &lt;code&gt;folders:uid:alerts-folder&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_manage_routing&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Manage notification policies, contact points, and time intervals&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.notifications:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Global scope&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_routing_write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Create Grafana-managed contact points&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.notifications.provisioning:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Global scope&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_silences_read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;List and inspect alerting silences (list, get)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.instances:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Global scope&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerting_silences_write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Create, update, and expire alerting silences&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alert.instances:read&lt;/code&gt; &#43; &lt;code&gt;alert.instances:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Global scope&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_oncall_schedules&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;List schedules from Grafana OnCall&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.schedules:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_oncall_shift&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;Get details for a specific OnCall shift&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.schedules:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_current_oncall_users&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;Get users currently on-call for a specific schedule&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.schedules:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_oncall_teams&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;List teams from Grafana OnCall&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.user-settings:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_oncall_users&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;List users from Grafana OnCall&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.user-settings:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_alert_groups&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;List alert groups from Grafana OnCall with filtering options&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.alert-groups:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_alert_group&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;Get a specific alert group from Grafana OnCall by its ID&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.alert-groups:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;update_alert_group&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;OnCall&lt;/td&gt;
              &lt;td&gt;Acknowledge, unacknowledge, resolve, or unresolve an alert group&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-oncall-app.alert-groups:write&lt;/code&gt; (and &lt;code&gt;:read&lt;/code&gt;)&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_pyroscope_label_names&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pyroscope&lt;/td&gt;
              &lt;td&gt;List label names matching a selector&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:pyroscope-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_pyroscope_label_values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pyroscope&lt;/td&gt;
              &lt;td&gt;List label values matching a selector for a label name&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:pyroscope-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_pyroscope_profile_types&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pyroscope&lt;/td&gt;
              &lt;td&gt;List available profile types&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:pyroscope-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_pyroscope&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Pyroscope&lt;/td&gt;
              &lt;td&gt;Query profiles, metrics, or both from Pyroscope&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:pyroscope-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;search_tempo_traces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;Search for traces using TraceQL queries&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;query_tempo_metrics&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;Compute trace-derived metrics (instant value or time series)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_tempo_trace&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;Fetch a complete trace by ID&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;diff_tempo_traces&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;Compare two traces&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_tempo_attribute_names&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;List available trace attribute names&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_tempo_attribute_values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;List values for a specific trace attribute&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_tempo_traceql_docs&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Tempo&lt;/td&gt;
              &lt;td&gt;Retrieve TraceQL reference documentation with examples&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;datasources:uid:tempo-uid&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_assertions&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Asserts&lt;/td&gt;
              &lt;td&gt;Get assertion summary for a given entity&lt;/td&gt;
              &lt;td&gt;Plugin-specific permissions&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_conversations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;List, search, and fetch LLM conversations from Grafana Agent Observability&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.conversations:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_generations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Fetch LLM generation details and evaluation scores from Grafana Agent Observability&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_agents&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Read the agent catalog: list agents, get one agent version in full, list version history, and per-version score aggregates&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_evaluators&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Manage evaluators, evaluator templates, and the judge catalog (list, get, upsert, fork, test, delete)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt; &#43; &lt;code&gt;grafana-agento11y-app.eval:write&lt;/code&gt; for mutations and tests&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_eval_rules&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Manage eval rules and guards (list, get, create, update, preview, delete)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt; &#43; &lt;code&gt;grafana-agento11y-app.eval:write&lt;/code&gt; for mutations and previews&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_eval_collections&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Manage saved conversations and the collections that group them (list, get, save, create, update, delete, add and remove members)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt; &#43; &lt;code&gt;grafana-agento11y-app.eval:write&lt;/code&gt; for mutations&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_experiments&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Read offline experiments, their trials, scores, artifact metadata, and filter facets; update and cancel an experiment&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt; &#43; &lt;code&gt;grafana-agento11y-app.eval:write&lt;/code&gt; for mutations&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;agento11y_manage_test_suites&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Agent Observability*&lt;/td&gt;
              &lt;td&gt;Manage the test suites that offline experiments run against, their versions, and their test cases (list, get, create, update, draft, publish, upsert, delete)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;grafana-agento11y-app.data:read&lt;/code&gt; &#43; &lt;code&gt;grafana-agento11y-app.eval:write&lt;/code&gt; for mutations&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ask_assistant&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Assistant*&lt;/td&gt;
              &lt;td&gt;Send a prompt to Grafana Assistant and return the full text reply (multi-turn via &lt;code&gt;contextId&lt;/code&gt;)&lt;/td&gt;
              &lt;td&gt;Plugin-specific permissions&lt;/td&gt;
              &lt;td&gt;Plugin-specific scopes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;generate_deeplink&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Navigation&lt;/td&gt;
              &lt;td&gt;Generate accurate deeplink URLs for Grafana resources&lt;/td&gt;
              &lt;td&gt;None (read-only URL generation)&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;Fetch annotations with filters&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:*&lt;/code&gt; or &lt;code&gt;annotations:id:123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;create_annotation&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;Create a new annotation (standard or Graphite format)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;update_annotation&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;Update specific fields of an annotation (partial update)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;delete_annotation&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;Delete an annotation by ID&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_annotation_tags&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Annotations&lt;/td&gt;
              &lt;td&gt;List annotation tags with optional filtering&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_snapshots&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Snapshot&lt;/td&gt;
              &lt;td&gt;List dashboard snapshots with optional query and limit filters&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt; or &lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_snapshot&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Snapshot&lt;/td&gt;
              &lt;td&gt;Get snapshot metadata and dashboard payload by snapshot key&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt; or &lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;create_snapshot&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Snapshot&lt;/td&gt;
              &lt;td&gt;Create a dashboard snapshot from a full dashboard payload&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt; or &lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;delete_snapshot&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Snapshot&lt;/td&gt;
              &lt;td&gt;Delete a dashboard snapshot by snapshot key&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:*&lt;/code&gt; or &lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_panel_image&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Rendering&lt;/td&gt;
              &lt;td&gt;Render a stored dashboard or panel, a provisioning preview, or an ad-hoc Explore view as a PNG image&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;list_provisioning_repositories&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Provisioning&lt;/td&gt;
              &lt;td&gt;List provisioning repositories (e.g. git-sync sources) with their source URL, branch, sync state, and health&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;provisioning.repositories:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;validate_provisioning_file&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Provisioning&lt;/td&gt;
              &lt;td&gt;Dry-run-apply a file from a provisioning repository and report admission validation errors&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;provisioning.repositories:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;search_docs&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Docs&lt;/td&gt;
              &lt;td&gt;Search Grafana documentation or list product groups (omit query to list products)&lt;/td&gt;
              &lt;td&gt;None (public grafana.com/docs)&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_doc&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Docs&lt;/td&gt;
              &lt;td&gt;Fetch a documentation page; set outline_only for headings, or section for bounded retrieval&lt;/td&gt;
              &lt;td&gt;None (public grafana.com/docs)&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;get_plugin&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugins&lt;/td&gt;
              &lt;td&gt;Get an installed plugin&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;plugins.app:access&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;search_plugin_information&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugins&lt;/td&gt;
              &lt;td&gt;Search the grafana.com plugin catalog&lt;/td&gt;
              &lt;td&gt;None&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;install_plugin&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Plugins&lt;/td&gt;
              &lt;td&gt;Install a plugin&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;plugins:install&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_api_request&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;API&lt;/td&gt;
              &lt;td&gt;Call a Grafana HTTP API endpoint&lt;/td&gt;
              &lt;td&gt;None&lt;/td&gt;
              &lt;td&gt;Depends on the endpoint&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;em&gt;* Categories marked with &lt;code&gt;*&lt;/code&gt; are off until you add them to &lt;code&gt;--enabled-tools&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;dashboard-tools-and-context-window&#34;&gt;Dashboard tools and context window&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;update_dashboard&lt;/code&gt; supports full JSON replacement and patch-style updates (&lt;code&gt;uid&lt;/code&gt; plus &lt;code&gt;operations&lt;/code&gt;). Prefer patches for small changes so you do not send large dashboard JSON to the model.&lt;/p&gt;
&lt;p&gt;To limit context use when working with dashboards (&lt;a href=&#34;https://github.com/grafana/mcp-grafana/issues/101&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;issue #101&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;get_dashboard_summary&lt;/code&gt; for an overview before edits.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;get_dashboard_property&lt;/code&gt; with JSONPath when you only need part of a dashboard.&lt;/li&gt;
&lt;li&gt;Avoid &lt;code&gt;get_dashboard_by_uid&lt;/code&gt; unless you need the full dashboard JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;rbac-permissions&#34;&gt;RBAC permissions&lt;/h2&gt;
&lt;p&gt;Each tool requires specific RBAC permissions. When you create a service account for the MCP server, grant the minimum actions for the tools you enable. You often need matching scopes as well (for example &lt;code&gt;datasources:*&lt;/code&gt;, &lt;code&gt;dashboards:*&lt;/code&gt;, &lt;code&gt;folders:*&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Tip: If you want a faster setup instead of tuning many scopes, assign a built-in role such as &lt;strong&gt;Editor&lt;/strong&gt; to the service account. &lt;strong&gt;Editor&lt;/strong&gt; grants broad read and write access for most MCP operations; it is less granular than least privilege.&lt;/p&gt;
&lt;p&gt;Grafana Incident tools use basic Grafana roles instead of fine-grained RBAC permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Viewer:&lt;/strong&gt; read-only operations (for example list incidents, get investigations).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editor:&lt;/strong&gt; write operations (for example create incidents, run analyses that modify state).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/&#34;&gt;Grafana RBAC&lt;/a&gt; for full detail.&lt;/p&gt;
&lt;h2 id=&#34;rbac-scopes&#34;&gt;RBAC scopes&lt;/h2&gt;
&lt;p&gt;Scopes define which resources a permission applies to. You need the right permission &lt;strong&gt;and&lt;/strong&gt; scope together.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Broad access&lt;/strong&gt; (organization-wide) often uses &lt;code&gt;*&lt;/code&gt; wildcards:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;datasources:*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;teams:*&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Limited access&lt;/strong&gt; uses specific UIDs or IDs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;datasources:uid:prometheus-uid&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboards:uid:abc123&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folders:uid:xyz789&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;teams:id:5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;global.users:id:123&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Full MCP access (typical broad grants):&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;datasources:* (datasources:read, datasources:query)
dashboards:* (dashboards:read, dashboards:create, dashboards:write)
folders:* (for dashboard creation and alert rules)
teams:* (teams:read)
global.users:* (users:read)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Limited datasource access (only specific Prometheus and Loki instances):&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;datasources:uid:prometheus-prod (datasources:query)
datasources:uid:loki-prod (datasources:query)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Dashboard-only read access:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;dashboards:uid:monitoring-dashboard (dashboards:read)
dashboards:uid:alerts-dashboard (dashboards:read)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;enable-or-disable-tools&#34;&gt;Enable or disable tools&lt;/h2&gt;
&lt;p&gt;You can limit which tools the server exposes with &lt;code&gt;--enabled-tools&lt;/code&gt;, &lt;code&gt;--disable-&amp;lt;category&amp;gt;&lt;/code&gt;, &lt;code&gt;--disable-write&lt;/code&gt;, &lt;code&gt;--disable-query&lt;/code&gt;, and &lt;code&gt;--enable-query&lt;/code&gt;. Refer to &lt;a href=&#34;../../configure/enable-and-disable-tools/&#34;&gt;Enable and disable tools&lt;/a&gt; and &lt;a href=&#34;../../configure/command-line-flags/&#34;&gt;Command-line flags&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;panel-and-dashboard-images&#34;&gt;Panel and dashboard images&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;get_panel_image&lt;/code&gt; needs the &lt;a href=&#34;/docs/grafana/latest/setup-grafana/image-rendering/&#34;&gt;Grafana Image Renderer&lt;/a&gt; service installed and configured in Grafana.&lt;/p&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/command-line-flags/&#34;&gt;Command-line flags&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/enable-and-disable-tools/&#34;&gt;Enable and disable tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../introduction/&#34;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="mcp-tools-reference">MCP tools reference&lt;/h1>
&lt;p>Use the table to confirm minimum Grafana RBAC permissions and scopes for each MCP tool. The sections after the table summarize RBAC patterns, optional categories, and a few operational notes.&lt;/p></description></item></channel></rss>