prom-evidence-mcp

prom-evidence-mcp

An evidence-first Prometheus MCP server that lets AI agents query production telemetry with detailed receipts including exact PromQL, timing, series count, and explicit warnings for empty, high-cardinality, or unreliable data.

Category
Visit Server

README

prom-evidence-mcp

An evidence-first Prometheus MCP server. It lets an AI agent query production telemetry, but every response carries the receipts: the exact PromQL that ran, when it ran, how many series and samples came back, and explicit warnings when the data is empty, high cardinality, or too thin to support a trend.

Why

I spent years doing production incident response on systems processing over a million orders a day, and the lesson that stuck is that the most dangerous thing in an incident is not missing data, it is a confident conclusion built on partial data. Agents make this worse: they are fluent enough to turn three data points into a convincing root cause story.

This server takes a position: an agent should never be able to read telemetry without also receiving the evidence needed to doubt it. Concretely:

  • An empty result comes back with a warning that absence of data is not evidence of absence, and a pointer to verify the metric name first.
  • A range query with too few samples per series says plainly that trends computed on it are unreliable.
  • A high cardinality result warns that aggregates over hundreds of series are easy to misread.
  • target_health exists so the agent can check whether the scrapes behind the numbers are even alive before reasoning about the numbers.

The evidence block is part of the tool contract, so a well-prompted agent cites its queries and coverage the same way a careful engineer pastes the graph link into the incident channel.

Tools

Tool What it does
instant_query Evaluate a PromQL expression now (or at a timestamp), with evidence
range_query Evaluate over a window with a step, with sample-coverage warnings
list_metrics List or filter metric names, for verifying a metric exists before trusting an empty result
target_health Up/down summary per scrape job, with last errors for down targets

Every response is JSON with result plus an evidence object:

{
  "evidence": {
    "query": "sum(rate(http_requests_total[5m]))",
    "endpoint": "/api/v1/query_range",
    "executed_at": "2026-07-11T22:41:03.512Z",
    "window": { "start": "2026-07-11T20:00:00Z", "end": "2026-07-11T22:00:00Z", "step": "60s" },
    "duration_ms": 84,
    "series_returned": 1,
    "total_samples": 121,
    "warnings": []
  }
}

Install

git clone https://github.com/sharonpammi/prom-evidence-mcp
cd prom-evidence-mcp
npm install
npm run build

Use with Claude Code

claude mcp add prometheus --env PROMETHEUS_URL=https://your-prometheus.example.com -- node /path/to/prom-evidence-mcp/dist/index.js

Use with Claude Desktop

{
  "mcpServers": {
    "prometheus": {
      "command": "node",
      "args": ["/path/to/prom-evidence-mcp/dist/index.js"],
      "env": { "PROMETHEUS_URL": "https://your-prometheus.example.com" }
    }
  }
}

No Prometheus handy? Point it at the public PromLabs demo instance to try it out:

PROMETHEUS_URL=https://demo.promlabs.com npm run smoke

Configuration

Env var Default Meaning
PROMETHEUS_URL required Base URL of the Prometheus server
PROM_TIMEOUT_MS 15000 Per-request timeout
PROM_MAX_SERIES 200 Series count above which results carry a cardinality warning
PROM_MIN_RANGE_SAMPLES 5 Samples per series below which range results carry a reliability warning

Non-goals

This is a read-only window onto telemetry. It deliberately does not expose admin endpoints, remote write, or configuration reload. An agent that can read your metrics should not be one typo away from changing them.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured