Skip to main content
Glama
DrDroidLab

Grafana MCP Server

grafana_get_dashboard_config

Retrieve dashboard configuration details from Grafana's database to access metadata and settings for monitoring and analysis workflows.

Instructions

Retrieves dashboard configuration details from the database. Queries the connectors_connectormetadatamodelstore table for dashboard metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dashboard_uidYesDashboard UID

Implementation Reference

  • The actual implementation of the tool logic that interacts with the Grafana API to fetch dashboard configuration details.
    def grafana_get_dashboard_config_details(self, dashboard_uid: str) -> dict[str, Any]:
        """
        Retrieves dashboard configuration details from the database.
    
        Args:
            dashboard_uid: Dashboard UID
    
        Returns:
            Dict containing dashboard configuration metadata
        """
        try:
            # This would typically query a database, but for now we'll use Grafana API
            url = f"{self.__host}/api/dashboards/uid/{dashboard_uid}"
            logger.info(f"Fetching dashboard config for UID: {dashboard_uid}")
    
            response = requests.get(url, headers=self.headers, verify=self.__ssl_verify, timeout=20)
    
            if response.status_code == 200:
                dashboard_data = response.json()
                return {
                    "status": "success",
                    "dashboard_uid": dashboard_uid,
                    "dashboard": dashboard_data.get("dashboard", {}),
                    "meta": dashboard_data.get("meta", {}),
                }
            else:
                raise Exception(f"Failed to fetch dashboard config. Status: {response.status_code}, Response: {response.text}")
    
        except Exception as e:
            logger.error(f"Error fetching dashboard config: {e!s}")
            raise e
  • The schema and registration definition of the 'grafana_get_dashboard_config' tool.
    {
        "name": "grafana_get_dashboard_config",
        "description": "Retrieves dashboard configuration details from the database. "
        "Queries the connectors_connectormetadatamodelstore table for dashboard metadata.",
        "inputSchema": {
            "type": "object",
            "properties": {"dashboard_uid": {"type": "string", "description": "Dashboard UID"}},
            "required": ["dashboard_uid"],
        },
    },
  • The server-side wrapper function that orchestrates the tool call and delegates execution to the processor.
    def grafana_get_dashboard_config(dashboard_uid):
        """Get dashboard configuration details"""
        try:
            grafana_processor = current_app.config.get("grafana_processor")
            if not grafana_processor:
                return {
                    "status": "error",
                    "message": "Grafana processor not initialized. Check configuration.",
                }
    
            result = grafana_processor.grafana_get_dashboard_config_details(dashboard_uid)
            return result
        except Exception as e:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DrDroidLab/grafana-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server