OS Manuals

/usr/bin/mcp-grafana

MCP server for grafana

From mcp-grafana-fips 2.2.0-r0 (enterprise-packages), captured 2026-11-08 by running mcp-grafana --help (exit 0). permalink

Usage of /usr/bin/mcp-grafana:
  -address string
    	The host and port to start the sse server on (default "localhost:8000")
  -allow-cross-origin-redirects
    	Allow Grafana HTTP clients to follow redirects to a different scheme, host, or port. Falls back to GRAFANA_ALLOW_CROSS_ORIGIN_REDIRECTS. This can expose Grafana credentials to the redirect target.
  -allow-grafana-url-override
    	Enable X-Grafana-URL selection for HTTP/SSE requests. Falls back to GRAFANA_ALLOW_URL_OVERRIDE. Without --allowed-grafana-urls, callers may target any HTTP(S) URL reachable by this server.
  -allowed-grafana-urls string
    	Optional comma-separated exact Grafana base URLs allowed when --allow-grafana-url-override is enabled. Falls back to GRAFANA_ALLOWED_URLS.
  -allowed-hosts string
    	Comma-separated allowlist of Host header values for the HTTP/SSE transports. Defaults to loopback variants of --address. Use "*" to disable Host validation (only safe behind a trusted reverse proxy that validates Host).
  -allowed-origins string
    	Comma-separated allowlist of Origin header values for the HTTP/SSE transports. Empty (the default) rejects any request that carries an Origin header — appropriate for non-browser MCP clients. Use "*" to disable validation.
  -base-path string
    	Base path for the sse or streamable-http server. /healthz and /metrics are always served at the root, not under this prefix
  -debug
    	Enable debug mode for the Grafana transport
  -disable-admin
    	Disable admin tools
  -disable-agento11y
    	Disable Agent Observability tools
  -disable-alerting
    	Disable alerting tools
  -disable-annotations
    	Disable annotation tools
  -disable-api
    	Disable API tools
  -disable-asserts
    	Disable asserts tools
  -disable-assistant
    	Disable Grafana Assistant tools
  -disable-athena
    	Deprecated: use --disable-sql instead
  -disable-clickhouse
    	Deprecated: use --disable-sql instead
  -disable-cloudlogging
    	Disable Google Cloud Logging tools
  -disable-cloudwatch
    	Disable CloudWatch tools
  -disable-config
    	Disable config-generation tools
  -disable-dashboard
    	Disable dashboard tools
  -disable-datasource
    	Disable datasource tools
  -disable-docs
    	Disable documentation tools
  -disable-elasticsearch
    	Disable elasticsearch and opensearch tools
  -disable-examples
    	Disable query examples tools
  -disable-folder
    	Disable folder tools
  -disable-graphite
    	Disable Graphite tools
  -disable-incident
    	Disable incident tools
  -disable-influxdb
    	Disable InfluxDB tools
  -disable-loki
    	Disable loki tools
  -disable-navigation
    	Disable navigation tools
  -disable-oncall
    	Disable oncall tools
  -disable-plugin
    	Disable plugin tools
  -disable-prometheus
    	Disable prometheus tools
  -disable-provisioning
    	Disable provisioning tools
  -disable-proxied
    	Deprecated: use --disable-tempo instead
  -disable-pyroscope
    	Disable pyroscope tools
  -disable-query
    	Disable query tools (tools that execute a query against a datasource, e.g. query_prometheus, query_loki_logs, run_panel_query). Metadata and discovery tools stay available.
  -disable-quickwit
    	Disable quickwit tools
  -disable-rendering
    	Disable rendering tools (panel/dashboard image export)
  -disable-runpanelquery
    	Disable run panel query tools
  -disable-search
    	Disable search tools
  -disable-snapshot
    	Disable snapshot tools
  -disable-snowflake
    	Deprecated: use --disable-sql instead
  -disable-sql
    	Disable SQL tools (ClickHouse, Snowflake, Athena, MySQL, PostgreSQL, MSSQL, BigQuery)
  -disable-tempo
    	Disable Tempo tracing tools
  -disable-user
    	Disable user info tools
  -disable-write
    	Disable write tools (create/update operations)
  -dynamic-multi-org
    	Allow tool calls to select a Grafana organization per call via an optional orgId argument (org is otherwise fixed at connection startup). Adds an orgId argument to every tool's schema.
  -enable-query
    	Keep the raw-SQL query tools (query_sql, query_influxdb) registered even under --disable-write. They pass the query through unfiltered, so they can mutate data if the datasource credentials permit it; use this when those credentials are known to be read-only. Has no effect if --disable-query is also set. Equivalent to --enable-write-tools=query_sql,query_influxdb; kept as a shorthand for that common case.
  -enable-write-tools string
    	Comma separated list of individual tool names to keep registered even under --disable-write, for tools whose write behavior is scoped enough to opt back in independently. Has no effect on a tool whose whole category is disabled.
  -enabled-tools string
    	A comma separated list of tools enabled for this server. Can be overwritten entirely or by disabling specific components, e.g. --disable-search. (default "search,datasource,incident,prometheus,loki,alerting,dashboard,folder,oncall,asserts,pyroscope,navigation,tempo,annotations,rendering,snapshot,plugin,api,config,provisioning,docs,user")
  -endpoint-path string
    	Endpoint path for the streamable-http server, appended to --base-path (default "/mcp")
  -grafana-timeout duration
    	Time limit for requests made by the Grafana client. Accepts Go duration strings, e.g. 10s, 500ms. (default 10s)
  -healthz-address string
    	Separate address for /healthz (e.g., :8080). If empty, /healthz is served on the main HTTP server. A side listener is not wrapped by Host/Origin validation, matching --metrics-address.
  -include-args-in-spans
    	Include tool call arguments in OpenTelemetry spans. Only enable in non-production environments or when arguments are known not to contain PII.
  -instructions-append string
    	Text appended to the server instructions returned to MCP clients on initialize, so every connecting agent sees it.
  -log-level string
    	Log level (debug, info, warn, error) (default "info")
  -loki-enforced-matchers namespace!~"vault|payments"
    	LogQL label matchers AND-ed into every native-Loki query to restrict readable streams (e.g. namespace!~"vault|payments"). Queries that cannot be parsed are rejected. Requires --disable-api to be effective, otherwise it can be bypassed via the raw datasource proxy.
  -loki-guardrail-max-bytes int
    	Maximum bytes a single query_loki_logs call may scan, estimated via Loki's index/stats API before running the query (query_loki_patterns is checked for selector and time range only, since patterns are served by the pattern ingesters). 0 disables the byte-budget check. Only applies when the guardrail is not 'off'. Falls back to the GRAFANA_LOKI_GUARDRAIL_MAX_BYTES environment variable when the flag is not set. (default 107374182400)
  -loki-guardrail-max-range duration
    	Maximum effective time range for a single query_loki_logs or query_loki_patterns call, including range-vector durations like [30d]. Accepts Go duration strings, e.g. 24h. 0 disables the range check. Only applies when the guardrail is not 'off'. Falls back to the GRAFANA_LOKI_GUARDRAIL_MAX_RANGE environment variable when the flag is not set. (default 24h0m0s)
  -loki-guardrail-mode string
    	Loki query cost guardrail mode for query_loki_logs and query_loki_patterns: 'off' (default), 'shadow' (evaluate and log queries that would be blocked, but let them run; still pays the index/stats round trip, including for queries a static check already blocks), or 'enforce' (reject blocked queries with rewrite guidance). Falls back to the GRAFANA_LOKI_GUARDRAIL_MODE environment variable when the flag is not set. (default "off")
  -loki-guardrail-on-estimate-failure string
    	What the Loki guardrail does when it cannot assess a query (no stream selector it understands, or the index/stats estimate failed): 'allow' (default) runs the query, 'block' rejects it in enforce mode. Only applies when the guardrail is not 'off'. Falls back to the GRAFANA_LOKI_GUARDRAIL_ON_ESTIMATE_FAILURE environment variable when the flag is not set. (default "allow")
  -loki-label-enumeration-fallback string
    	Behaviour of list_loki_label_names/list_loki_label_values when --loki-enforced-matchers cannot scope them (purely-negative matchers only): 'reject' (fail closed) or 'unfiltered' (allow unscoped enumeration of label metadata; never exposes log lines). (default "reject")
  -max-loki-log-limit int
    	Maximum number of log lines returned per query_loki_logs call (default 100)
  -metrics
    	Enable Prometheus metrics endpoint
  -metrics-address string
    	Separate address for metrics server (e.g., :9090). If empty, metrics are served on the main server at /metrics
  -prometheus-guardrail-max-points int
    	Maximum points per series a PromQL range query may request, computed from its time range and step. 0 disables the points check. Only applies when the guardrail is not 'off'. Falls back to the GRAFANA_PROMETHEUS_GUARDRAIL_MAX_POINTS environment variable when the flag is not set. (default 11000)
  -prometheus-guardrail-max-range duration
    	Maximum effective time range for a single PromQL query: its time range plus the longest range vector or subquery window in the expression. Accepts Go duration strings, e.g. 192h. 0 disables the range check. Only applies when the guardrail is not 'off'. Falls back to the GRAFANA_PROMETHEUS_GUARDRAIL_MAX_RANGE environment variable when the flag is not set. (default 192h0m0s)
  -prometheus-guardrail-mode string
    	Prometheus query guardrail mode for query_prometheus, query_prometheus_histogram and the Prometheus queries of run_panel_query: 'off' (default), 'shadow' (evaluate and log queries that would be blocked, but let them run), or 'enforce' (reject blocked queries with rewrite guidance). Falls back to the GRAFANA_PROMETHEUS_GUARDRAIL_MODE environment variable when the flag is not set. (default "off")
  -server-auth-token string
    	Bearer token that callers must present in the Authorization header to use the HTTP/SSE transports. Falls back to the MCP_GRAFANA_SERVER_TOKEN environment variable. When set, unauthenticated requests are rejected with 401. Has no effect on the stdio transport.
  -server-name string
    	Server name used in the MCP handshake and OTel service.name. Overrides GRAFANA_MCP_SERVER_NAME env var. (default "mcp-grafana")
  -server.tls-cert-file string
    	Path to TLS certificate file for server HTTPS (required for TLS)
  -server.tls-key-file string
    	Path to TLS private key file for server HTTPS (required for TLS)
  -session-idle-timeout-minutes int
    	Deprecated: the official go-sdk manages sessions internally. This flag is ignored. (default 30)
  -slow-request-log-level string
    	Log level for slow-request events. One of "info" or "warn". Default "warn". (default "warn")
  -slow-request-threshold duration
    	Log an event when any MCP request (tool invocation, list, resource read, etc.) takes longer than this threshold. Accepts Go duration strings, e.g. 500ms, 5s. Default 0 disables slow-request logging.
  -sse-keepalive duration
    	Interval between ping requests sent to each SSE client, so reverse proxies and load balancers do not close an idle event stream (and the session with it). Set it below the proxy's idle timeout, e.g. 30s behind ingress-nginx's default 60s proxy-read-timeout. A client is disconnected after 3 pings in a row go unanswered for half the interval each. Accepts Go duration strings, minimum 1s. 0 (the default) disables pings. Only applies to --transport sse.
  -standalone
    	should this run standalone
  -t string
    	Transport type (stdio, sse or streamable-http) (default "stdio")
  -tls-ca-file string
    	Path to TLS CA certificate file for server verification
  -tls-cert-file string
    	Path to TLS certificate file for client authentication
  -tls-key-file string
    	Path to TLS private key file for client authentication
  -tls-skip-verify
    	Skip TLS certificate verification (insecure)
  -transport string
    	Transport type (stdio, sse or streamable-http) (default "stdio")
  -usage-stats string
    	Anonymous usage statistics reporting: 'enabled', 'disabled', or 'log' to print the report that would be sent to stderr and send nothing. Overrides the GRAFANA_USAGE_STATS environment variable, which in turn overrides DO_NOT_TRACK; any unrecognised value disables reporting. See https://grafana.com/docs/grafana/latest/developer-resources/mcp/anonymous-usage-statistics/
  -version
    	Print the version and exit
Options (87)
OptionDescriptionSource
-address stringThe host and port to start the sse server on (default "localhost:8000")help
-allow-cross-origin-redirectsAllow Grafana HTTP clients to follow redirects to a different scheme, host, or port.help
-allow-grafana-url-overrideEnable X-Grafana-URL selection for HTTP/SSE requests.help
-allowed-grafana-urls stringOptional comma-separated exact Grafana base URLs allowed when --allow-grafana-url-override is enabled.help
-allowed-hosts stringComma-separated allowlist of Host header values for the HTTP/SSE transports.help
-allowed-origins stringComma-separated allowlist of Origin header values for the HTTP/SSE transports.help
-base-path stringBase path for the sse or streamable-http server.help
-debugEnable debug mode for the Grafana transporthelp
-disable-adminDisable admin toolshelp
-disable-agento11yDisable Agent Observability toolshelp
-disable-alertingDisable alerting toolshelp
-disable-annotationsDisable annotation toolshelp
-disable-apiDisable API toolshelp
-disable-assertsDisable asserts toolshelp
-disable-assistantDisable Grafana Assistant toolshelp
-disable-athenaDeprecated: use --disable-sql insteadhelp
-disable-clickhouseDeprecated: use --disable-sql insteadhelp
-disable-cloudloggingDisable Google Cloud Logging toolshelp
-disable-cloudwatchDisable CloudWatch toolshelp
-disable-configDisable config-generation toolshelp
-disable-dashboardDisable dashboard toolshelp
-disable-datasourceDisable datasource toolshelp
-disable-docsDisable documentation toolshelp
-disable-elasticsearchDisable elasticsearch and opensearch toolshelp
-disable-examplesDisable query examples toolshelp
-disable-folderDisable folder toolshelp
-disable-graphiteDisable Graphite toolshelp
-disable-incidentDisable incident toolshelp
-disable-influxdbDisable InfluxDB toolshelp
-disable-lokiDisable loki toolshelp
-disable-navigationDisable navigation toolshelp
-disable-oncallDisable oncall toolshelp
-disable-pluginDisable plugin toolshelp
-disable-prometheusDisable prometheus toolshelp
-disable-provisioningDisable provisioning toolshelp
-disable-proxiedDeprecated: use --disable-tempo insteadhelp
-disable-pyroscopeDisable pyroscope toolshelp
-disable-queryDisable query tools (tools that execute a query against a datasource, e.g. query_prometheus, query_loki_logs, run_panel_query).help
-disable-quickwitDisable quickwit toolshelp
-disable-renderingDisable rendering tools (panel/dashboard image export)help
-disable-runpanelqueryDisable run panel query toolshelp
-disable-searchDisable search toolshelp
-disable-snapshotDisable snapshot toolshelp
-disable-snowflakeDeprecated: use --disable-sql insteadhelp
-disable-sqlDisable SQL tools (ClickHouse, Snowflake, Athena, MySQL, PostgreSQL, MSSQL, BigQuery)help
-disable-tempoDisable Tempo tracing toolshelp
-disable-userDisable user info toolshelp
-disable-writeDisable write tools (create/update operations)help
-dynamic-multi-orgAllow tool calls to select a Grafana organization per call via an optional orgId argument (org is otherwise fixed at connection startup).help
-enable-queryKeep the raw-SQL query tools (query_sql, query_influxdb) registered even under --disable-write.help
-enable-write-tools stringComma separated list of individual tool names to keep registered even under --disable-write, for tools whose write behavior is scoped enough to opt back in independently.help
-enabled-tools stringA comma separated list of tools enabled for this server.help
-endpoint-path stringEndpoint path for the streamable-http server, appended to --base-path (default "/mcp")help
-grafana-timeout durationTime limit for requests made by the Grafana client.help
-healthz-address stringSeparate address for /healthz (e.g., :8080).help
-include-args-in-spansInclude tool call arguments in OpenTelemetry spans.help
-instructions-append stringText appended to the server instructions returned to MCP clients on initialize, so every connecting agent sees it.help
-log-level stringLog level (debug, info, warn, error) (default "info")help
-loki-enforced-matchers namespace!~"vault|payments"LogQL label matchers AND-ed into every native-Loki query to restrict readable streams (e.g. namespace!~"vault|payments").help
-loki-guardrail-max-bytes intMaximum bytes a single query_loki_logs call may scan, estimated via Loki's index/stats API before running the query (query_loki_patterns is checked for selector and time range only, since patterns…help
-loki-guardrail-max-range durationMaximum effective time range for a single query_loki_logs or query_loki_patterns call, including range-vector durations like [30d].help
-loki-guardrail-mode stringLoki query cost guardrail mode for query_loki_logs and query_loki_patterns: 'off' (default), 'shadow' (evaluate and log queries that would be blocked, but let them run;help
-loki-guardrail-on-estimate-failure stringWhat the Loki guardrail does when it cannot assess a query (no stream selector it understands, or the index/stats estimate failed): 'allow' (default) runs the query, 'block' rejects it in enforce…help
-loki-label-enumeration-fallback stringBehaviour of list_loki_label_names/list_loki_label_values when --loki-enforced-matchers cannot scope them (purely-negative matchers only): 'reject' (fail closed) or 'unfiltered' (allow unscoped…help
-max-loki-log-limit intMaximum number of log lines returned per query_loki_logs call (default 100)help
-metricsEnable Prometheus metrics endpointhelp
-metrics-address stringSeparate address for metrics server (e.g., :9090).help
-prometheus-guardrail-max-points intMaximum points per series a PromQL range query may request, computed from its time range and step.help
-prometheus-guardrail-max-range durationMaximum effective time range for a single PromQL query: its time range plus the longest range vector or subquery window in the expression.help
-prometheus-guardrail-mode stringPrometheus query guardrail mode for query_prometheus, query_prometheus_histogram and the Prometheus queries of run_panel_query: 'off' (default), 'shadow' (evaluate and log queries that would be…help
-server-auth-token stringBearer token that callers must present in the Authorization header to use the HTTP/SSE transports.help
-server-name stringServer name used in the MCP handshake and OTel service.name.help
-server.tls-cert-file stringPath to TLS certificate file for server HTTPS (required for TLS)help
-server.tls-key-file stringPath to TLS private key file for server HTTPS (required for TLS)help
-session-idle-timeout-minutes intDeprecated: the official go-sdk manages sessions internally.help
-slow-request-log-level stringLog level for slow-request events.help
-slow-request-threshold durationLog an event when any MCP request (tool invocation, list, resource read, etc.) takes longer than this threshold.help
-sse-keepalive durationInterval between ping requests sent to each SSE client, so reverse proxies and load balancers do not close an idle event stream (and the session with it).help
-standaloneshould this run standalonehelp
-t stringTransport type (stdio, sse or streamable-http) (default "stdio")help
-tls-ca-file stringPath to TLS CA certificate file for server verificationhelp
-tls-cert-file stringPath to TLS certificate file for client authenticationhelp
-tls-key-file stringPath to TLS private key file for client authenticationhelp
-tls-skip-verifySkip TLS certificate verification (insecure)help
-transport stringTransport type (stdio, sse or streamable-http) (default "stdio")help
-usage-stats stringAnonymous usage statistics reporting: 'enabled', 'disabled', or 'log' to print the report that would be sent to stderr and send nothing.help
-versionPrint the version and exithelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.