In-depth architectural comparison of the MCP Grafana and PeppolStatus MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
MCP Grafana
Monitoring · Local stdio
Quality: 68/100 (Great) | Auth: API Key required
PeppolStatus
Monitoring · Remote HTTP/SSE
Quality: 55/100 (Good) | Auth: No auth required
Verdict Summary: Choose MCP Grafana if you need specialized Monitoring tools running via a local process. Choose PeppolStatus if your workspace requires Monitoring integration with remote web transport. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose MCP Grafana when:
You need dedicated capabilities in the Monitoring domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
You have access to required keys: GRAFANA_URL, GRAFANA_SERVICE_ACCOUNT_TOKEN.
Add 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.
alerting_manage_routing
Manage Grafana alerting routing configuration, including notification policies, contact points and time intervals.
Notification policies define how alerts are grouped, routed, and which contact points receive them.
Time intervals define active/mute periods for alert notifications.
When to use:
- Understanding how alerts are routed to contact points/receivers
- Debugging why an alert went to a specific receiver
- Checking grouping, timing, or mute interval settings
When NOT to use:
- Checking alert rule configuration or state (use alerting_manage_rules)
alerting_manage_rules
Manage 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, notification settings)
- Finding alert rules by state, folder, group, or name
- Creating, updating, or deleting alert rules
- Comparing rule versions to see what changed
When NOT to use:
- Checking how alerts are routed to receivers (use alerting_manage_routing)
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
MCP Grafana is categorized under Monitoring and uses a local stdio subprocess. In contrast, PeppolStatus belongs to Monitoring using remote streaming HTTP/SSE transport. Select MCP Grafana when you need capabilities focused on monitoring and PeppolStatus when you require tools for monitoring.
Manage 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': list existing silences. Optionally filter by rule_uid (matches the __alert_rule_uid__ label) or by matchers.
- 'get': retrieve a single silence by silence_id.
- 'create': create a new silence. Requires matchers, starts_at, ends_at (RFC3339) and comment.
- 'update': modify an existing silence by silence_id. Requires matchers, starts_at, ends_at and comment. The id is only kept when the posted matchers and starts_at match the stored ones, so pass back the starts_at returned by 'get'; otherwise Alertmanager expires the old silence and returns a new id.
- 'delete': expire/remove a silence by silence_id.
When to use:
- Muting noisy or expected alerts during maintenance windows
- Inspecting or cleaning up existing silences
When NOT to use:
- Changing alert rule configuration or state (use alerting_manage_rules)
- Changing how alerts are routed to receivers (use alerting_manage_routing)
analyze_loki_labels
Audits 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 cardinality or labels for static scoring; both may be combined.
check_datasources_health
Check datasource health. Filter by type or UIDs; omit both to check all.
create_annotation
Create a new annotation on a dashboard or panel. Set format to 'graphite' and provide 'what' for Graphite-format annotations.
create_datasource
Create 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 returns a field schema. After receiving the schema, you MUST ask the user for every required field value explicitly; do not infer or use defaults without user confirmation. Second call: provide the type, the display name in the top-level name argument, schemaReviewed=true, and the fields map populated with values confirmed by the user. Never handle credentials — remind the user to rotate any detected. Returns UID, health check, and a config page link.
create_folder
Create a Grafana folder. Provide a title and optional UID. Returns the created folder.
create_incident
Create a new Grafana incident. Requires title, severity, and room prefix. Allows setting status, labels and custom fields. This tool should be used judiciously and sparingly, and only after confirmation from the user, as it may notify or alarm lots of people.
create_snapshot
Create a Grafana snapshot from a full dashboard payload. Supports optional expiration and external snapshot fields.
delete_annotation
Permanently delete an annotation by ID. The annotation cannot be recovered afterwards.
+69 more tools listed on main page
PeppolStatus Tools (51)
list_hosts
List monitored hosts
Every monitored host with its current verdict, latest hourly all-locations latency and 24h uptime, worst-first, plus a network-wide rollup.
get_host
Get a host's current state
Current role, verdict, network attribution (IPs/PTR), TLS certificate and operating provider for a host. `?at=` returns point-in-time state.
list_host_incidents
List a host's incidents
Incidents for one host, newest-first, cursor-paginated.
get_host_uptime
Get a host's uptime aggregates
The aggregate ladder for a host at a chosen resolution, per-location plus the `__all__` rollup, optionally windowed by `[from, to)`, cursor-paginated.
list_host_software
List all hosts' software (Market)
Every host with open software fingerprint rows, one row per (hostname, role) with the vendor / version / hosting axes folded in (value, tier, first-seen; plus vendor `variant` and version `kind`). The evidence blob is omitted to keep the list lean — it stays on the per-host resource. Cursor-paginated on the stable (hostname, role) order; optional `vendor=` filter. Market tier.
get_host_software
Get a host's software fingerprint
The detected software of a host across ALL its roles: vendor, version and hosting per role, each with its confidence tier, first-seen timestamp and the structured evidence that fired. `?at=` returns point-in-time state. Market tier.
list_host_software_history
List a host's software-fingerprint history
The closed (superseded) software rows for one host, newest-first, cursor-paginated. Each row is one axis transition with its evidence. Market tier.
list_incidents
List incidents
The global incident feed, newest-first, cursor-paginated.
get_participant
Get a participant's current state
Directory presence, SML registration + current SMP, business card, the company-register enrichment block, endpoints and serving seats for a Peppol participant. Discovered participants carry no card; unmatched participants carry company: null.
list_participant_events
List a participant's change events
The participant's typed change events, newest-first, cursor-paginated.
get_participant_history
List a participant's temporal history
The participant's temporal rows across the directory/card/registration/SMP fact families, newest-first, cursor-paginated.
get_participant_availability
Get a participant's measured availability
The real, probe-measured reachability of one Peppol ID over time. Two lanes — the participant's SMP host (discovery) and its Access Point host(s) (delivery) — are read from the uptime ladder and merged per bucket into one verdict (available | degraded | unreachable | no_data): an AP with any down check is unreachable; an AP up/degraded with the SMP down is degraded (discovery impaired, still deliverable); both lanes up is available. Returns per-lane `UptimeBucket` ladders, the worst-of combined lane, 30/90-day + full headline uptime (degraded counts as available), a monthly 99.5% Peppol AP service-level TARGET (never a contractual claim), host-change markers and window-overlapping incidents. `daily` spans the full history; `hourly` covers the last 90 days. Buckets before the 2026-08-02 AP epoch carry partial AP attribution (`pre_epoch`).