Skip to main content
Glama

Grafana

Official
by grafana
Apache 2.0
1,825
  • Linux
  • Apple

Сервер 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] Список команд и пользователей

    • [ ] Список групп оповещений

  • [x] Функциональность администратора

    • [ ] Список пользователей

    • [x] Список команд

    • [ ] Список ролей

    • [ ] Список назначений ролей

    • [ ] Отладка назначений ролей

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

Инструменты

Инструмент

Категория

Описание

list_teams

Админ

Список всех команд

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_schedules

OnCall

Список расписаний от Grafana OnCall

get_oncall_shift

OnCall

Получите подробную информацию о конкретной смене OnCall

get_current_oncall_users

OnCall

Получить пользователей, которые в данный момент находятся на дежурстве по определенному графику

list_oncall_teams

OnCall

Список команд из Grafana OnCall

list_oncall_users

OnCall

Список пользователей из 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
-
license - not tested
-
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
      -
      license
      A
      quality
      A beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.
      Last updated -
      3
      16
      63
      Apache 2.0
    • -
      security
      -
      license
      -
      quality
      MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
      Last updated -
      3
      4
      MIT License
    • -
      security
      -
      license
      -
      quality
      MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
      Last updated -
      6
      3
      MIT License
    • A
      security
      -
      license
      A
      quality
      A Model Context Protocol (MCP) server designed to easily dump your codebase context into Large Language Models (LLMs).
      Last updated -
      1
      24
      2
      Apache 2.0

    View all related MCP servers

    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/grafana/mcp-grafana'

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