mcp-server-prometheus

# 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.png) ## 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: ```bash npm install ``` Build the server: ```bash npm run build ``` For development with auto-rebuild: ```bash 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` ```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](https://github.com/modelcontextprotocol/inspector): ```bash 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)