MCP Prometheus Server
About
A sophisticated MCP server for Prometheus queries demonstrating advanced Haskell practices
Details
- License
- BSD-3-Clause license
Explore
- 🚀 Claude Desktop Integration - Seamless MCP protocol support
- 📊 Complete Prometheus API - Query, discover, and explore metrics
- 🔍 5 Powerful Tools - From instant queries to metric discovery
- 🛡️ Production Ready - Comprehensive error handling and logging
- 🧵 Thread Safe - Strict evaluation prevents lazy I/O hangs
- 🔧 Haskell Best Practices - Proper exception handling, no SomeException anti-patterns
- 🧪 Test Coverage - Unit and integration tests included
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Prometheus ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- GHC 9.12+ and Cabal 3.0+
- Or use GHCup (recommended):
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"prometheus": {
"command": "/path/to/mcp-prom-haskell/mcp-prometheus-server/testbin/mcp-prometheus-server",
"args": [
"--prometheus-url",
"http://your-prometheus-server:9090"
]
}
}
}
Replace /path/to/ with your actual path to the repository.
- PROMETHEUS_URL - URL of your Prometheus server (default: http://your-prometheus-server:9090)
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp prometheus server": {
"mcp-prom-haskell": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-prometheus-server",
"."
]
}
}
}
}
McpServers
{
"mcp-prom-haskell": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-prometheus-server",
"."
]
}
}
Overview
A production-ready Model Context Protocol (MCP) server implementation in Haskell that provides Claude Desktop with access to Prometheus metrics and queries. Built with Haskell best practices including proper exception handling, strict evaluation patterns, and comprehensive error recovery.
"The Adeon Special" - v1.0.1 incorporates advanced Haskell techniques to avoid common footguns and ensure thread-safe, robust operation.
Features
- 🚀 Claude Desktop Integration - Seamless MCP protocol support
- 📊 Complete Prometheus API - Query, discover, and explore metrics
- 🔍 5 Powerful Tools - From instant queries to metric discovery
- 🛡️ Production Ready - Comprehensive error handling and logging
- 🧵 Thread Safe - Strict evaluation prevents lazy I/O hangs
- 🔧 Haskell Best Practices - Proper exception handling, no SomeException anti-patterns
- 🧪 Test Coverage - Unit and integration tests included
Quick Start
Option 1: Use Pre-built Binary (Recommended)
1. Clone the repository:
git clone https://github.com/drewstreib/mcp-prom-haskell.git
cd mcp-prom-haskell/mcp-prometheus-server
2. Use the pre-built binary:
./testbin/mcp-prometheus-server --prometheus-url http://your-prometheus-server:9090
Option 2: Build from Source
```bash
make build
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



