Skip to main content
Glama

Prometheus MCP Server

MIT License
111
  • Linux
  • Apple

Servidor MCP Prometheus

Un servidor de Protocolo de Contexto Modelo (MCP) para Prometheus.

Esto proporciona acceso a sus métricas y consultas de Prometheus a través de interfaces MCP estandarizadas, lo que permite que los asistentes de IA ejecuten consultas PromQL y analicen sus datos de métricas.

Características

  • [x] Ejecutar consultas PromQL contra Prometheus
  • [x] Descubra y explore métricas
    • [x] Lista de métricas disponibles
    • [x] Obtener metadatos para métricas específicas
    • [x] Ver resultados de consultas instantáneas
    • [x] Ver resultados de consultas de rango con diferentes intervalos de pasos
  • [x] Soporte de autenticación
    • [x] Autenticación básica desde variables de entorno
    • [x] Autorización del token portador desde variables de entorno
  • [x] Compatibilidad con contenedores Docker
  • [x] Proporcionar herramientas interactivas para asistentes de IA

La lista de herramientas es configurable, por lo que puede elegir qué herramientas quiere que estén disponibles para el cliente MCP. Esto resulta útil si no utiliza ciertas funciones o si no desea ocupar demasiado espacio en la ventana de contexto.

Uso

  1. Asegúrese de que su servidor Prometheus sea accesible desde el entorno donde ejecutará este servidor MCP.
  2. Configure las variables de entorno para su servidor Prometheus, ya sea a través de un archivo .env o variables de entorno del sistema:
# 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. Agregue la configuración del servidor al archivo de configuración del cliente. Por ejemplo, para 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" } } } }

Nota: si ve Error: spawn uv ENOENT en Claude Desktop, es posible que deba especificar la ruta completa a uv o establecer la variable de entorno NO_UV=1 en la configuración.

Uso de Docker

Este proyecto incluye soporte para Docker para una fácil implementación y aislamiento.

Imagen de Docker preconstruida

La forma más sencilla de utilizar este proyecto es con la imagen prediseñada de GitHub Container Registry:

docker pull ghcr.io/pab1it0/prometheus-mcp-server:latest

También puedes utilizar versiones específicas con etiquetas:

docker pull ghcr.io/pab1it0/prometheus-mcp-server:1.0.0

Construyendo la imagen de Docker localmente

Si prefieres construir la imagen tú mismo:

docker build -t prometheus-mcp-server .

Ejecutando con Docker

Puedes ejecutar el servidor usando Docker de varias maneras:

Usando Docker Run con la imagen precompilada:
docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ ghcr.io/pab1it0/prometheus-mcp-server:latest
Usando docker run con una imagen creada localmente:
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
Usando docker-compose:

Cree un archivo .env con sus credenciales de Prometheus y luego ejecute:

docker-compose up

Ejecutar con Docker en Claude Desktop

Para utilizar el servidor en contenedores con Claude Desktop, actualice la configuración para usar Docker con las variables de entorno:

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

Esta configuración pasa las variables de entorno de Claude Desktop al contenedor Docker utilizando el indicador -e con solo el nombre de la variable y proporcionando los valores reales en el objeto env .

Nota sobre la implementación de Docker : La configuración de Docker se ha actualizado para que coincida con la estructura del proyecto chess-mcp, que ha demostrado funcionar correctamente con Claude. La nueva implementación utiliza un proceso de compilación multietapa y ejecuta el script de punto de entrada directamente sin un script de shell intermediario. Este enfoque garantiza la correcta gestión de la entrada estándar (stdin) y la salida estándar (stdout) para la comunicación MCP.

Desarrollo

¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios si tiene alguna sugerencia o mejora.

Este proyecto utiliza uv para gestionar las dependencias. Instale uv siguiendo las instrucciones para su plataforma:

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

Luego puede crear un entorno virtual e instalar las dependencias con:

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

Estructura del proyecto

El proyecto se ha organizado con una estructura de directorio 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

Pruebas

El proyecto incluye un conjunto de pruebas integral que garantiza la funcionalidad y ayuda a prevenir regresiones.

Ejecute las pruebas con pytest:

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

Las pruebas se organizan en:

  • Pruebas de validación de configuración
  • Pruebas de funcionalidad del servidor
  • Pruebas de manejo de errores
  • Pruebas de aplicación principales

Al agregar nuevas funciones, agregue también las pruebas correspondientes.

Herramientas

HerramientaCategoríaDescripción
execute_queryConsultaEjecutar una consulta instantánea de PromQL contra Prometheus
execute_range_queryConsultaEjecute una consulta de rango PromQL con hora de inicio, hora de finalización e intervalo de pasos
list_metricsDescubrimientoEnumere todas las métricas disponibles en Prometheus
get_metric_metadataDescubrimientoObtener metadatos para una métrica específica
get_targetsDescubrimientoObtenga información sobre todos los objetivos de scraping

Licencia

Instituto Tecnológico de Massachusetts (MIT)


Install Server
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.

Proporciona acceso a las métricas y consultas de Prometheus a través de interfaces de protocolo de contexto de modelo estandarizadas, lo que permite a los asistentes de IA ejecutar consultas PromQL y analizar datos de métricas.

  1. Características
    1. Uso
      1. Uso de Docker
        1. Imagen de Docker preconstruida
        2. Construyendo la imagen de Docker localmente
        3. Ejecutando con Docker
        4. Ejecutar con Docker en Claude Desktop
      2. Desarrollo
        1. Estructura del proyecto
          1. Pruebas
          2. Herramientas
        2. Licencia

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Enables AI assistants to interact with Meilisearch via the Model Context Protocol, allowing comprehensive index, document, and search management through a standardized interface.
            Last updated -
            68
            4
            TypeScript
            MIT License
            • Apple
            • Linux
          • -
            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
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows AI tools to connect to and interact with your Directus API, enabling automated access to collections, items, and user data.
            Last updated -
            64
            25
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            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

          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/pab1it0/prometheus-mcp-server'

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