{
  "service": "grafana",
  "displayName": "Grafana",
  "categories": [
    "Data",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Service Account Token",
      "placeholder": "GRAFANA_SERVICE_ACCOUNT_TOKEN",
      "description": "Grafana service account token sent as a Bearer token. Create one in Administration > Users and access > Service Accounts: https://grafana.com/docs/grafana/latest/administration/service-accounts/",
      "extraFields": [
        {
          "key": "baseUrl",
          "label": "Grafana Base URL",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "https://your-stack.grafana.net",
          "description": "Base URL of your Grafana instance, such as https://your-stack.grafana.net or a self-hosted Grafana URL."
        }
      ]
    }
  ],
  "homepageUrl": "https://grafana.com",
  "actions": [
    {
      "id": "grafana.create_dashboard",
      "service": "grafana",
      "name": "create_dashboard",
      "description": "Create a Grafana dashboard resource in a namespace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional explicit Grafana dashboard UID."
          },
          "generateName": {
            "type": "string",
            "minLength": 1,
            "description": "Optional UID prefix Grafana can use to generate a dashboard UID."
          },
          "folderUid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional folder UID for the new dashboard."
          },
          "spec": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Grafana dashboard spec JSON. This is forwarded to Grafana as the dashboard body."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "spec"
        ],
        "description": "Input for creating a Grafana dashboard."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dashboard": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "folderUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder UID that contains the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana dashboard resource."
          }
        },
        "additionalProperties": false,
        "description": "The created Grafana dashboard."
      }
    },
    {
      "id": "grafana.create_data_source",
      "service": "grafana",
      "name": "create_data_source",
      "description": "Create a Grafana data source using a JSON payload accepted by Grafana.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataSource": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Grafana data source payload. Use official Grafana data source fields such as name, type, access, url, jsonData, and secureJsonData."
          }
        },
        "additionalProperties": false,
        "description": "Input for creating a Grafana data source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dataSource": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric Grafana data source ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana data source UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source plugin type."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "access": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source access mode."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source URL when returned by Grafana."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDefault": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is the default."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "readOnly": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is read-only."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "A Grafana data source record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana API object."
          }
        },
        "additionalProperties": false,
        "description": "The created Grafana data source result."
      }
    },
    {
      "id": "grafana.create_folder",
      "service": "grafana",
      "name": "create_folder",
      "description": "Create a Grafana folder in a namespace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The new folder title."
          },
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional explicit Grafana folder UID."
          },
          "generateName": {
            "type": "string",
            "minLength": 1,
            "description": "Optional UID prefix Grafana can use to generate a folder UID."
          },
          "parentUid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional parent folder UID for a nested folder."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "title"
        ],
        "description": "Input for creating a Grafana folder."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folder": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana folder UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the folder."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parentUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The parent folder UID when the folder is nested."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana folder."
          }
        },
        "additionalProperties": false,
        "description": "The created Grafana folder."
      }
    },
    {
      "id": "grafana.delete_dashboard",
      "service": "grafana",
      "name": "delete_dashboard",
      "description": "Delete a Grafana dashboard resource by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana dashboard UID."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid"
        ],
        "description": "Input for deleting a Grafana dashboard."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the connector completed the delete request."
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Grafana dashboard deletion result."
      }
    },
    {
      "id": "grafana.delete_data_source",
      "service": "grafana",
      "name": "delete_data_source",
      "description": "Delete a Grafana data source by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana data source UID."
          }
        },
        "additionalProperties": false,
        "description": "Input for deleting a Grafana data source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the connector completed the delete request."
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Grafana data source deletion result."
      }
    },
    {
      "id": "grafana.delete_folder",
      "service": "grafana",
      "name": "delete_folder",
      "description": "Delete a Grafana folder by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana folder UID."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid"
        ],
        "description": "Input for deleting a Grafana folder."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the connector completed the delete request."
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Grafana folder deletion result."
      }
    },
    {
      "id": "grafana.get_dashboard",
      "service": "grafana",
      "name": "get_dashboard",
      "description": "Retrieve one Grafana dashboard resource by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana dashboard UID."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid"
        ],
        "description": "Input for retrieving a Grafana dashboard."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dashboard": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "folderUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder UID that contains the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana dashboard resource."
          }
        },
        "additionalProperties": false,
        "description": "A Grafana dashboard response."
      }
    },
    {
      "id": "grafana.get_data_source",
      "service": "grafana",
      "name": "get_data_source",
      "description": "Retrieve one Grafana data source by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana data source UID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Grafana data source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dataSource": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric Grafana data source ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana data source UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source plugin type."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "access": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source access mode."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source URL when returned by Grafana."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDefault": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is the default."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "readOnly": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is read-only."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "A Grafana data source record."
          }
        },
        "additionalProperties": false,
        "description": "A Grafana data source response."
      }
    },
    {
      "id": "grafana.get_folder",
      "service": "grafana",
      "name": "get_folder",
      "description": "Retrieve one Grafana folder by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana folder UID."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid"
        ],
        "description": "Input for retrieving a Grafana folder."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folder": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana folder UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the folder."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parentUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The parent folder UID when the folder is nested."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana folder."
          }
        },
        "additionalProperties": false,
        "description": "A Grafana folder response."
      }
    },
    {
      "id": "grafana.list_data_sources",
      "service": "grafana",
      "name": "list_data_sources",
      "description": "List Grafana data sources available to the service account token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Grafana data sources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dataSources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The numeric Grafana data source ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "uid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana data source UID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The data source name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The data source plugin type."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "access": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The data source access mode."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The data source URL when returned by Grafana."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isDefault": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this data source is the default."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "readOnly": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this data source is read-only."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "A Grafana data source record."
            },
            "description": "Data sources returned by Grafana."
          },
          "raw": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Grafana API object."
            },
            "description": "Raw Grafana data source objects."
          }
        },
        "additionalProperties": false,
        "description": "Grafana data sources."
      }
    },
    {
      "id": "grafana.list_folders",
      "service": "grafana",
      "name": "list_folders",
      "description": "List Grafana folders in a namespace with optional pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of folders to request."
          },
          "continueToken": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana continue token from a previous folder list response."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Grafana folders."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana folder UID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "title": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The folder title."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "namespace": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The namespace that owns the folder."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "resourceVersion": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The folder resource version."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "parentUid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The parent folder UID when the folder is nested."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Grafana API object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Grafana folder."
            },
            "description": "Folders returned by Grafana."
          },
          "continueToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The next Grafana continue token, or null on the last page."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana API object."
          }
        },
        "additionalProperties": false,
        "description": "A page of Grafana folders."
      }
    },
    {
      "id": "grafana.search_dashboards",
      "service": "grafana",
      "name": "search_dashboards",
      "description": "Search Grafana folders and dashboards by query, tags, type, folder, and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Free-text search query."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A dashboard tag."
            },
            "description": "Dashboard tags to search for."
          },
          "type": {
            "type": "string",
            "enum": [
              "dash-db",
              "dash-folder"
            ],
            "description": "Restrict results to dashboards or folders."
          },
          "dashboardUids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A dashboard UID."
            },
            "description": "Dashboard UIDs to search for."
          },
          "folderUids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A folder UID."
            },
            "description": "Folder UIDs to search in."
          },
          "starred": {
            "type": "boolean",
            "description": "Whether to return only starred dashboards."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "Maximum number of search results to return."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Search results page number. Numbering starts at 1."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Grafana folders and dashboards."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The numeric Grafana search result ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "uid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana dashboard or folder UID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "title": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The search result title."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana result type, such as dash-db or dash-folder."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana UI path for the result."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isStarred": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the dashboard is starred."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "A Grafana folder or dashboard search result."
            },
            "description": "Search results returned by Grafana."
          },
          "raw": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Grafana API object."
            },
            "description": "Raw Grafana search result objects."
          }
        },
        "additionalProperties": false,
        "description": "Grafana folder and dashboard search results."
      }
    },
    {
      "id": "grafana.update_dashboard",
      "service": "grafana",
      "name": "update_dashboard",
      "description": "Replace a Grafana dashboard resource by UID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana dashboard UID."
          },
          "folderUid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional folder UID for the dashboard."
          },
          "spec": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Grafana dashboard spec JSON. This is forwarded to Grafana as the dashboard body."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          },
          "resourceVersion": {
            "type": "string",
            "minLength": 1,
            "description": "The current Grafana resource version when required by the instance."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid",
          "spec"
        ],
        "description": "Input for updating a Grafana dashboard."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dashboard": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The dashboard resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "folderUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder UID that contains the dashboard."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana dashboard resource."
          }
        },
        "additionalProperties": false,
        "description": "The updated Grafana dashboard."
      }
    },
    {
      "id": "grafana.update_data_source",
      "service": "grafana",
      "name": "update_data_source",
      "description": "Update a Grafana data source by UID using fields accepted by Grafana.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana data source UID."
          },
          "dataSource": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Grafana data source payload. Use official Grafana data source fields such as name, type, access, url, jsonData, and secureJsonData."
          }
        },
        "additionalProperties": false,
        "description": "Input for updating a Grafana data source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dataSource": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The numeric Grafana data source ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana data source UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source plugin type."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "access": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source access mode."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The data source URL when returned by Grafana."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDefault": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is the default."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "readOnly": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this data source is read-only."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "A Grafana data source record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana API object."
          }
        },
        "additionalProperties": false,
        "description": "The updated Grafana data source result."
      }
    },
    {
      "id": "grafana.update_folder",
      "service": "grafana",
      "name": "update_folder",
      "description": "Update the title or parent folder for a Grafana folder.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana folder UID."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The updated folder title."
          },
          "parentUid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional parent folder UID for a nested folder."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana API namespace. Use default for the main organization."
          },
          "resourceVersion": {
            "type": "string",
            "minLength": 1,
            "description": "The current Grafana resource version when required by the instance."
          }
        },
        "additionalProperties": false,
        "required": [
          "uid",
          "title"
        ],
        "description": "Input for updating a Grafana folder."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folder": {
            "type": "object",
            "properties": {
              "uid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Grafana folder UID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder title."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "namespace": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The namespace that owns the folder."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "resourceVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The folder resource version."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parentUid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The parent folder UID when the folder is nested."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Grafana API object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Grafana folder."
          }
        },
        "additionalProperties": false,
        "description": "The updated Grafana folder."
      }
    }
  ]
}
