Grafana

Official
by grafana
Apache 2.0
703
  • Linux
  • Apple

Integrations

  • Provides access to Grafana dashboards, data sources, and ecosystem tools, enabling search and retrieval of dashboards, querying of data sources (Prometheus, Loki), incident management, alerting capabilities, and OnCall functionality.

  • Allows querying Prometheus data sources, retrieving metric metadata, listing metric names, and exploring label names and values to analyze time series data.

Сервер Grafana MCP

Сервер протокола контекста модели (MCP) для Grafana.

Это обеспечивает доступ к вашему экземпляру Grafana и окружающей экосистеме.

Функции

  • [x] Поиск панелей мониторинга
  • [x] Панели управления
    • [x] Получить панель инструментов по UID
    • [x] Обновите или создайте панель мониторинга (ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: будьте осторожны с контекстными окнами. Подробности см. на странице https://github.com/grafana/mcp-grafana/issues/101 )
    • [x] Получите заголовок, строку запроса и информацию об источнике данных (включая UID и тип, если доступно) из каждой панели на панели мониторинга.
  • [x] Список и выборка информации об источниках данных
  • [ ] Запросить источники данных
    • [x] Прометей
    • [x] Локи
      • [x] Журнал запросов
      • [x] Метрические запросы
    • [ ] Темп
    • [ ] Пироскоп
  • [x] Запрос метаданных Prometheus
    • [x] Метаданные метрики
    • [x] Названия метрик
    • [x] Названия меток
    • [x] Значения меток
  • [x] Запрос метаданных Loki
    • [x] Названия меток
    • [x] Значения меток
    • [x] Статистика
  • [x] Поиск, создание, обновление и закрытие инцидентов
  • [x] Запустите расследования Sift и просмотрите результаты
    • [x] Создать расследования
    • [x] Список расследований с предельным параметром
    • [x] Получить расследование
    • [x] Получить анализы
    • [x] Найдите шаблоны ошибок в журналах с помощью Sift
    • [x] Найти медленные запросы с помощью Sift
    • [ ] Добавить инструменты для других проверок Sift
  • [ ] Оповещение
    • [x] Список и выборка информации о правилах оповещения
    • [x] Получить статусы правил оповещения (срабатывание/нормальное/ошибка/и т. д.)
    • [ ] Создание и изменение правил оповещения
    • [x] Список контактных точек
    • [ ] Создание и изменение точек контакта
  • [x] Доступ к функциональности Grafana OnCall
    • [x] Список и управление расписаниями
    • [x] Получить данные смены
    • [x] Получить текущих дежурных пользователей
    • [x] Список команд и пользователей
    • [ ] Список групп оповещений

Список инструментов настраивается, поэтому вы можете выбрать, какие инструменты вы хотите сделать доступными для клиента MCP. Это полезно, если вы не используете определенные функции или не хотите занимать слишком много места в окне контекста. Чтобы отключить категорию инструментов, используйте флаг --disable-<category> при запуске сервера. Например, чтобы отключить инструменты OnCall, используйте --disable-oncall .

Инструменты

ИнструментКатегорияОписание
search_dashboardsПоискПоиск панелей управления
get_dashboard_by_uidПанель инструментовПолучить панель инструментов по uid
update_dashboardПанель инструментовОбновите или создайте новую панель управления
get_dashboard_panel_queriesПанель инструментовПолучить заголовок панели, запросы, UID источника данных и тип с панели управления
list_datasourcesИсточники данныхСписок источников данных
get_datasource_by_uidИсточники данныхПолучить источник данных по uid
get_datasource_by_nameИсточники данныхПолучить источник данных по имени
query_prometheusПрометейВыполнить запрос к источнику данных Prometheus
list_prometheus_metric_metadataПрометейСписок метрических метаданных
list_prometheus_metric_namesПрометейСписок доступных названий метрик
list_prometheus_label_namesПрометейСписок имен меток, соответствующих селектору
list_prometheus_label_valuesПрометейСписок значений для определенной метки
list_incidentsИнцидентСписок инцидентов в Grafana Incident
create_incidentИнцидентСоздать инцидент в Grafana Incident
add_activity_to_incidentИнцидентДобавить элемент действия к инциденту в Grafana Incident
resolve_incidentИнцидентРазрешить инцидент в Grafana Incident
query_loki_logsЛокиЗапрос и извлечение журналов с помощью LogQL (запросы журналов или метрик)
list_loki_label_namesЛокиПеречислить все доступные имена меток в журналах
list_loki_label_valuesЛокиСписок значений для определенной метки журнала
query_loki_statsЛокиПолучить статистику о потоках журналов
list_alert_rulesОповещениеСписок правил оповещения
get_alert_rule_by_uidОповещениеПолучить правило оповещения по UID
list_oncall_schedulesOnCallСписок расписаний от Grafana OnCall
get_oncall_shiftOnCallПолучите подробную информацию о конкретной смене OnCall
get_current_oncall_usersOnCallПолучить пользователей, которые в данный момент находятся на дежурстве по определенному графику
list_oncall_teamsOnCallСписок команд из Grafana OnCall
list_oncall_usersOnCallСписок пользователей из Grafana OnCall
get_investigationПросеятьПолучить существующее расследование Sift по его UUID
get_analysisПросеятьИзвлечь конкретный анализ из расследования Sift
list_investigationsПросеятьПолучить список расследований Sift с необязательным ограничением
find_error_pattern_logsПросеятьНаходит повышенные шаблоны ошибок в журналах Loki.
find_slow_requestsПросеятьНаходит медленные запросы из соответствующих источников данных о темпе.

Использование

  1. Создайте учетную запись службы в Grafana с достаточными правами для использования инструментов, которые вы хотите использовать, сгенерируйте токен учетной записи службы и скопируйте его в буфер обмена для использования в файле конфигурации. Подробности см. в документации Grafana .
  2. У вас есть несколько вариантов установки mcp-grafana :
    • Образ Docker : используйте готовый образ Docker из Docker Hub:
      docker pull mcp/grafana docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your service account token> mcp/grafana
    • Загрузите двоичный файл : Загрузите последнюю версию mcp-grafana со страницы релизов и поместите ее в $PATH .
    • Сборка из исходного кода : Если у вас установлен Go toolchain, вы также можете собрать и установить его из исходного кода, используя переменную среды GOBIN для указания каталога, в который должен быть установлен двоичный файл. Он также должен быть в вашем PATH .
      GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
  3. Добавьте конфигурацию сервера в файл конфигурации клиента. Например, для Claude Desktop:При использовании двоичного файла:
    { "mcpServers": { "grafana": { "command": "mcp-grafana", "args": [], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }
    При использовании Docker:
    { "mcpServers": { "grafana": { "command": "docker", "args": [ "run", "--rm", "-p", "8000:8000", "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY", "mcp/grafana" ], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

Примечание: если вы видите Error: spawn mcp-grafana ENOENT в Claude Desktop, вам необходимо указать полный путь к mcp-grafana .

Использование VSCode с удаленным сервером MCP

Убедитесь, что ваш .vscode/settings.json включает:

"mcp": { "servers": { "grafana": { "type": "sse", "url": "http://localhost:8000/sse" } } }

Режим отладки

Вы можете включить режим отладки для транспорта Grafana, добавив флаг -debug к команде. Это обеспечит подробное протоколирование HTTP-запросов и ответов между сервером MCP и API Grafana, что может быть полезно для устранения неполадок.

Чтобы использовать режим отладки с конфигурацией Claude Desktop, обновите конфигурацию следующим образом:

При использовании двоичного файла:

{ "mcpServers": { "grafana": { "command": "mcp-grafana", "args": ["-debug"], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

При использовании Docker:

{ "mcpServers": { "grafana": { "command": "docker", "args": [ "run", "--rm", "-p", "8000:8000", "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY", "mcp/grafana", "-debug" ], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

Разработка

Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на извлечение, если у вас есть какие-либо предложения или улучшения.

Этот проект написан на Go. Установите Go, следуя инструкциям для вашей платформы.

Для запуска сервера используйте:

make run

Вы также можете запустить сервер с помощью транспорта SSE внутри созданного образа Docker. Чтобы создать образ, используйте

make build-image

А для запуска образа используйте:

docker run -it --rm -p 8000:8000 mcp-grafana:latest

Тестирование

Доступны три типа тестов:

  1. Модульные тесты (внешние зависимости не требуются):
make test-unit

Вы также можете запустить модульные тесты с помощью:

make test
  1. Интеграционные тесты (требуются запущенные и работающие контейнеры Docker):
make test-integration
  1. Облачные тесты (требуется облачный экземпляр Grafana и учетные данные):
make test-cloud

Примечание: Облачные тесты автоматически настраиваются в CI. Для локальной разработки вам нужно будет настроить собственный экземпляр Grafana Cloud и учетные данные.

Для более комплексных интеграционных тестов потребуется, чтобы экземпляр Grafana был запущен локально на порту 3000; вы можете запустить его с помощью Docker Compose:

docker-compose up -d

Интеграционные тесты можно запустить с помощью:

make test-all

Если вы добавляете больше инструментов, пожалуйста, добавьте интеграционные тесты для них. Существующие тесты должны быть хорошей отправной точкой.

Линтинг

Чтобы выполнить линтинг кода, выполните:

make lint

Это включает в себя пользовательский линтер, который проверяет наличие неэкранированных запятых в тегах структуры jsonschema . Запятые в полях description должны быть экранированы с помощью \\, чтобы предотвратить молчаливое усечение. Вы можете запустить только этот линтер с помощью:

make lint-jsonschema

Более подробную информацию смотрите в документации JSONSchema Linter .

Лицензия

Данный проект лицензирован по лицензии Apache License, версия 2.0 .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Сервер протокола контекста модели (MCP) для Grafana.

Это обеспечивает доступ к вашему экземпляру Grafana и окружающей экосистеме.

  1. Функции
    1. Инструменты
  2. Использование
    1. Режим отладки
  3. Разработка
    1. Тестирование
    2. Линтинг
  4. Лицензия

    Related MCP Servers

    • A
      security
      F
      license
      A
      quality
      A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.
      Last updated -
      8
      84
      27
      JavaScript
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.
      Last updated -
      1
      24
      28
      JavaScript
      MIT License
      • Apple
    • -
      security
      A
      license
      -
      quality
      mcp server that allows to do actual actions related to solana first version adds knowledge about RPC methods and how to call them
      Last updated -
      18
      Rust
      The Unlicense
    • A
      security
      F
      license
      A
      quality
      An MCP server that allows users to interact with YNAB data, enabling access to account balances, transactions, and the creation of new transactions through the Model Context Protocol.
      Last updated -
      10
      1
      Python

    View all related MCP servers

    ID: s29pkmp7d9