Prometheus MCP Server

MIT License
63
  • Linux
  • Apple

Integrations

  • Provides access to Prometheus metrics and queries, allowing execution of PromQL queries, metrics discovery and exploration, viewing instant and range query results, and retrieving target information from a Prometheus server.

Сервер Prometheus MCP

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

Это обеспечивает доступ к вашим метрикам и запросам Prometheus через стандартизированные интерфейсы MCP, позволяя помощникам на основе ИИ выполнять запросы PromQL и анализировать данные ваших метрик.

Функции

  • [x] Выполнение запросов PromQL к Prometheus
  • [x] Откройте для себя и изучите метрики
    • [x] Список доступных метрик
    • [x] Получить метаданные для определенных показателей
    • [x] Просмотр мгновенных результатов запроса
    • [x] Просмотр результатов запроса диапазона с различными интервалами шагов
  • [x] Поддержка аутентификации
    • [x] Базовая аутентификация из переменных окружения
    • [x] Аутентификация токена носителя из переменных среды
  • [x] Поддержка контейнеризации Docker
  • [x] Предоставьте интерактивные инструменты для помощников на основе искусственного интеллекта

Список инструментов настраивается, поэтому вы можете выбрать, какие инструменты вы хотите сделать доступными для клиента MCP. Это полезно, если вы не используете определенные функции или не хотите занимать слишком много места в окне контекста.

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

  1. Убедитесь, что ваш сервер Prometheus доступен из среды, в которой вы будете запускать этот сервер MCP.
  2. Настройте переменные среды для вашего сервера Prometheus с помощью файла .env или системных переменных среды:
# Required: Prometheus configuration PROMETHEUS_URL=http://your-prometheus-server:9090 # Optional: Authentication credentials (if needed) # Choose one of the following authentication methods if required: # For basic auth PROMETHEUS_USERNAME=your_username PROMETHEUS_PASSWORD=your_password # For bearer token auth PROMETHEUS_TOKEN=your_token # Optional: For multi-tenant setups like Cortex, Mimir or Thanos ORG_ID=your_organization_id
  1. Добавьте конфигурацию сервера в файл конфигурации клиента. Например, для Claude Desktop:
{ "mcpServers": { "prometheus": { "command": "uv", "args": [ "--directory", "<full path to prometheus-mcp-server directory>", "run", "src/prometheus_mcp_server/main.py" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

Примечание: если вы видите Error: spawn uv ENOENT в Claude Desktop, вам может потребоваться указать полный путь к uv или задать переменную среды NO_UV=1 в конфигурации.

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

Этот проект включает поддержку Docker для простого развертывания и изоляции.

Создание образа Docker

Создайте образ Docker, используя:

docker build -t prometheus-mcp-server .

Работа с Docker

Запустить сервер с помощью Docker можно несколькими способами:

Используя docker run напрямую:
docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ prometheus-mcp-server
Использование docker-compose:

Создайте файл .env с вашими учетными данными Prometheus, а затем запустите:

docker-compose up

Работа с Docker в Claude Desktop

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

{ "mcpServers": { "prometheus": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "PROMETHEUS_URL", "-e", "PROMETHEUS_USERNAME", "-e", "PROMETHEUS_PASSWORD", "prometheus-mcp-server" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

Эта конфигурация передает переменные среды из Claude Desktop в контейнер Docker, используя флаг -e только с именем переменной и предоставляя фактические значения в объекте env .

Примечание о реализации Docker : настройка Docker была обновлена для соответствия структуре проекта chess-mcp, который, как было доказано, работает правильно с Claude. Новая реализация использует многоступенчатый процесс сборки и запускает скрипт точки входа напрямую без промежуточного скрипта оболочки. Такой подход обеспечивает правильную обработку stdin/stdout для связи MCP.

Разработка

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

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

curl -LsSf https://astral.sh/uv/install.sh | sh

Затем вы можете создать виртуальную среду и установить зависимости с помощью:

uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e .

Структура проекта

Проект организован с использованием структуры каталогов src :

prometheus-mcp-server/ ├── src/ │ └── prometheus_mcp_server/ │ ├── __init__.py # Package initialization │ ├── server.py # MCP server implementation │ ├── main.py # Main application logic ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration ├── .dockerignore # Docker ignore file ├── pyproject.toml # Project configuration └── README.md # This file

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

Проект включает в себя комплексный набор тестов, который обеспечивает функциональность и помогает предотвратить регрессии.

Запустите тесты с помощью pytest:

# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing

Тесты организованы следующим образом:

  • Тесты проверки конфигурации
  • Тесты функциональности сервера
  • Тесты обработки ошибок
  • Основные прикладные тесты

При добавлении новых функций, пожалуйста, также добавляйте соответствующие тесты.

Инструменты

ИнструментКатегорияОписание
execute_queryЗапросВыполнить мгновенный запрос PromQL к Prometheus
execute_range_queryЗапросВыполнить запрос диапазона PromQL с указанием начального времени, конечного времени и интервала шага
list_metricsОткрытиеСписок всех доступных метрик в Prometheus
get_metric_metadataОткрытиеПолучить метаданные для определенной метрики
get_targetsОткрытиеПолучить информацию обо всех целях скрапа

Лицензия

Массачусетский технологический институт


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Предоставляет доступ к метрикам и запросам Prometheus через стандартизированные интерфейсы Model Context Protocol, позволяя помощникам на базе ИИ выполнять запросы PromQL и анализировать данные метрик.

  1. Функции
    1. Использование
      1. Использование Докера
        1. Создание образа Docker
        2. Работа с Docker
        3. Работа с Docker в Claude Desktop
      2. Разработка
        1. Структура проекта
          1. Тестирование
          2. Инструменты
        2. Лицензия

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            MCP server for interacting with Prometheus metrics and data.
            Last updated -
            8
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables Large Language Models to retrieve, analyze, and query metric data from Prometheus databases through pre-defined routes.
            Last updated -
            24
            Python
            MIT License
            • Linux
            • Apple
          • A
            security
            A
            license
            A
            quality
            A proof-of-concept Prometheus MCP server, which likely enables Claude AI to interact with Prometheus monitoring systems through the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            A tool that enables access to Prometheus metrics data through a Model Context Protocol server, allowing interaction with monitoring data using natural language.
            Last updated -
            Python

          View all related MCP servers

          ID: rwxokujcu0