Оглавление
Related MCP server: mcp-server-pacman
1. Введение
Prometheus Alertmanager MCP — это сервер Model Context Protocol (MCP) для Prometheus Alertmanager. Он позволяет помощникам и инструментам ИИ запрашивать и управлять ресурсами Alertmanager программно и безопасно.
2. Особенности
[x] Запрос статуса Alertmanager, оповещений, тишины, приемников и групп оповещений
[x] Создание, обновление и удаление тишины
[x] Создать новые оповещения
[x] Поддержка аутентификации (базовая аутентификация через переменные среды)
[x] Поддержка контейнеризации Docker
3. Быстрый старт
3.1 Предпосылки
Питон 3.12+
uv (для быстрого управления зависимостями).
Docker (опционально, для контейнерного развертывания).
Убедитесь, что ваш сервер Prometheus Alertmanager доступен из среды, в которой вы будете запускать этот сервер MCP.
3.2 Установка через Smithery
Чтобы автоматически установить Prometheus Alertmanager MCP Server для Claude Desktop через Smithery :
npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude3.3 Локальный запуск
Клонируйте репозиторий:
# Clone the repository
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.gitНастройте переменные среды для вашего сервера Prometheus с помощью файла .env или системных переменных среды:
# Set environment variables (see .env.sample)
ALERTMANAGER_URL=http://your-alertmanager:9093
ALERTMANAGER_USERNAME=your_username # optional
ALERTMANAGER_PASSWORD=your_password # optionalДобавьте конфигурацию сервера в файл конфигурации клиента. Например, для Claude Desktop:
{
"mcpServers": {
"alertmanager": {
"command": "uv",
"args": [
"--directory",
"<full path to alertmanager-mcp-server directory>",
"run",
"src/alertmanager_mcp_server/server.py"
],
"env": {
"ALERTMANAGER_URL": "http://your-alertmanager:9093s",
"ALERTMANAGER_USERNAME": "your_username",
"ALERTMANAGER_PASSWORD": "your_password"
}
}
}
}Или установите его с помощью команды make:
$ make installПерезапустите Claude Desktop, чтобы загрузить новую конфигурацию.
Теперь вы можете попросить Клода взаимодействовать с Alertmanager, используя естественный язык:
«Покажи мне текущие оповещения»
«Фильтрация оповещений, связанных с проблемами ЦП»
«Получить подробности по этому оповещению»
«Создать тишину для этого оповещения на следующие 2 часа»


3.4. Запуск Docker
Запустите его с помощью готового образа (или вы можете собрать его самостоятельно):
$ docker run -e ALERTMANAGER_URL=http://your-alertmanager:9093 \
-e ALERTMANAGER_USERNAME=your_username \
-e ALERTMANAGER_PASSWORD=your_password \
-p 8000:8000 ghcr.io/ntk148v/alertmanager-mcp-serverЗапуск с Docker в Claude Desktop:
{
"mcpServers": {
"alertmanager": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "ALERTMANAGER_URL",
"-e", "ALERTMANAGER_USERNAME",
"-e", "ALERTMANAGER_PASSWORD",
"ghcr.io/ntk148v/alertmanager-mcp-server:latest"
],
"env": {
"ALERTMANAGER_URL": "http://your-alertmanager:9093s",
"ALERTMANAGER_USERNAME": "your_username",
"ALERTMANAGER_PASSWORD": "your_password"
}
}
}
}Эта конфигурация передает переменные среды из Claude Desktop в контейнер Docker, используя флаг -e только с именем переменной и предоставляя фактические значения в объекте env .
4. Инструменты
Сервер MCP предоставляет инструменты для запросов и управления Alertmanager, следуя его API v2 :
Получить статус:
get_status()Список оповещений:
get_alerts()Список тишины:
get_silences()Создать тишину:
post_silence(silence_dict)Удалить тишину:
delete_silence(silence_id)Список приемников:
get_receivers()Список групп оповещений:
get_alert_groups()
Полную информацию об API см. в src/alertmanager_mcp_server/server.py .
5. Развитие
Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на извлечение, если у вас есть какие-либо предложения или улучшения.
Этот проект использует uv для управления зависимостями. Установите uv, следуя инструкциям для вашей платформы.
# Clone the repository
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
$ cd alertmanager-mcp-server
$ make setup
# Run test
$ make test
# Run in development mode
$ mcp dev
$ TRANSPORT_MODE=sse mcp dev
# Install in Claude Desktop
$ make install