mcp-server-prometheus logo

mcp-server-prometheus

by loglmhq

This is a TypeScript-based MCP server that implements a Prometheus API interface. It provides a bridge between Claude and your Prometheus server through the Model Context Protocol (MCP).

View on GitHub

Last updated: N/A

mcp-server-prometheus

MCP server for interacting with Prometheus metrics and data.

This is a TypeScript-based MCP server that implements a Prometheus API interface. It provides a bridge between Claude and your Prometheus server through the Model Context Protocol (MCP).

<a href="https://glama.ai/mcp/servers/y7b3qba8jy"><img width="380" height="200" src="https://glama.ai/mcp/servers/y7b3qba8jy/badge" alt="mcp-server-prometheus MCP server" /></a>

Demo

demo

demo

Features

Resources

  • List and access Prometheus metric schema
  • Each metric resource provides:
    • Metric name and description
    • Detailed metadata from Prometheus
    • Statistical information (count, min, max)
  • JSON mime type for structured data access

Current Capabilities

  • List all available Prometheus metrics with descriptions
  • Read detailed metric information including:
    • Metadata and help text
    • Current statistical data (count, min, max values)
  • Basic authentication support for secured Prometheus instances

Configuration

The server requires the following environment variable:

  • PROMETHEUS_URL: The base URL of your Prometheus instance

Optional authentication configuration:

  • PROMETHEUS_USERNAME: Username for basic auth (if required)
  • PROMETHEUS_PASSWORD: Password for basic auth (if required)

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-server-prometheus": {
      "command": "/path/to/mcp-server-prometheus/build/index.js",
      "env": {
        "PROMETHEUS_URL": "http://your-prometheus-instance:9090"
      }
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

API Structure

The server exposes Prometheus metrics through the following URI structure:

  • Base URI: http://your-prometheus-instance:9090
  • Metric URIs: http://your-prometheus-instance:9090/metrics/{metric_name}

Each metric resource returns JSON data containing:

  • Metric name
  • Metadata (help text, type)
  • Current statistics (count, min, max)