← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

Compare scores, permissions, risks, and fit in one decision-focused table.

DimensionGrafana MCP ServerQuery and manage Grafana dashboards, alerts, and observability data via MCPCompartmentEncrypted, fully offline long-term memory for AI agents
FMRS72 / 100 · B75 / 100 · B
Reliability11 / 2012 / 20
Security and permissions14 / 2016 / 20
Maintenance16 / 2014 / 20
Documentation18 / 2018 / 20
Setup experience13 / 2015 / 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
  • Individuals or teams who prioritise privacy and offline operation and do not want data leaving the machine
  • Users who share memory across multiple MCP clients such as Claude Code, Claude Desktop, Hermes Agent, OpenClaw, Cursor, Codex and Gemini CLI
  • Scenarios that need encrypted storage, a hash-chained audit log and verifiable vault migration
  • Users who want low-latency recall, a bundled embedding model and no extra LLM calls inside the memory layer
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)
  • Users who need cloud multi-device sync or a hosted team memory service; moving between machines means locking the vault and copying the file
  • Users who expect the server itself to run an LLM that extracts facts and decides what to remember; Compartment explicitly keeps no LLM inside and leaves that to the host model
  • Users who cannot keep a passphrase safe or who need a recovery path if it is lost, since Compartment never generates a password, seed or recovery phrase
  • Deployments that require network transports such as SSE or streamable-http; this server is stdio only and opens no ports
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
  • Read and write the vault file under the user's home directory, by default ~/.compartment/memory.vault, and its sibling settings file
  • Access the session directory holding the unlock credential (configurable with COMPARTMENT_SESSION_DIR), which also carries the shared embedding process's Unix socket
  • Optionally use the macOS keychain (compartment unlock --keychain is an explicit opt-in, and it survives reboots)
  • Write or merge an mcpServers entry into each MCP client's own configuration file, taking a byte-exact backup first
  • Install a PostToolUse hook for Claude Code that captures memory files the agent writes
  • Serve a read-only dashboard on 127.0.0.1 behind a one-time random URL token
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
  • A leaked passphrase means the encrypted content can be decrypted; Compartment generates no recovery phrase and cannot recover a lost passphrase
  • Enabling the memory_unlock tool places the passphrase in the model's context, which is why it is off by default
  • If a 2FA keyfile is lost, for example a USB stick, the vault cannot be opened even with the passphrase
  • `export --plaintext` writes the vault as unencrypted JSONL, so that file must be handled carefully
  • Memory content can come from untrusted sources; recall wraps memories with a notice that they are stored data and content can be marked quarantined, but the host agent must still treat memory as data to limit prompt-injection risk
  • The capture hook and client integration write into the user's own settings files, although the implementation backs up and merges rather than replacing
Supported clientsClaude Desktop, CursorClaude Desktop, Claude Code, Hermes Agent, OpenClaw, Cursor, VS Code, Codex, Gemini CLI, Cline, Roo Code, Zed, OpenCode, LM Studio, AnythingLLM, BoltAI, Goose, Kiro
Tools9214