mcpField
M
MCP Server for Prometheus

MCP Server for Prometheus

Local
github.com/CaesarYangsDeveloper Tools33Updated 82w ago

About MCP Server for Prometheus

An MCP server for retrieving and analyzing metrics from Prometheus. It is intended for LLM-based workflows that need metric details, time-range data, or PromQL queries.

Key features

  1. 01Retrieve metric names and descriptions
  2. 02Fetch data by metric name
  3. 03Analyze custom time ranges
  4. 04Run statistical metric analysis
  5. 05Execute PromQL queries

Use cases

  1. 01Discover available Prometheus metrics
  2. 02Review metric changes over a period
  3. 03Explore data with PromQL
  4. 04Analyze retrieved metric statistics

MCP support

The MCP server exposes Prometheus retrieval and analysis tools to MCP clients, including metric metadata, time-range data, and PromQL queries.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"prometheus_mcp_server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
Run commandnpx -y @smithery/cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@smithery/cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Server for Prometheus

smithery badge

A Model Context Protocol (MCP) server for retrieving data from Prometheus databases. This MCP server enables Large Language Models (LLMs) to invoke tool functions that retrieve and analyze vast amounts of metric data, search metric usage, execute complex queries, and perform other related tasks through pre-defined routes with enhanced control over usage.

  • Data Retrieval: Fetch specific metrics or ranges of data from Prometheus.
  • Metric Analysis: Perform statistical analysis on retrieved metrics.
  • Usage Search: Find and explore metric usage patterns.
  • Complex Querying: Execute advanced PromQL queries for in-depth data exploration.

Capibilites

✅ Retrieve comprehensive metric information, including names and descriptions, from Prometheus

✅ Fetch and analyze specific metric data using metric names

✅ Analyze metric data within custom time ranges

🚧 Filter and match data using specific labels (in development)

⏳ Additional features planned...

Getting Started

MCP runing requires a python virtual environment(venv), all packages should be installed into this venv so the MCP server can be automically started.

Installing via Smithery

To install Prometheus MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @CaesarYangs/prometheus_mcp_server --client claude
Manual Installation

Prepare python env

cd ./src/prometheus_mcp_server
python3 -m venv .venv
# linux/macos:
source .venv/bin/activate

# windows:
.venv\Scripts\activate

Then it is ready to be used as a dedicated python environment.

Install required packages

Make sure pip is properly isntalled. If your venv is installed without pip, then manually install it using:

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

Then install all required packages:

pip install -r requirements.txt

Usage

With Cursor Env

Ready to update depend on more easy-to-use Cursor environment.

Set this in the MCP section in Cursor Settings:

uv --directory /path/to/prometheus_mcp_server run server.py

README image

With MCP Client(include Claude Desktop)

Config your Claude Desktop app's configuration at ~/Library/Application Support/Claude/claude_desktop_config.json(macos)

{
    "mcpServers": {
        "prometheus": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/prometheus_mcp_server",
                "run",
                "server.py"
            ],
            "env": {
                "PROMETHEUS_HOST": "http://localhost:9090"
            }
        }
    }
}
Standalone MCP Server

Started this MCP server alone:

uv method

uv --directory /path/to/prometheus_mcp_server run server.py

This is also a way to make sure this MCP server can be automatically started since the Claude Desktop is using this ux script way to start when the app launches.

regular python method

python3 server.py

Contributing

Contributions are welcome! Here's a quick guide:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

For major changes, please open an issue first to discuss what you would like to change.

Thank you for your contributions!

License

MIT License

References & Acknowledgments

This project was inspired by or uses code from the following open-source projects:

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.