Prometheus
Interactúa con tu infraestructura de monitoreo Prometheus usando lenguaje natural.
Documentación

Servidor MCP de Prometheus
Un servidor de Model Context Protocol (MCP) que proporciona una integración perfecta entre asistentes de IA y Prometheus, permitiendo interacciones en lenguaje natural con tu infraestructura de monitoreo. Este servidor permite consultar, descubrir y analizar métricas sin esfuerzo a través de Visual Studio Code, Cursor, Windsurf, Claude Desktop y otros clientes MCP.
Características principales
- Rápido y ligero. Integración directa con la API de Prometheus, sin necesidad de análisis complejos.
- Amigable con LLM. Respuestas JSON estructuradas optimizadas para el consumo de asistentes de IA.
- Capacidades configurables. Habilita/deshabilita categorías de herramientas según tus requisitos de seguridad y operativos.
- Soporte de transporte dual. Funciona con transportes stdio y HTTP para máxima compatibilidad.
Requisitos
- Node.js 20.19.0 o superior
- Acceso a un servidor de Prometheus
- VS Code, Cursor, Windsurf, Claude Desktop o cualquier otro cliente MCP
Primeros pasos
Primero, instala el servidor MCP de Prometheus con tu cliente. Una configuración típica se ve así:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}
Instalar en VS Code
# For VS Code
code --add-mcp '{"name":"prometheus","command":"npx","args":["prometheus-mcp@latest","stdio"],"env":{"PROMETHEUS_URL":"http://localhost:9090"}}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"prometheus","command":"npx","args":["prometheus-mcp@latest","stdio"],"env":{"PROMETHEUS_URL":"http://localhost:9090"}}'
Después de la instalación, el servidor MCP de Prometheus estará disponible para usarse con tu agente de GitHub Copilot en VS Code.
Instalar en Cursor
Ve a Cursor Settings → MCP → Add new MCP Server. Ponle el nombre que prefieras, usa el tipo command con el comando npx prometheus-mcp. También puedes verificar la configuración o agregar argumentos de comando haciendo clic en Edit.
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}
Instalar en Windsurf
Sigue la documentación de MCP de Windsurf. Usa la siguiente configuración:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}
Instalar en Claude Desktop
Claude Desktop admite dos métodos de instalación:
Opción 1: Extensión DXT
La forma más fácil de instalar es usando la extensión DXT precompilada:
- Descarga el archivo
.dxtmás reciente desde la página de versiones - Haz doble clic en el archivo descargado para instalarlo automáticamente
- Configura tu URL de Prometheus en la configuración de la extensión
Opción 2: Configuración de desarrollador
Para usuarios avanzados o configuraciones personalizadas, configura manualmente el servidor MCP:
- Abre la configuración de Claude Desktop
- Navega a la sección Developer
- Agrega la siguiente configuración del servidor MCP:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}
Configuración
El servidor MCP de Prometheus admite los siguientes argumentos. Se pueden proporcionar en la configuración JSON anterior, como parte de la lista "args":
> npx prometheus-mcp@latest --help
Commands:
stdio Start Prometheus MCP server using stdio transport
http Start Prometheus MCP server using HTTP transport
Options:
--help Show help [boolean]
--version Show version number [boolean]
Variables de entorno
También puedes configurar el servidor usando variables de entorno:
PROMETHEUS_URL- URL del servidor de PrometheusENABLE_DISCOVERY_TOOLS- Establecer en "false" para deshabilitar las herramientas de descubrimiento (predeterminado: true)ENABLE_INFO_TOOLS- Establecer en "false" para deshabilitar las herramientas de información (predeterminado: true)ENABLE_QUERY_TOOLS- Establecer en "false" para deshabilitar las herramientas de consulta (predeterminado: true)
Servidor MCP independiente
Cuando se ejecuta en entornos de servidor o cuando necesitas transporte HTTP, ejecuta el servidor MCP con el comando http:
npx prometheus-mcp@latest http --port 3000
Y luego en la configuración de tu cliente MCP, establece el url al endpoint HTTP:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}
Docker
Ejecuta el servidor MCP de Prometheus usando Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"--pull=always",
"-e",
"PROMETHEUS_URL=http://host.docker.internal:9090",
"ghcr.io/idanfishman/prometheus-mcp",
"stdio"
]
}
}
}
Herramientas
El servidor MCP de Prometheus proporciona 10 herramientas organizadas en tres categorías configurables:
Descubrimiento
Herramientas para explorar tu infraestructura de Prometheus:
-
prometheus_list_metrics- Descripción: Lista todas las métricas de Prometheus disponibles
- Parámetros: Ninguno
- Solo lectura: true
-
prometheus_metric_metadata- Descripción: Obtiene metadatos para una métrica específica de Prometheus
- Parámetros:
metric(string): Nombre de la métrica para obtener metadatos
- Solo lectura: true
-
prometheus_list_labels- Descripción: Lista todas las etiquetas de Prometheus disponibles
- Parámetros: Ninguno
- Solo lectura: true
-
prometheus_label_values- Descripción: Obtiene todos los valores para una etiqueta específica de Prometheus
- Parámetros:
label(string): Nombre de la etiqueta para obtener valores
- Solo lectura: true
-
prometheus_list_targets- Descripción: Lista todos los objetivos de scrape de Prometheus
- Parámetros: Ninguno
- Solo lectura: true
-
prometheus_scrape_pool_targets- Descripción: Obtiene objetivos para un pool de scrape específico
- Parámetros:
scrapePool(string): Nombre del pool de scrape
- Solo lectura: true
Información
Herramientas para acceder a la información del servidor de Prometheus:
-
prometheus_runtime_info- Descripción: Obtiene información de tiempo de ejecución de Prometheus
- Parámetros: Ninguno
- Solo lectura: true
-
prometheus_build_info- Descripción: Obtiene información de compilación de Prometheus
- Parámetros: Ninguno
- Solo lectura: true
Consulta
Herramientas para ejecutar consultas de Prometheus:
-
prometheus_query- Descripción: Ejecuta una consulta instantánea de Prometheus
- Parámetros:
query(string): Expresión de consulta de Prometheustime(string, opcional): Parámetro de tiempo para la consulta (formato RFC3339)
- Solo lectura: true
-
prometheus_query_range- Descripción: Ejecuta una consulta de rango de Prometheus
- Parámetros:
query(string): Expresión de consulta de Prometheusstart(string): Marca de tiempo de inicio (RFC3339 o timestamp unix)end(string): Marca de tiempo de fin (RFC3339 o timestamp unix)step(string): Ancho del paso de resolución de la consulta
- Solo lectura: true
Ejemplo de uso
Aquí hay algunos ejemplos de interacciones que puedes tener con tu asistente de IA:
Consultas básicas
- "Muéstrame todas las métricas disponibles en Prometheus"
- "¿Cuál es el uso actual de CPU en todas las instancias?"
- "Obtén el uso de memoria de la última hora"
Descubrimiento y exploración
- "Lista todos los objetivos de scrape y su estado"
- "¿Qué etiquetas están disponibles para la métrica
http_requests_total?" - "Muéstrame todas las métricas relacionadas con 'cpu'"
Análisis avanzado
- "Compara el uso de CPU entre los entornos de producción y staging"
- "Muéstrame los 10 servicios principales por consumo de memoria"
- "¿Cuál es la tendencia de la tasa de errores para el servicio API en las últimas 24 horas?"
Consideraciones de seguridad
- Acceso a la red: El servidor requiere acceso de red a tu instancia de Prometheus
- Uso de recursos: Las consultas de rango pueden consumir muchos recursos; monitorea la carga de tu servidor de Prometheus
Solución de problemas
Problemas de conexión
- Verifica que tu servidor de Prometheus sea accesible en la URL configurada
- Revisa la configuración del firewall y la conectividad de red
- Asegúrate de que la API de Prometheus esté habilitada (predeterminado en el puerto 9090)
Errores de permisos
- Verifica que el servidor MCP tenga acceso de red a Prometheus
- Revisa si se requiere autenticación para tu configuración de Prometheus
Disponibilidad de herramientas
- Si faltan ciertas herramientas, verifica si han sido deshabilitadas mediante la configuración
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Soporte
- Issues de GitHub: Reporta errores o solicita funciones
- Documentación: Documentación del Protocolo de Contexto de Modelo
- Prometheus: Documentación de Prometheus
Construido con ❤️ para las comunidades de Prometheus y MCP