by Grafana Labs (open source) Claude Desktop, Claude Code, Grafana
Официальный open-source MCP-сервер от Grafana Labs. Позволяет LLM читать дашборды, выполнять PromQL/LogQL-запросы, получать алёрты и анализировать метрики прямо в чате. Возможности: - Список и поиск дашбордов - Выполнение PromQL-запросов к Prometheus - Выполнение LogQL-запросов к Loki - Получение активных и ожидающих алёртов - Список источников данных (datasources) - Поиск по Grafana с фильтрами
# Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"grafana": {
"command": "uvx",
"args": ["mcp-grafana"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "your_service_account_token"
}
}
}
}
# Claude Code (CLI):
claude mcp add grafana --env GRAFANA_URL=http://localhost:3000 --env GRAFANA_API_KEY=your_service_account_token -- uvx mcp-grafana
# OpenCode — ~/.config/opencode/opencode.json:
{
"mcp": {
"grafana": {
"type": "local",
"command": ["uvx", "mcp-grafana"],
"environment": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "your_service_account_token"
}
}
}
}
Сервер [Протокола контекста модели][mcp] (MCP) для Grafana.
Предоставляет доступ к вашему экземпляру Grafana и окружающей экосистеме.
Требуется uv. Добавьте следующее в конфигурацию вашего MCP-клиента (например, Claude Desktop, Cursor):
{
"mcpServers": {
"grafana": {
"command": "uvx",
"args": ["mcp-grafana"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
Для Grafana Cloud замените GRAFANA_URL на URL вашего экземпляра (например, https://myinstance.grafana.net). Смотрите раздел Использование для получения дополнительных вариантов установки, включая Docker, бинарный файл и Helm.
Следующие возможности в настоящее время доступны в MCP-сервере. Этот список носит информационный характер и не является дорожной картой или обязательством по будущим функциям.
$.title, $.panels[*].title) для загрузки только необходимых данных и уменьшения потребления контекста окна.Примечание: Инструменты выполнения запросов панелей отключены по умолчанию. Чтобы включить их, добавьте
runpanelqueryв ваш флаг--enabled-tools.
Инструменты для дашбордов теперь включают несколько стратегий для эффективного управления использованием контекста окна (проблема #101):
get_dashboard_summary для обзора дашборда и планирования измененийget_dashboard_property с JSONPath, когда вам нужны только определенные части дашбордаget_dashboard_by_uid, если вам не нужен полный JSON дашбордаПримечание: Инструменты примеров запросов отключены по умолчанию. Чтобы включить их, добавьте
examplesв ваш флаг--enabled-tools.
Примечание: Инструменты для InfluxDB отключены по умолчанию. Чтобы включить их, добавьте
influxdbв ваш флаг--enabled-tools.
dialect.Примечание: Инструменты для ClickHouse отключены по умолчанию. Чтобы включить их, добавьте
clickhouseв ваш флаг--enabled-tools.
Примечание: Инструменты для CloudWatch отключены по умолчанию. Чтобы включить их, добавьте
cloudwatchв ваш флаг--enabled-tools.
Примечание: Инструменты для Graphite отключены по умолчанию. Чтобы включить их, добавьте
graphiteв ваш флаг--enabled-tools.
Примечание: Инструменты для Athena отключены по умолчанию. Чтобы включить их, добавьте
athenaв ваш флаг--enabled-tools.
Примечание: Инструменты для Snowflake отключены по умолчанию. Чтобы включить их, добавьте
snowflakeв ваш флаг--enabled-tools.
Запросы проходят через источник данных Snowflake в Grafana (плагин Grafana Enterprise grafana-snowflake-datasource), поэтому аутентификация обрабатывается конфигурацией источника данных в Grafana — учетные данные никогда не видны MCP-серверу. Это та же модель, что используется для инструментов ClickHouse.
INFORMATION_SCHEMA.TABLES. Доступны необязательные фильтры по базе данных/схеме.SNOWFLAKE.TELEMETRY.EVENTS) для логов и трейсов, или к любой пользовательской таблице.$__timeFilter(column), $__timeFrom, $__timeTo, $__from, $__to (Unix мс), $__interval (секунды), $__interval_ms и ${varname} для подстановки шаблонных переменных.Примечание: Инструменты для Elasticsearch/OpenSearch отключены по умолчанию. Чтобы включить их, добавьте
elasticsearchв ваш флаг--enabled-tools.
Примечание: Инструменты для Quickwit отключены по умолчанию. Чтобы включить их, добавьте
quickwitв ваш флаг--enabled-tools.
Примечание: Инструменты администрирования отключены по умолчанию. Чтобы включить их, добавьте
adminв ваш флаг--enabled-tools. - Список команд: Просмотр всех настроенных команд в Grafana. - Список пользователей: Просмотр всех пользователей в организации в Grafana. - Список всех ролей: Вывод списка всех ролей Grafana с необязательным фильтром для делегируемых ролей. - Получение деталей роли: Получение подробной информации о конкретной роли Grafana по UID. - Список назначений для роли: Вывод списка всех пользователей, команд и служебных учетных записей, назначенных на роль. - Список ролей для пользователей: Вывод списка всех ролей, назначенных одному или нескольким пользователям. - Список ролей для команд: Вывод списка всех ролей, назначенных одной или нескольким командам. - Список разрешений для ресурса: Вывод списка всех разрешений, определенных для определенного ресурса (дашборд, источник данных, папка и т.д.). - Описание ресурса Grafana: Вывод доступных разрешений и возможностей назначения для типа ресурса.
http://localhost:3000/d/dashboard-uid)http://localhost:3000/d/dashboard-uid?viewPanel=5)http://localhost:3000/explore?left={"datasource":"prometheus-uid"})from=now-1h&to=now)what, when, tags, data).provisioningPreview.Список инструментов настраиваем, поэтому вы можете выбрать, какие инструменты сделать доступными для MCP-клиента.
Это полезно, если вы не используете определенную функциональность или не хотите слишком сильно загружать контекст окна.
Чтобы отключить категорию инструментов, используйте флаг --disable-<category> при запуске сервера. Например, чтобы отключить инструменты OnCall, используйте --disable-oncall, а чтобы отключить генерацию глубоких ссылок навигации, используйте --disable-navigation.
Каждый инструмент требует определенных разрешений RBAC для правильного функционирования. При создании служебной учетной записи для MCP-сервера убедитесь, что у нее есть необходимые разрешения в зависимости от того, какие инструменты вы планируете использовать. Перечисленные разрешения представляют собой минимально необходимые действия — вам также могут потребоваться соответствующие области (например, datasources:*, dashboards:*, folders:*) в зависимости от вашего варианта использования.
Совет: Если вы не знакомы с RBAC Grafana или хотите более быстрой и простой настройки вместо конфигурации множества мелких областей, вы можете назначить служебной учетной записи встроенную роль, такую как Editor. Роль Editor предоставляет широкий доступ на чтение/запись, который позволит большинству операций MCP-сервера; она менее детализирована (а значит, менее ограничительна), чем ручные области, поэтому используйте ее только тогда, когда удобство важнее строгого доступа с минимальными привилегиями.
Примечание: Инструменты Grafana Incident и Sift используют базовые роли Grafana вместо тонко настроенных разрешений RBAC: - Роль Viewer: Требуется для операций только для чтения (список инцидентов, получение расследований) - Роль Editor: Требуется для операций записи (создание инцидентов, изменение расследований)
Для получения дополнительной информации о RBAC Grafana см. официальную документацию.
Области определяют конкретные ресурсы, к которым применяются разрешения. Каждое действие требует соответствующей комбинации разрешения и области.
Распространенные паттерны областей:
Широкий доступ: Используйте подстановочные знаки * для доступа на уровне организации
datasources:* - Доступ ко всем источникам данных
dashboards:* - Доступ ко всем дашбордамfolders:* - Доступ ко всем папкамteams:* - Доступ ко всем командам
Ограниченный доступ: Используйте конкретные UID или ID для ограничения доступа к отдельным ресурсам
datasources:uid:prometheus-uid - Доступ только к конкретному источнику данных Prometheusdashboards:uid:abc123 - Доступ только к дашборду с UID abc123folders:uid:xyz789 - Доступ только к папке с UID xyz789teams:id:5 - Доступ только к команде с ID 5global.users:id:123 - Доступ только к пользователю с ID 123Примеры:
datasources:* (datasources:read, datasources:query)
dashboards:* (dashboards:read, dashboards:create, dashboards:write)
folders:* (для создания дашбордов и правил оповещений)
teams:* (teams:read)
global.users:* (users:read)
datasources:uid:prometheus-prod (datasources:query)
datasources:uid:loki-prod (datasources:query)
dashboards:uid:monitoring-dashboard (dashboards:read)
dashboards:uid:alerts-dashboard (dashboards:read)| Инструмент | Категория | Описание | Необходимые разрешения RBAC | Необходимые области |
|---|---|---|---|---|
list_teams |
Администрирование | Вывод списка всех команд | teams:read |
teams:* или teams:id:1 |
list_users_by_org |
Администрирование | Вывод списка всех пользователей в организации | users:read |
global.users:* или global.users:id:123 |
list_all_roles |
Администрирование | Вывод списка всех ролей Grafana | roles:read |
roles:* |
get_role_details |
Администрирование | Получение деталей роли Grafana | roles:read |
roles:uid:editor |
get_role_assignments |
Администрирование | Вывод списка назначений для роли | roles:read |
roles:uid:editor |
list_user_roles |
Администрирование | Вывод списка ролей для пользователей | roles:read |
global.users:id:123 |
list_team_roles |
Администрирование | Вывод списка ролей для команд | roles:read |
teams:id:7 |
get_resource_permissions |
Администрирование | Вывод списка разрешений для ресурса | permissions:read |
dashboards:uid:abcd1234 |
get_resource_description |
Администрирование | Описание типа ресурса Grafana | permissions:read |
dashboards:* |
search_dashboards |
Поиск | Поиск дашбордов | dashboards:read |
dashboards:* или dashboards:uid:abc123 |
get_dashboard_by_uid |
Дашборды | Получение дашборда по uid | dashboards:read |
dashboards:uid:abc123 |
update_dashboard |
Дашборды | Обновление или создание нового дашборда | dashboards:create, dashboards:write |
dashboards:*, folders:* или folders:uid:xyz789 |
get_dashboard_panel_queries |
Дашборды | Получение заголовка, запросов, UID и типа источника данных панелей из дашборда | dashboards:read |
dashboards:uid:abc123 |
run_panel_query |
Выполнение запроса панели* | Выполнение одного или нескольких запросов панелей дашборда | dashboards:read, datasources:query |
dashboards:uid:*, datasources:uid:* |
get_dashboard_property |
Дашборды | Извлечение определенных частей дашборда с помощью выражений JSONPath | dashboards:read |
dashboards:uid:abc123 |
get_dashboard_summary |
Дашборды | Получение компактной сводки дашборда без полного JSON | dashboards:read |
dashboards:uid:abc123 |
list_datasources |
Источники данных | Вывод списка источников данных | datasources:read |
datasources:* |