Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/grafana

PYPI · MCPARMORY-GRAFANA · 2 COMPONENTS · SCANNED SEP 20

Manage dashboards, users, teams, alerts, data sources, and access control

−15 this week 62 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security37
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Install-script risk not yet assessed.Unverified
  • 2 of 41 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability79
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 20635 tokens (~94/item across 218 items; 218 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety97
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 37 of 42 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "query_metrics" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
  • An AI judge read all 218 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the com.mcparmory/grafana MCP server?

com.mcparmory/grafana runs locally as a PyPI package, launched with uvx mcparmory-grafana. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcparmory-grafana

# add to Claude Code
claude mcp add com-mcparmory-grafana -- uvx mcparmory-grafana
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-grafana": {
      "command": "uvx",
      "args": [
        "mcparmory-grafana"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-grafana": {
      "command": "uvx",
      "args": [
        "mcparmory-grafana"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-grafana -- uvx mcparmory-grafana
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-grafana": {
      "type": "local",
      "command": [
        "uvx",
        "mcparmory-grafana"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-mcparmory-grafana --command uvx --arg mcparmory-grafana
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-grafana:
    command: "uvx"
    args: ["mcparmory-grafana"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-grafana": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcparmory-grafana"
      ]
    }
  }
}
# add to Vellum
assistant mcp add com-mcparmory-grafana -t stdio -c uvx -a mcparmory-grafana
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-grafana": {
      "command": "uvx",
      "args": [
        "mcparmory-grafana"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +15
    • Malware scan: unverified → pass security
  • 11 Sept 26 −3
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/mcparmory-grafana@1.0.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Dependencies 41 packages
Packages resolved 41
Stale 1
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 218 exposed · ~20,635 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
grant_team_resource_permissions ~143

Grants or updates permissions for a team to access a specific resource. Supports permissions on datasources, teams, dashboards, folders, and service accounts.

NameTypeReqDescription
permissionstringThe permission level or role to assign to the team. Refer to the resource-specific permissions endpoint for valid values.
resourcestringyesThe type of resource to grant permissions for. Must be one of: datasources, teams, dashboards, folders, or serviceaccounts.
resourceIDstringyesThe unique identifier of the resource for which permissions are being granted.
teamIDstringyesThe unique identifier of the team receiving the permissions. Must be a positive integer.

No output schema declared.

No examples provided.

import_dashboard ~227

Import a dashboard configuration into Grafana, optionally overwriting existing dashboards and placing them in a specified folder. Supports variable substitution through inputs for dynamic dashboard provisioning.

NameTypeReqDescription
dashboardobjectThe dashboard configuration object containing the dashboard definition, settings, and panels to be imported.
folderUidstringThe unique identifier of the folder where the imported dashboard will be stored. If not specified, the dashboard will be placed in the default location.
inputsarrayAn array of input variables used for template substitution within the dashboard configuration. Each input provides values for dashboard variables or placeholders.
overwritebooleanWhether to overwrite an existing dashboard with the same name or UID. When true, the import will replace any conflicting dashboard; when false, the import will fail if a conflict exists.
pathstringThe file path or location identifier for the dashboard being imported. Used to identify the source of the dashboard configuration.
pluginIdstringThe plugin identifier associated with the dashboard, if the dashboard depends on or is specific to a particular Grafana plugin.

No output schema declared.

No examples provided.

invite_organization_member ~144

Send an invitation to join an organization with a specified role. The invitee can be identified by their login or email address, and an optional notification email can be sent to them.

NameTypeReqDescription
loginOrEmailstringThe login username or email address of the person to invite to the organization.
rolestringThe role to assign to the invited member. Must be one of: None, Viewer, Editor, or Admin. Determines the member's permissions within the organization.
sendEmailbooleanWhether to send a notification email to the invitee. If true, an invitation email will be delivered; if false, the invite is created silently.

No output schema declared.

No examples provided.

list_annotation_tags ~72

Retrieve all event tags that have been created in annotations, with optional filtering and pagination support.

NameTypeReqDescription
limitstringMaximum number of results to return in the response, defaulting to 100 if not specified.
tagstringFilter tags by a specific string value to narrow results to matching tags.

No output schema declared.

No examples provided.

list_annotations ~186

Retrieve annotations from your Grafana instance, optionally filtered by alert rule, dashboard, tags, or other criteria. Annotations can be scoped to specific dashboards or be organization-wide from annotation data sources.

NameTypeReqDescription
alertUIDstringFilter annotations by a specific alert rule using its unique identifier (UID).
dashboardUIDstringFilter annotations to those associated with a specific dashboard using its unique identifier (UID).
limitstringMaximum number of annotation results to return in the response.
matchAnybooleanWhen filtering by tags, set to true to match annotations with any of the specified tags, or false to match only annotations with all specified tags.
tagsarrayFilter organization-level annotations by one or more tags. Organization annotations come from annotation data sources and are not tied to a specific dashboard or panel. Provide tags as an array of st…

No output schema declared.

No examples provided.

list_auth_tokens ~28

Retrieve all active authentication tokens for the current user, showing all devices and sessions currently logged in.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_contact_points ~29

Retrieve all configured contact points for notifications and alerts. Contact points define where and how notifications are sent.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_correlations ~88

Retrieves all correlations across datasources, with optional filtering and pagination. Use this to discover relationships between data sources.

NameTypeReqDescription
limitstringMaximum number of correlations to return per page, up to 1000. Defaults to 100 if not specified.
sourceUIDarrayFilter correlations by one or more source datasource UIDs. Only correlations involving the specified sources will be returned.

No output schema declared.

No examples provided.

list_correlations_by_source ~56

Retrieves all correlations that originate from a specified data source. Use this to discover relationships and dependencies associated with a particular data source.

NameTypeReqDescription
sourceUIDstringyesThe unique identifier of the data source for which to retrieve correlations.

No output schema declared.

No examples provided.

list_dashboard_annotations ~58

Retrieve all annotations for a public dashboard using its access token. Annotations provide contextual notes and markers associated with dashboard visualizations.

NameTypeReqDescription
accessTokenstringyesThe unique access token that grants permission to view the public dashboard and its associated annotations.

No output schema declared.

No examples provided.

list_dashboard_snapshots ~54

Retrieve a list of dashboard snapshots. Use the limit parameter to control the number of results returned.

NameTypeReqDescription
limitstringMaximum number of snapshots to return in the response. Defaults to 1000 if not specified.

No output schema declared.

No examples provided.

list_dashboards ~31

Retrieve a list of all publicly accessible dashboards. Use this to discover and display available dashboards that don't require authentication.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_data_sources ~47

Retrieve all configured data sources in Grafana. Requires the `datasources:read` permission with `datasources:*` scope when Fine-grained access control is enabled in Grafana Enterprise.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_devices ~37

Retrieves all devices that have been active or registered within the last 30 days. Use this to get a current inventory of devices in your system.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_devices_search ~34

Retrieves all devices that have been active or registered within the last 30 days. Useful for monitoring recent device activity and inventory.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_group_roles ~56

Retrieve all roles mapped to a specific group. This endpoint is experimental and requires the `groupAttributeSync` feature flag to be enabled.

NameTypeReqDescription
group_idstringyesThe unique identifier of the group for which to retrieve mapped roles.

No output schema declared.

No examples provided.

list_library_element_connections ~58

Retrieve all connections associated with a specific library element. Returns a list of dashboards, panels, or other resources that reference the library element.

NameTypeReqDescription
library_element_uidstringyesThe unique identifier of the library element for which to retrieve connections.

No output schema declared.

No examples provided.

list_library_elements ~188

Retrieve a paginated list of all library elements that the authenticated user has permission to view. Results can be filtered, searched, and sorted to find specific elements.

NameTypeReqDescription
excludeUidstringExclude a specific element from the search results by providing its unique identifier (UID).
folderFilterUIDsstringFilter results to include only elements located in specified folders. Provide multiple folder UIDs as a comma-separated list.
perPagestringSet the maximum number of elements to return per page. Defaults to 100 results per page.
searchStringstringSearch for library elements by matching text against their name or description fields.
sortDirectionstringSort the returned elements alphabetically in ascending or descending order.
typeFilterstringFilter results to include only elements of specified types. Provide multiple types as a comma-separated list.

No output schema declared.

No examples provided.

list_mapped_groups ~35

Retrieve all groups that have attribute mappings configured. This endpoint is experimental and requires the groupAttributeSync feature flag to be enabled.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_migration_sessions ~31

Retrieve all cloud migration sessions that have been created, providing an overview of migration projects and their current state.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_mute_timings ~28

Retrieve all configured mute timings that control when notifications and alerts are suppressed in the system.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_notification_templates ~29

Retrieve all available notification template groups. Use this to discover what templates are configured in your provisioning system.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_organization_users ~70

Retrieve all users in the current organization. Requires org admin role or the `org.users:read` permission in Grafana Enterprise with Fine-grained access control enabled.

NameTypeReqDescription
limitstringMaximum number of users to return in the response. Specify as a positive integer to limit result set size.

No output schema declared.

No examples provided.

list_organization_users_by_id ~68

Retrieve all users in a Grafana organization. Requires the `org.users:read` permission with `users:*` scope in Grafana Enterprise with Fine-grained access control enabled.

NameTypeReqDescription
org_idstringyesThe unique identifier of the organization. Must be a positive integer.

No output schema declared.

No examples provided.

list_organization_users_lookup ~83

Retrieve a list of all users in the current organization with basic information. This lightweight endpoint is designed for UI operations like team member selection and permission management, and requires org admin role or admin privileges in any folder or team.

NameTypeReqDescription
limitstringMaximum number of users to return in the response. Specify as a positive integer to limit the result set size.

No output schema declared.

No examples provided.

list_organizations ~80

Retrieve a paginated list of all organizations. Use the totalCount field in the response to determine pagination, where each page contains up to the specified number of items.

NameTypeReqDescription
perpagestringNumber of organizations to return per page. Defaults to 1000 items per page; use this with the totalCount response field to navigate through all results.

No output schema declared.

No examples provided.

list_pending_org_invites ~35

Retrieve all pending organization invitations that have been sent but not yet accepted. Use this to track outstanding invites and their status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_prometheus_alert_rules ~36

Retrieves all Grafana-managed alert rules that were imported from Prometheus-compatible sources, organized by namespace for easy navigation and management.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_prometheus_alert_rules_by_namespace ~77

Retrieves Grafana-managed alert rules that were imported from Prometheus-compatible sources for a specified namespace. This operation allows you to view rules organized within a particular folder or namespace.

NameTypeReqDescription
NamespaceTitlestringyesThe name of the namespace (folder) containing the alert rules to retrieve. This identifies which rule group to query.

No output schema declared.

No examples provided.

list_prometheus_alert_rules_from_config ~38

Retrieves all Grafana-managed alert rules that were imported from Prometheus-compatible sources, organized by namespace for easy navigation and management.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_queries ~162

Retrieve queries from history filtered by data source, search terms, or starred status. Results are paginated with a default limit of 100 queries per page.

NameTypeReqDescription
datasourceUidarrayFilter results to include only queries from specific data sources by their unique identifiers.
limitstringMaximum number of queries to return in a single response. Defaults to 100 if not specified.
onlyStarredbooleanWhen enabled, return only queries that have been marked as starred or favorited.
searchStringstringSearch for queries containing specific text in the query content or associated comments.
sortstringOrder results by timestamp in descending order (newest first) or ascending order (oldest first). Defaults to newest first.

No output schema declared.

No examples provided.

list_recording_rules ~39

Retrieves all recording rules from the database, including both active and deleted rules. Use this to view the complete rule inventory for auditing or management purposes.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_reports ~36

Retrieve all reports available in the organization. Only accessible to organization administrators with a valid or expired license and the `reports:read` permission.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_reports_by_dashboard ~57

Retrieve all reports associated with a specific dashboard. Requires org admin privileges and a valid or expired license, with `reports:read` permission.

NameTypeReqDescription
uidstringyesThe unique identifier of the dashboard for which to retrieve associated reports.

No output schema declared.

No examples provided.

list_resource_dependencies ~29

Retrieve the dependency graph for all resources currently eligible for migration, showing how resources depend on each other.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_role_assignments ~55

Retrieve all user and team assignments for a specific role. This returns direct role assignments only and excludes assignments inherited through group attribute synchronization.

NameTypeReqDescription
roleUIDstringyesThe unique identifier of the role for which to retrieve assignments.

No output schema declared.

No examples provided.

list_roles ~127

Retrieve all available roles for the signed-in user's organization, including both global and organization-local roles. Requires the `roles:read` permission with `roles:*` scope.

NameTypeReqDescription
delegatablebooleanWhen enabled, filters the results to only include roles that the signed-in user has permission to assign to others.
includeHiddenbooleanWhen enabled, includes roles that are marked as hidden from the standard role list.
targetOrgIdstringThe numeric identifier of the target organization. When specified, retrieves roles for that organization instead of the signed-in user's current organization.

No output schema declared.

No examples provided.

list_service_account_tokens ~61

Retrieve all API tokens associated with a specific service account. Requires Grafana Admin privileges and the serviceaccounts:read permission for the target service account.

NameTypeReqDescription
serviceAccountIdstringyesThe unique identifier of the service account. Must be a positive integer.

No output schema declared.

No examples provided.

list_service_accounts ~105

Search and retrieve service accounts with pagination support. Requires `serviceaccounts:read` permission with `serviceaccounts:*` scope.

NameTypeReqDescription
DisabledbooleanFilter to include only disabled service accounts when set to true, or only active accounts when false.
expiredTokensbooleanFilter to include only service accounts with expired tokens when set to true.
perpagestringNumber of service accounts to return per page. Defaults to 1000 if not specified.

No output schema declared.

No examples provided.

list_snapshot_sharing_options ~35

Retrieve the available sharing settings and options for snapshots. Use this to understand what sharing configurations are supported before sharing a snapshot.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_snapshots ~100

Retrieve a list of snapshots for a cloud migration session. Results can be paginated and sorted by creation date.

NameTypeReqDescription
limitstringMaximum number of snapshots to return in the response. Defaults to 100 if not specified.
sortstringSort order for results. Set to 'latest' to return snapshots in descending order by creation date.
uidstringyesThe unique identifier of the migration session for which to retrieve snapshots.

No output schema declared.

No examples provided.

list_sort_options ~33

Retrieve available sorting options for search results. Use this to discover valid sort fields and ordering directions supported by the search API.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_team_groups ~54

Retrieve all external groups associated with a specific team. This returns a list of groups that have been configured for the team.

NameTypeReqDescription
teamIdstringyesThe unique identifier of the team for which to retrieve associated external groups.

No output schema declared.

No examples provided.

list_team_members ~51

Retrieve all members belonging to a specific team. Returns a list of team members with their associated details and roles.

NameTypeReqDescription
team_idstringyesThe unique identifier of the team whose members you want to retrieve.

No output schema declared.

No examples provided.

list_team_roles ~87

Retrieve all roles assigned to a team. Requires `teams.roles:read` permission scoped to the specified team.

NameTypeReqDescription
targetOrgIdstringOptional organization ID to scope the role listing to a specific organization context. Must be a positive integer if provided.
teamIdstringyesThe unique identifier of the team whose roles you want to retrieve. Must be a positive integer.

No output schema declared.

No examples provided.

list_team_roles_search ~127

Retrieve all roles that have been directly assigned to specified teams. Requires `teams.roles:read` permission with `teams:id:*` scope.

NameTypeReqDescription
includeHiddenbooleanWhether to include hidden roles in the results. Set to true to show roles that are normally hidden from view.
teamIdsarrayArray of team identifiers to retrieve roles for. If provided, only roles assigned to these teams will be returned.
userIdsarrayArray of user identifiers to filter results. If provided, only roles assigned to users within the specified teams will be included.

No output schema declared.

No examples provided.

list_teams ~96

Search and retrieve teams with pagination support. Use the totalCount field in the response to determine the number of pages available.

NameTypeReqDescription
perpagestringNumber of teams to return per page for pagination. Defaults to 1000 items per page. Use this with totalCount from the response to navigate through all results.
sortstringField to sort results by. Specify the team attribute name to order the returned teams.

No output schema declared.

No examples provided.

list_user_auth_tokens ~75

Retrieve all active authentication tokens (devices) for a specific user. Requires Fine-grained access control permission `users.authtoken:list` with `global.users:*` scope in Grafana Enterprise.

NameTypeReqDescription
user_idstringyesThe unique identifier of the user whose authentication tokens should be retrieved. Must be a positive integer.

No output schema declared.

No examples provided.

list_user_organizations ~25

Retrieve all organizations that the currently authenticated user belongs to or has access to.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_user_organizations_by_id ~57

Retrieve all organizations associated with a specific user. Returns a list of organizations where the user is a member or has access.

NameTypeReqDescription
user_idstringyesThe unique identifier of the user. Must be a positive integer value.

No output schema declared.

No examples provided.

Common questions

What is the com.mcparmory/grafana MCP server?

com.mcparmory/grafana is an MCP server listed in the public MCP registry as com.mcparmory/grafana. Manage dashboards, users, teams, alerts, data sources, and access control. This page covers its PyPI package (mcparmory-grafana).

Is the com.mcparmory/grafana MCP server safe to use?

com.mcparmory/grafana scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.mcparmory/grafana MCP server expose?

com.mcparmory/grafana exposes 218 tools: list_roles, get_role, list_role_assignments, list_team_roles_search, list_team_roles, and 213 more. Their descriptions and schemas cost roughly 20,635 tokens of context every time the server is loaded.

Is the com.mcparmory/grafana MCP server still maintained?

com.mcparmory/grafana is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.