プロメテウス MCP サーバー
AIアシスタントが標準化されたインターフェースを通じてPrometheusメトリクスをクエリおよび分析できるモデルコンテキストプロトコル(MCP)サーバー。
概要
Prometheus MCPサーバーとは?
Prometheus MCPサーバーは、AIアシスタントが標準化されたインターフェースを通じてPrometheusメトリクスを照会および分析するために設計されたモデルコンテキストプロトコル(MCP)サーバーです。このサーバーはブリッジとして機能し、AIシステムと、クラウドネイティブ環境で広く使用されている強力な監視およびアラートツールキットであるPrometheusが提供する豊富なデータとのシームレスな相互作用を可能にします。
Prometheus MCPサーバーの特徴
- 標準化されたインターフェース:サーバーは、AIアシスタントがPrometheusメトリクスに簡単にアクセスし、操作できる一連の標準化されたAPIを提供します。
- リアルタイムデータアクセス:ユーザーはメトリクスをリアルタイムで照会でき、即座に洞察を得て意思決定を行うことができます。
- 統合フレンドリー:既存のAIシステムやPrometheusのセットアップとスムーズに統合できるように設計されており、広範な変更を必要とせずに全体的な機能性を向上させます。
- オープンソース:公開リポジトリであるため、コミュニティの貢献や改善を奨励し、協力的な開発環境を育みます。
- スケーラビリティ:アーキテクチャはスケーリングをサポートしており、小規模および大規模な展開の両方に適しています。
Prometheus MCPサーバーの使用方法
- インストール:GitHubからリポジトリをクローンし、ドキュメントに記載されたインストール手順に従います。
- 設定:必要なパラメータを設定して、Prometheusインスタンスに接続するようにサーバーを設定します。
- APIアクセス:提供されたAPIを利用して、AIアシスタントからPrometheus MCPサーバーにクエリを送信します。
- データ分析:返されたメトリクスを分析し、意思決定能力を向上させるためにAIワークフローに統合します。
- コミュニティサポート:サポート、機能リクエスト、プロジェクトへの貢献のためにコミュニティと交流します。
よくある質問
Prometheus MCPサーバーの目的は何ですか?
Prometheus MCPサーバーの主な目的は、AIアシスタントが標準化されたインターフェースを通じてPrometheusメトリクスを照会および分析できるようにし、データ駆動型環境におけるAIの能力を向上させることです。
Prometheus MCPサーバーはオープンソースですか?
はい、Prometheus MCPサーバーはオープンソースプロジェクトであり、ユーザーがその開発と改善に貢献できるようになっています。
Prometheus MCPサーバーにどのように貢献できますか?
リポジトリをフォークし、改善を行い、プルリクエストを送信することで貢献できます。また、GitHubのイシューページを通じて問題を報告したり、機能を提案したりすることもできます。
Prometheus MCPサーバーを実行するためのシステム要件は何ですか?
サーバーは、Prometheusインスタンスにアクセスできる互換性のある環境を必要とします。具体的な要件は、リポジトリ内のドキュメントに記載されています。
他の監視ツールと一緒にPrometheus MCPサーバーを使用できますか?
主にPrometheus用に設計されていますが、アーキテクチャは特定のユースケースや要件に応じて他の監視ツールとの統合の可能性を許容します。
詳細
Prometheus MCP Server
A Model Context Protocol (MCP) server for Prometheus.
This provides access to your Prometheus metrics and queries through standardized MCP interfaces, allowing AI assistants to execute PromQL queries and analyze your metrics data.
<a href="https://glama.ai/mcp/servers/@pab1it0/prometheus-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@pab1it0/prometheus-mcp-server/badge" alt="Prometheus Server MCP server" /> </a>Features
-
Execute PromQL queries against Prometheus
-
Discover and explore metrics
- List available metrics
- Get metadata for specific metrics
- View instant query results
- View range query results with different step intervals
-
Authentication support
- Basic auth from environment variables
- Bearer token auth from environment variables
-
Docker containerization support
-
Provide interactive tools for AI assistants
The list of tools is configurable, so you can choose which tools you want to make available to the MCP client. This is useful if you don't use certain functionality or if you don't want to take up too much of the context window.
Usage
-
Ensure your Prometheus server is accessible from the environment where you'll run this MCP server.
-
Configure the environment variables for your Prometheus server, either through a
.env
file or system environment variables:
### Required: Prometheus configuration
PROMETHEUS_URL=http://your-prometheus-server:9090
### Optional: Authentication credentials (if needed)
### Choose one of the following authentication methods if required:
### For basic auth
PROMETHEUS_USERNAME=your_username
PROMETHEUS_PASSWORD=your_password
### For bearer token auth
PROMETHEUS_TOKEN=your_token
### Optional: For multi-tenant setups like Cortex, Mimir or Thanos
ORG_ID=your_organization_id
- Add the server configuration to your client configuration file. For example, for Claude Desktop:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PROMETHEUS_URL",
"ghcr.io/pab1it0/prometheus-mcp-server:latest"
],
"env": {
"PROMETHEUS_URL": "<url>"
}
}
}
}
Development
Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.
This project uses uv
to manage dependencies. Install uv
following the instructions for your platform:
curl -LsSf https://astral.sh/uv/install.sh | sh
You can then create a virtual environment and install the dependencies with:
uv venv
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .
Project Structure
The project has been organized with a src
directory structure:
prometheus-mcp-server/
├── src/
│ └── prometheus_mcp_server/
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server implementation
│ ├── main.py # Main application logic
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── .dockerignore # Docker ignore file
├── pyproject.toml # Project configuration
└── README.md # This file
Testing
The project includes a comprehensive test suite that ensures functionality and helps prevent regressions.
Run the tests with pytest:
### Install development dependencies
uv pip install -e ".[dev]"
### Run the tests
pytest
### Run with coverage report
pytest --cov=src --cov-report=term-missing
Tests are organized into:
- Configuration validation tests
- Server functionality tests
- Error handling tests
- Main application tests
When adding new features, please also add corresponding tests.
Tools
| Tool | Category | Description |
| | | |
| execute_query
| Query | Execute a PromQL instant query against Prometheus |
| execute_range_query
| Query | Execute a PromQL range query with start time, end time, and step interval |
| list_metrics
| Discovery | List all available metrics in Prometheus |
| get_metric_metadata
| Discovery | Get metadata for a specific metric |
| get_targets
| Discovery | Get information about all scrape targets |
License
MIT
サーバー設定
{
"mcpServers": {
"prometheus-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--pab1it0--prometheus-mcp-server--prometheus-mcp-server",
"prometheus-mcp-server"
],
"env": {
"PROMETHEUS_URL": "prometheus-url",
"PROMETHEUS_USERNAME": "prometheus-username",
"PROMETHEUS_PASSWORD": "prometheus-password"
}
}
}
}