Skip to main content
Glama
pab1it0

Prometheus MCP Server

프로메테우스 MCP 서버

Prometheus를 위한 MCP( Model Context Protocol ) 서버.

이를 통해 표준화된 MCP 인터페이스를 통해 Prometheus 메트릭과 쿼리에 액세스할 수 있으므로 AI 어시스턴트가 PromQL 쿼리를 실행하고 메트릭 데이터를 분석할 수 있습니다.

특징

  • [x] Prometheus에 대해 PromQL 쿼리 실행

  • [x] 메트릭을 발견하고 탐색하세요

    • [x] 사용 가능한 메트릭 나열

    • [x] 특정 메트릭에 대한 메타데이터 가져오기

    • [x] 즉시 쿼리 결과 보기

    • [x] 다양한 단계 간격으로 범위 쿼리 결과 보기

  • [x] 인증 지원

    • [x] 환경 변수의 기본 인증

    • [x] 환경 변수에서 Bearer 토큰 인증

  • [x] Docker 컨테이너화 지원

  • [x] AI 어시스턴트를 위한 대화형 도구 제공

도구 목록은 구성 가능하므로 MCP 클라이언트에서 사용할 도구를 선택할 수 있습니다. 특정 기능을 사용하지 않거나 컨텍스트 창을 너무 많이 차지하고 싶지 않을 때 유용합니다.

Related MCP server: Prometheus MCP Server

용법

  1. 이 MCP 서버를 실행할 환경에서 Prometheus 서버에 액세스할 수 있는지 확인하세요.

  2. .env 파일이나 시스템 환경 변수를 통해 Prometheus 서버의 환경 변수를 구성합니다.

지엑스피1

  1. 클라이언트 설정 파일에 서버 설정을 추가하세요. 예를 들어, Claude Desktop의 경우:

{ "mcpServers": { "prometheus": { "command": "uv", "args": [ "--directory", "<full path to prometheus-mcp-server directory>", "run", "src/prometheus_mcp_server/main.py" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

참고: Claude Desktop에서 Error: spawn uv ENOENT 표시되면 uv 에 대한 전체 경로를 지정하거나 구성에서 환경 변수 NO_UV=1 설정해야 할 수 있습니다.

Docker 사용법

이 프로젝트에는 쉬운 배포와 격리를 위한 Docker 지원이 포함되어 있습니다.

미리 빌드된 Docker 이미지

이 프로젝트를 사용하는 가장 쉬운 방법은 GitHub Container Registry의 미리 빌드된 이미지를 사용하는 것입니다.

docker pull ghcr.io/pab1it0/prometheus-mcp-server:latest

태그를 사용하여 특정 버전을 사용할 수도 있습니다.

docker pull ghcr.io/pab1it0/prometheus-mcp-server:1.0.0

Docker 이미지를 로컬로 빌드하기

이미지를 직접 구축하고 싶다면:

docker build -t prometheus-mcp-server .

Docker로 실행

Docker를 사용하여 여러 가지 방법으로 서버를 실행할 수 있습니다.

미리 빌드된 이미지로 docker run을 사용합니다.

docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ ghcr.io/pab1it0/prometheus-mcp-server:latest

로컬로 빌드한 이미지로 docker run을 사용합니다.

docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ prometheus-mcp-server

docker-compose 사용:

Prometheus 자격 증명으로 .env 파일을 만든 다음 다음을 실행합니다.

docker-compose up

Claude Desktop에서 Docker로 실행

Claude Desktop과 함께 컨테이너화된 서버를 사용하려면 환경 변수와 함께 Docker를 사용하도록 구성을 업데이트하세요.

{ "mcpServers": { "prometheus": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "PROMETHEUS_URL", "-e", "PROMETHEUS_USERNAME", "-e", "PROMETHEUS_PASSWORD", "ghcr.io/pab1it0/prometheus-mcp-server:latest" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

이 구성은 -e 플래그와 변수 이름만 사용하여 Claude Desktop에서 Docker 컨테이너로 환경 변수를 전달하고, env 객체에 실제 값을 제공합니다.

Docker 구현 관련 참고 사항 : Claude에서 정상적으로 작동하는 것으로 입증된 chess-mcp 프로젝트의 구조에 맞춰 Docker 설정이 업데이트되었습니다. 새로운 구현은 다단계 빌드 프로세스를 사용하며 중간 셸 스크립트 없이 진입점 스크립트를 직접 실행합니다. 이러한 접근 방식은 MCP 통신을 위한 stdin/stdout의 적절한 처리를 보장합니다.

개발

기여를 환영합니다! 제안이나 개선 사항이 있으시면 이슈를 개설하거나 풀 리퀘스트를 제출해 주세요.

이 프로젝트는 uv 사용하여 종속성을 관리합니다. 플랫폼에 맞는 지침에 따라 uv 설치하세요.

curl -LsSf https://astral.sh/uv/install.sh | sh

그런 다음 가상 환경을 만들고 다음을 사용하여 종속성을 설치할 수 있습니다.

uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e .

프로젝트 구조

이 프로젝트는 src 디렉토리 구조로 구성되었습니다.

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

테스트

이 프로젝트에는 기능성을 보장하고 회귀를 방지하는 데 도움이 되는 포괄적인 테스트 모음이 포함되어 있습니다.

pytest로 테스트를 실행합니다.

# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing

테스트는 다음과 같이 구성됩니다.

  • 구성 검증 테스트

  • 서버 기능 테스트

  • 오류 처리 테스트

  • 주요 응용 프로그램 테스트

새로운 기능을 추가할 때, 해당 테스트도 추가해 주세요.

도구

도구

범주

설명

execute_query

질문

Prometheus에 대해 PromQL 인스턴트 쿼리 실행

execute_range_query

질문

시작 시간, 종료 시간 및 단계 간격으로 PromQL 범위 쿼리 실행

list_metrics

발견

Prometheus에서 사용 가능한 모든 메트릭 나열

get_metric_metadata

발견

특정 메트릭에 대한 메타데이터 가져오기

get_targets

발견

모든 스크래핑 대상에 대한 정보를 얻으세요

특허

MIT


Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pab1it0/prometheus-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server