| FMRS | 72 / 100 · B | 75 / 100 · B | 73 / 100 · B |
| Reliability | 11 / 20 | 13 / 20 | 12 / 20 |
|---|
| Security and permissions | 14 / 20 | 12 / 20 | 13 / 20 |
|---|
| Maintenance | 16 / 20 | 16 / 20 | 16 / 20 |
|---|
| Documentation | 18 / 20 | 17 / 20 | 16 / 20 |
|---|
| Setup experience | 13 / 20 | 17 / 20 | 16 / 20 |
| Best for | - Teams running a Grafana instance (self-hosted or Grafana Cloud) who want an AI assistant to help with observability workflows
- DevOps/SRE engineers who want to automate querying alerts, logs, and metrics as part of incident response
- Scenarios where monitoring data access needs to be exposed to an AI assistant safely in read-only mode
| - Scenarios needing clean, structured web context fed to an AI assistant
- Users already on the Firecrawl platform who want to call its scraping capability directly via MCP
| - Q&A and research scenarios that need real-time, clean web content
- Users with an existing Exa account who want a zero-deployment remote option
|
| Not for | - Teams with no Grafana ecosystem in place (no Prometheus/Loki/etc. datasources configured)
- Fully offline or network-isolated environments (the remote endpoint and most datasource queries require network access)
- Situations where write access must be tightly scoped but the team is unwilling to configure fine-grained RBAC (the built-in Editor role, while convenient, is broad)
| - Simple static-page scraping where you don't want to depend on a third-party API and incur call costs
- Sites that explicitly disallow automated access (robots.txt)
| - Scenarios requiring a strict allowlist of search sources that can't use a third-party search service
- Budget-sensitive, high-volume search scenarios (remote/API calls may incur cost)
|
| Required permissions | - GRAFANA_URL (required): the target Grafana instance address
- GRAFANA_SERVICE_ACCOUNT_TOKEN or GRAFANA_USERNAME/GRAFANA_PASSWORD: authentication credentials (the service account token is sensitive)
- Grafana RBAC permissions matching the enabled tool categories, e.g. dashboards:read/write, datasources:query, alert.rules:read/write, annotations:read/write, or the built-in Editor role as a simpler but broader alternative
- Grafana Incident and Sift tools use basic roles (Viewer for reads, Editor for writes) rather than fine-grained RBAC
- Optional GRAFANA_ORG_ID or X-Grafana-Org-Id header for multi-organization support
- Optional GRAFANA_EXTRA_HEADERS and GRAFANA_FORWARD_HEADERS to add or forward HTTP headers (e.g. Cookie) to the Grafana API
| - Requires a Firecrawl API key to call; cost and quota are governed by the Firecrawl account
- firecrawl_agent/firecrawl_interact perform automated browser interaction, which may trigger login or form-submission flows on the target site
| - Requires an Exa API key for full functionality; OAuth login is optional in remote mode
- web_fetch_exa retrieves content from a specified URL; agent_run performs multi-step autonomous actions and needs the user to have clear expectations of Agent behavior
|
| Risks and side effects | - Service account tokens, passwords, and other credentials are supplied via environment variables or headers and must be safeguarded from leakage
- Write tools (update_dashboard, alerting_manage_rules, create_incident, create_annotation, create_snapshot, etc.) can directly modify or delete dashboards, alert rules, and incident data — misuse can damage production configuration
- Using the built-in Editor role for convenience grants broad access beyond least-privilege
- Fetching full dashboard JSON (get_dashboard_by_uid, update_dashboard) can consume significant context window space and may expose sensitive queries or variables embedded in the dashboard
- GRAFANA_FORWARD_HEADERS forwarding of headers like Cookie, if misconfigured, risks leaking session information
- The hosted remote endpoint https://mcp.grafana.com/mcp is a third-party managed service — using it to reach a Grafana Cloud instance routes requests through that service
- SSE/streamable-http transport misconfiguration (e.g. --allowed-hosts or --allowed-origins set to * while exposed on an untrusted network) carries DNS-rebinding-style risk
| - Bulk crawl/map tools can generate significant request volume against a target site — respect the site's rate limits and terms of service
- firecrawl_agent's interactive action chain is longer — define task boundaries clearly before running it to avoid accidentally triggering actions on a sensitive site
| - The API key should be stored carefully — avoid leaving it in plaintext in client config files on untrusted machines
- agent_run is a multi-step autonomous tool with a longer action chain — try it on low-risk tasks first
|
| Supported clients | Claude Desktop, Cursor | Claude Desktop, VS Code, Cursor, Windsurf, Zed, Amp | Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Zed, Amp, Kiro, LM Studio, Antigravity |
| Tools | 92 | 11 | 4 |