Grafana Cloud MCP for AI agents
Agents read Grafana Cloud MCP at once. Changes and sends are held for a person's approval by default.
About Grafana Cloud MCP
Grafana Cloud MCP lets agents query metrics, logs, traces, dashboards, datasources, alerts, incidents, and related observability resources in an authorized Grafana Cloud stack.
What an agent can do in Grafana Cloud MCP
Every Grafana Cloud MCP action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.
Runs at once (reads)
Looks things up in Grafana Cloud MCP without asking first. 90 actions.
- Agento11y manage agentsRead the agent catalog of Grafana Agent Observability (the grafana-agento11y-app plugin): which agents send telemetry, what their system prompts and tools are, how their prompt versions evolved, and h
- Agento11y manage conversationsList, search, and fetch LLM conversations from Grafana Agent Observability (the grafana-agento11y-app plugin). Operations: - 'list': recent conversations (lightweight; id, title, generation count, tim
- Agento11y manage generationsFetch a single LLM generation and its evaluation scores from Grafana Agent Observability (the grafana-agento11y-app plugin). Operations: - 'get': full generation detail by ID, including prompt, output
- Alerting manage routingManage Grafana alerting routing configuration, including notification policies, contact points and time intervals. Notification policies define how alerts are grouped, routed, and which contact points
- Analyze loki labelsAudits a Loki label strategy and optionally diagnoses query performance. Returns per-label verdicts, missing base labels, normalisation issues, and a recommended set. Pass datasourceUid for live cardi
- Check datasources healthCheck datasource health. Filter by type or UIDs; omit both to check all.
- Describe athena tableGet column names for an Athena table. Use after list_athena_tables. NEXT: Use query_athena with discovered column names.
- Describe clickhouse tableGet column schema for a ClickHouse table. Pass the database from list_clickhouse_tables results. NEXT: Use query_clickhouse with discovered column names.
- Describe infrastructureStart here when users ask about their infrastructure, services, or architecture. Returns pre-built summaries of service groups including topology, metrics, deployment, dependencies, and datasource UID
- Describe snowflake tableGet column schema for a Snowflake table. Pass the database/schema from list_snowflake_tables results. NEXT: Use query_snowflake with discovered column names.
- Get alert groupGet a specific alert group from Grafana OnCall by its ID. Returns the full alert group details, including the most recent alert and its raw payload when the OnCall API provides them. Alert payloads ca
- Get annotationsFetch Grafana annotations using filters such as dashboard UID, time range and tags.
Show all 90
- Get annotation tagsReturns annotation tags with optional filtering by tag name. Only the provided filters are applied.
- Get assertionsGet assertion summary for a given entity with its type, name, env, site, namespace, and a time range
- Get current oncall usersGet the list of users currently on-call for a specific Grafana OnCall schedule ID. Returns the schedule ID, name, and a list of detailed user objects for those currently on call.
- Get dashboard by uidRetrieves the complete dashboard, including panels, variables, and settings, for a specific dashboard identified by its UID. The response includes 'apiVersion' and 'isV2': when 'isV2' is true the dash
- Get dashboard panel queriesRetrieve panel queries from a Grafana dashboard. Supports all datasource types (Prometheus, Loki, CloudWatch, SQL, etc.) and row-nested panels. Optionally filter to a specific panel by ID with `panelI
- Get dashboard propertyGet specific parts of a dashboard using JSONPath expressions to minimize context window usage. JSONPath targets the dashboard's native schema. Classic v1 paths: '$.title' (title)\, '$.panels[*].title'
- Get dashboard summaryGet a compact summary of a dashboard including title\, panel count\, panel types\, variables\, and other metadata without the full JSON. Use this for dashboard overview and planning modifications with
- Get datasourceRetrieves detailed information about a specific datasource by UID or name. Returns the full datasource model, including name, type, URL, access settings, JSON data, and secure JSON field status. Provi
- Get incidentGet a single incident by ID. Returns the full incident details including title, status, severity, labels, timestamps, and other metadata.
- Get investigationGet one Grafana Assistant investigation (AI-driven root-cause investigation) by ID. Returns the investigation's identifiers (investigationId and chatId), the authoritative row lifecycle state and meta
- Get investigation threadGet the working thread of one Grafana Assistant investigation (AI-driven root-cause investigation) by ID: the user-visible conversation between the investigation agent and its tools. Resolves the inve
- Get oncall shiftGet detailed information for a specific Grafana OnCall shift using its ID. A shift represents a designated time period within a schedule when users are actively on-call. Returns the full shift details
- Get panel imageRender a Grafana dashboard panel or full dashboard as a PNG image. Returns the image as base64 encoded data. Requires the Grafana Image Renderer service to be installed. Either dashboardUid (for store
- Get pluginCheck whether a Grafana plugin is installed and retrieve its details (name, version, type, enabled status). Returns installed=false when the plugin is not found. Use install_plugin when a plugin is no
- Get query examplesGet example queries for a specific datasource type. Provides sample queries with descriptions for Prometheus (PromQL), Loki (LogQL), ClickHouse (SQL with Grafana macros), CloudWatch (metric configurat
- Get resource descriptionList available permissions and assignment capabilities for a Grafana resource type.
- Get resource permissionsList all permissions set on a specific Grafana resource (e.g., dashboard, datasource, folder) by its type and ID.
- Get role assignmentsList all assignments for a specific role, showing which users, teams, and service accounts have been assigned this role.
- Get role detailsGet detailed information about a specific Grafana role by its UID, including permissions, metadata, and configuration.
- Get snapshotGet a Grafana snapshot by key, including snapshot metadata and dashboard payload.
- List alert groupsList alert groups from Grafana OnCall with filtering options. Supports filtering by alert group ID, route ID, integration ID, state (new, acknowledged, resolved, silenced), team ID, time range, labels
- List all rolesList all roles in Grafana. Optionally filter to show only roles that can be delegated by the current user. Returns role details including UID, name, permissions, and metadata.
- List athena catalogsSTART HERE for Athena: List available data catalogs (e.g. AwsDataCatalog, Iceberg connectors). NEXT: Use list_athena_databases with a catalog.
- List athena databasesList databases in an Athena catalog. Use after list_athena_catalogs. NEXT: Use list_athena_tables with a database.
- List athena tablesList tables in an Athena database. Use after list_athena_databases. NEXT: Use describe_athena_table to see column schemas before querying.
- List clickhouse tablesSTART HERE for ClickHouse: List available tables (name, database, engine, row count, size). NEXT: Use describe_clickhouse_table to see column schemas.
- List cloudwatch dimensionsList dimension keys for a CloudWatch metric. Requires region. Supports cross-account monitoring via optional accountId parameter. Use after list_cloudwatch_metrics. NEXT: Use query_cloudwatch with dis
- List cloudwatch metricsList metrics for a CloudWatch namespace. Requires region. Supports cross-account monitoring via optional accountId parameter. Use after list_cloudwatch_namespaces. NEXT: Use list_cloudwatch_dimensions
- List cloudwatch namespacesSTART HERE for CloudWatch: List available namespaces (AWS/EC2, AWS/ECS, AWS/RDS, etc.). Requires region. Supports cross-account monitoring via optional accountId parameter. NEXT: Use list_cloudwatch_m
- List datasourcesList all configured datasources in Grafana. Use this to discover available datasources and their UIDs. Supports filtering by type and/or name (case-insensitive substring match) and pagination.
- List graphite metricsDiscover available metric paths in a Graphite datasource by browsing the metric tree. Returns nodes matching the query pattern\, each indicating whether it is a leaf metric (has data) or an expandable
- List graphite tagsList available tag names in a Graphite datasource that uses tag-based metrics. Returns a list of tag name strings (e.g. ["name"\, "env"\, "region"]). These tags can be used to build tag-based target e
- List incidentsList Grafana incidents. Allows filtering by status ('active', 'resolved') and optionally including drill incidents. Returns a preview list with basic details.
- List investigation evidenceList the evidence citation index for one Grafana Assistant investigation (AI-driven root-cause investigation) by ID. Investigation reports cite captured query panels with [cite:pN] markers. Each evide
- List investigation profilesList the agent profiles available for Grafana Assistant investigations (AI-driven root-cause investigations) on this Grafana Cloud stack. Each profile describes an investigation agent configuration: i
- List investigationsList Grafana Assistant investigations (AI-driven root-cause investigations) on this Grafana Cloud stack. Returns one summary per investigation — ID, chat ID, title, state, timestamps, labels, team own
- List loki label namesLists all available label/field names (keys) found in logs within a specified Loki or VictoriaLogs datasource and time range. Returns a list of unique label strings (e.g., `["app", "env", "pod"]`). If
- List loki label valuesRetrieves all unique values associated with a specific `labelName` within a Loki or VictoriaLogs datasource and time range. Returns a list of string values (e.g., for `labelName="env"`, might return `
- List oncall schedulesList Grafana OnCall schedules, optionally filtering by team ID. If a specific schedule ID is provided, retrieves details for only that schedule. Returns a list of schedule summaries including ID, name
- List oncall teamsList teams configured in Grafana OnCall. Returns a list of team objects with their details. Supports pagination.
- List oncall usersList users from Grafana OnCall. These are OnCall users (separate from Grafana users). Can retrieve all users in the OnCall directory, a specific user by ID, or filter by username. Returns a list of us
- List prometheus label namesList label names in a PromQL-compatible datasource (Prometheus, Thanos, Mimir, Cloud Monitoring, etc.). Allows filtering by series selectors and time range.
- List prometheus label valuesUse after list_prometheus_metric_names to find label values for filtering queries. Gets the values for a specific label name in a PromQL-compatible datasource (Prometheus, Thanos, Mimir, Cloud Monitor
- List prometheus metric metadataList Prometheus metric metadata. Returns metadata about metrics currently scraped from targets. Note: This endpoint is experimental.
- List prometheus metric namesDISCOVERY: Call this first to find available metrics before querying. Lists metric names in a PromQL-compatible datasource (Prometheus, Thanos, Mimir, Cloud Monitoring, etc.). Retrieves all metric nam
- List pyroscope label namesLists all available label names (keys) found in profiles within a specified Pyroscope datasource, time range, and optional label matchers. Label matchers are typically used to qualify a service name (
- List pyroscope label valuesLists all available label values for a particular label name found in profiles within a specified Pyroscope datasource, time range, and optional label matchers. Label matchers are typically used to qu
- List pyroscope profile typesLists all available profile types available in a specified Pyroscope datasource and time range. Returns a list of all available profile types (example profile type: "process_cpu:cpu:nanoseconds:cpu:na
- List snapshotsList Grafana dashboard snapshots with optional query and result limit filters.
- List snowflake tablesSTART HERE for Snowflake: List available tables (database, schema, name, kind, row count, size) via INFORMATION_SCHEMA. NEXT: Use describe_snowflake_table to see column schemas.
- List team rolesList all roles assigned to one or more teams. Returns a map of team IDs to their assigned roles.
- List teamsSearch for Grafana teams by a query string. Returns a list of matching teams with details like name, ID, and URL.
- List user rolesList all roles assigned to one or more users. Returns a map of user IDs to their assigned roles, excluding built-in roles and team-inherited roles.
- List users by orgList users in the Grafana organization. Returns a list of organization users with details like userid, email, role etc.
- Query cloudwatchQuery AWS CloudWatch metrics via Grafana. Requires region. REQUIRED FIRST: Use list_cloudwatch_namespaces -> list_cloudwatch_metrics -> list_cloudwatch_dimensions -> then query. Time formats: 'now-1h'
- Query elasticsearchExecutes a search query against an Elasticsearch or OpenSearch datasource and retrieves matching documents. Supports Lucene query syntax (e.g., 'status:200 AND host:server1') for both Elasticsearch an
- Query graphiteWORKFLOW: list_graphite_metrics -> query_graphite. Executes a Graphite render API query against a Graphite datasource and returns matching metric series with their datapoints. Supports the full Graphi
- Query graphite densityAnalyses metric data density for one or more Graphite series over a time window. Returns per-series statistics: fillRatio (fraction of non-null datapoints, 0.0–1.0), totalPoints, nonNullPoints, lastSe
- Query loki logsExecutes a log query against a Loki or VictoriaLogs datasource and returns matching log entries (or metric samples on Loki). Defaults to the last hour, a limit of 10 entries, and 'backward' direction
- Query loki patternsRetrieves detected log patterns from a Loki datasource for a given stream selector and time range. Returns a list of patterns, each containing a pattern string and a total count of occurrences. Patter
- Query loki statsRetrieves index-level statistics about log streams matching a given selector within a Loki or VictoriaLogs datasource and time range. Returns an object containing the count of streams, chunks, entries
- Query prometheusWORKFLOW: list_prometheus_metric_names -> list_prometheus_label_values -> query_prometheus. Query a PromQL-compatible datasource (Prometheus, Thanos, Mimir, Cloud Monitoring, etc.) using a PromQL expr
- Query prometheus histogramQuery Prometheus histogram percentiles. DISCOVER FIRST: Use list_prometheus_metric_names with regex='.*_bucket$' to find histograms. Generates histogram_quantile PromQL. Example: metric='http_duration
- Query pyroscopeUnified Pyroscope query tool for fetching profiles or metrics from Pyroscope. Profile data shows WHICH functions consume resources; metrics data shows WHEN consumption spiked. Use query_type="both" fo
- Query quickwitExecutes a search query against a Quickwit datasource and retrieves matching documents. Supports Lucene query syntax (e.g., 'severity_text:ERROR AND service_name:api') and partial Elasticsearch-compat
- Run panel queryExecutes one or more dashboard panel queries with optional time range and variable overrides. Accepts an array of panel IDs to query in a single call. Fetches the dashboard\, extracts queries from the
- Search dashboardsSearch for Grafana dashboards by a query string. Returns a list of matching dashboards with details like title, UID, folder, tags, and URL.
- Search foldersSearch for Grafana folders by a query string. Returns matching folders with details like title, UID, and URL.
- Search plugin informationSearch the Grafana plugin catalog by keyword to discover available plugins before installing or getting plugin details on a specific instance. Returns results sorted by trust: official Grafana Labs pl
- Suggest loki alloy label configGenerates an Alloy loki.process snippet enforcing an approved label set via stage.label_keep, with optional log-level normalisation and soft-enforcement placeholders.
- Tempo docs-configDocumentation on Tempo configuration. Best for questions about how to configure or operate Tempo. Request the overview to learn which configuration block does what, or the reference for the complete l
- Tempo docs-traceqlDocumentation on TraceQL search. Best for retrieval of traces. This covers basic attributes all the way through aggregates, pipelining, structural queries, and more. Includes examples.
- Tempo get-attribute-namesGet a list of available attribute names that can be used in TraceQL queries. This is useful for finding the names of attributes that can be used in a query.
- Tempo get-attribute-valuesGet a list of values for a fully scoped attribute name. This is useful for finding the values of a specific attribute. i.e. you can find all the services in the data by asking for resource.service.nam
- Tempo get-traceRetrieve a specific trace by ID
- Tempo traceql-metrics-instantRetrieve a single metric value given a TraceQL metrics query. The value is at the current instant or end. Most metrics questions can be answered with instant values.
- Tempo traceql-metrics-rangeRetrieve a metric series given a TraceQL metrics query. The series ranges from start to end.
- Tempo traceql-searchSearch for traces using TraceQL queries
Held for approval by default (changes and sends)
Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 28 actions.
- Add activity to incidentAdd a note (userNote activity) to an existing incident's timeline using its ID. The note body can include URLs which will be attached as context. Use this to add context to an incident.
- Agento11y manage eval collectionsManage the curated conversations of Grafana Agent Observability (the grafana-agento11y-app plugin): bookmark conversations as saved conversations and group them into collections. Two linked resources:
- Agento11y manage eval rulesManage the evaluation rules and guards of Grafana Agent Observability (the grafana-agento11y-app plugin): the configuration that decides when evaluators run. Two different resources with different run
- Agento11y manage evaluatorsManage the evaluator catalog of Grafana Agent Observability (the grafana-agento11y-app plugin): read evaluators, evaluator templates, and the judge model catalog, and create, test, or delete evaluator
- Agento11y manage experimentsManage the offline experiments of Grafana Agent Observability (the grafana-agento11y-app plugin), their trials, and their scores. An experiment is one offline run of an agent over a test suite. Each t
- Agento11y manage test suitesManage the test suites of Grafana Agent Observability (the grafana-agento11y-app plugin), their versions, and their test cases. A test suite is the input side of an offline experiment: a named set of
- Alerting manage rulesManage Grafana alert rules with full CRUD capabilities and filtering. When to use: - Understanding why an alert is or isn't firing - Auditing alert rule configuration (queries, conditions, labels, not
- Alerting manage silencesManage Grafana alerting silences. A silence temporarily suppresses notifications for alerts whose labels match a set of matchers, without changing the alert rules themselves. Operations: - 'list': lis
- Ask assistantSend a message to Grafana Assistant and wait for the full text reply. The assistant may use tools, metrics, logs, and other stack context—broader than firing one isolated data-source query. Use for op
- Create annotationCreate a new annotation on a dashboard or panel. Set format to 'graphite' and provide 'what' for Graphite-format annotations.
- Create datasourceCreate a datasource. If type is ambiguous, call search_plugin_information first; install the plugin if needed. IMPORTANT: always call this tool twice. First call: provide only the type — the tool retu
- Create folderCreate a Grafana folder. Provide a title and optional UID. Returns the created folder.
Show all 28
- Create incidentCreate a new Grafana incident. Requires title, severity, and room prefix. Allows setting status and labels. This tool should be used judiciously and sparingly, and only after confirmation from the use
- Create investigationStart a Grafana Assistant investigation: an agentic, multi-step root-cause analysis across the stack's metrics, logs, traces, dashboards, and alerts. Provide a natural-language instruction describing
- Create snapshotCreate a Grafana snapshot from a full dashboard payload. Supports optional expiration and external snapshot fields.
- Delete snapshotDelete a Grafana snapshot by snapshot key.
- Generate deeplinkGenerate deeplink URLs for Grafana resources. Supports dashboards (requires dashboardUid or provisioningPreview), panels (requires dashboardUid or provisioningPreview, plus panelId), and Explore queri
- Grafana api requestMake an authenticated HTTP request to the Grafana API. Similar to 'gh api' for GitHub. Supports any Grafana API endpoint with optional jq-style response filtering. Use this for API endpoints that don'
- Install pluginInstall a Grafana plugin by its plugin ID. If the version is not already confirmed with the user, omit it — the tool will look up the latest version and return it for confirmation before installing.
- Query athenaQuery Amazon Athena via Grafana. REQUIRED FIRST: Use list_athena_catalogs -> list_athena_databases -> list_athena_tables -> describe_athena_table to discover schema, then query. Supports macros: $__ti
- Query clickhouseQuery ClickHouse via Grafana. REQUIRED FIRST: Use list_clickhouse_tables to find tables, then describe_clickhouse_table to see column schemas, then query. Supports macros: $__timeFilter(column), $__fr
- Query influxdbQuery an InfluxDB datasource via Grafana. Supports both InfluxQL (v1.x) and Flux (v2.x). The 'dialect' parameter selects the query language; if omitted it's inferred from the datasource configuration.
- Query snowflakeQuery Snowflake via Grafana. REQUIRED FIRST: Use list_snowflake_tables to find tables (filter by database/schema), then describe_snowflake_table to see column schemas, then query. Supports macros: $__
- Update alert groupUpdate the state of a Grafana OnCall alert group: acknowledge, unacknowledge, resolve, or unresolve it by ID. Returns the alert group's resulting OnCall state (one of new, acknowledged, resolved, sile
- Update annotationUpdates the provided properties of an annotation by ID. Only fields included in the request are modified; omitted fields are left unchanged.
- Update dashboardCreate or update a dashboard. Two modes: (1) Full JSON — provide 'dashboard' for new dashboards or complete replacements. (2) Patch — provide 'uid' + 'operations' to make targeted changes to an existi
- Update datasourceUpdate non-secret datasource fields by UID. Omitted fields are preserved. IMPORTANT: always call this tool twice. First call: provide only the uid — the tool returns the datasource's field schema. Aft
- Update incidentUpdate an existing Grafana incident by ID. Allows changing the status ('active' or 'resolved'), the severity, and the title. Only the provided fields are changed. Use this to resolve an incident or to
Changes wait in Needs you
Changes and sends in Grafana Cloud MCP are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
Grafana Cloud MCP questions
Can an agent change data in Grafana Cloud MCP on its own?
Not by default. Changes and sends in Grafana Cloud MCP are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
What can an agent read in Grafana Cloud MCP?
This connector lists 90 read actions. Reads run at once, without waiting for approval.
How does Grafana Cloud MCP connect?
It connects with dcr oauth. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.