Alertmanager
Visit ProjectBy ntk148v•Created a month ago
•




Integrate AI assistants with Prometheus Alertmanager.
Visit ProjectCategory
Community MCP Server
Tags
AlertmanagerPrometheusMcp ServerMonitoring
What is Prometheus Alertmanager MCP?
Prometheus Alertmanager MCP is a Model Context Protocol (MCP) server for Prometheus Alertmanager, enabling AI assistants to programmatically query and manage Alertmanager resources securely.
How to use Prometheus Alertmanager MCP?
- Installation:
- Install via Smithery:
npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude
- Local run: Clone the repository, configure environment variables, and run
uv --directory "" run src/alertmanager_mcp_server/server.py
. - Docker run: Use the pre-built image or build it yourself with
docker run
commands.
- Install via Smithery:
- Configuration:
- Configure environment variables for Prometheus Alertmanager URL, username, and password.
- Add the server configuration to your client (e.g., Claude Desktop).
- Usage:
- Use natural language commands in the client to interact with Alertmanager, such as:
- "Show me current alerts"
- "Create a silence for this alert for the next 2 hours"
- Use natural language commands in the client to interact with Alertmanager, such as:
Key features of Prometheus Alertmanager MCP?
- Query resources: Status, alerts, silences, receivers, and alert groups.
- Manage resources: Create, update, and delete silences; create new alerts.
- Security features: Basic auth via environment variables.
- Deployment options: Local run and Docker containerization support.
Use cases of Prometheus Alertmanager MCP?
- Monitoring and alerting: Query and manage alerts in a monitoring system.
- Automated responses: Integrate AI assistants to handle alerts automatically.
- Custom alerts: Create new alerts based on specific conditions.
- Silence management: Manage silences for alerts to control notifications.
FAQ on Prometheus Alertmanager MCP?
- **Is Docker required for running the MCP server?
No, Docker is optional. You can run it locally as well.
- **Where can I find the pre-built Docker image?
The pre-built Docker image is available at
ghcr.io/ntk148v/alertmanager-mcp-server
.
Prometheus Alertmanager MCP
Table of Contents
1. Introduction
Prometheus Alertmanager MCP is a Model Context Protocol (MCP) server for Prometheus Alertmanager. It enables AI assistants and tools to query and manage Alertmanager resources programmatically and securely.
2. Features
- [x] Query Alertmanager status, alerts, silences, receivers, and alert groups
- [x] Create, update, and delete silences
- [x] Create new alerts
- [x] Authentication support (Basic auth via environment variables)
- [x] Docker containerization support
3. Quickstart
3.1. Prerequisites
- Python 3.12+
- uv (for fast dependency management).
- Docker (optional, for containerized deployment).
- Ensure your Prometheus Alertmanager server is accessible from the environment where you'll run this MCP server.
3.2. Installing via Smithery
To install Prometheus Alertmanager MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude
3.3. Local Run
- Clone the repository:
# Clone the repository
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
- Configure the environment variables for your Prometheus server, either through a .env file or system environment variables:
# Set environment variables (see .env.sample)
ALERTMANAGER_URL=http://your-alertmanager:9093
ALERTMANAGER_USERNAME=your_username # optional
ALERTMANAGER_PASSWORD=your_password # optional
- Add the server configuration to your client configuration file. For example, for Claude Desktop:
{
"mcpServers": {
"alertmanager": {
"command": "uv",
"args": [
"--directory",
"", "run", "src/alertmanager_mcp_server/server.py" ], "env": { "ALERTMANAGER_URL": "http://your-alertmanager:9093s", "ALERTMANAGER_USERNAME": "your_username", "ALERTMANAGER_PASSWORD": "your_password" } } } } ``` - Or install it using make command: ```shell $ make install ``` - Restart Claude Desktop to load new configuration. - You can now ask Claude to interact with Alertmanager using natual language: - "Show me current alerts" - "Filter alerts related to CPU issues" - "Get details for this alert" - "Create a silence for this alert for the next 2 hours"   ### 3.4. Docker Run - Run it with pre-built image (or you can build it yourself): ```bash $ 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 ``` - Running with Docker in Claude Desktop: ```json { "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" } } } } ``` This configuration passes the environment variables from Claude Desktop to the Docker container by using the `-e` flag with just the variable name, and providing the actual values in the `env` object. ## 4. Tools The MCP server exposes tools for querying and managing Alertmanager, following [its API v2](https://github.com/prometheus/alertmanager/blob/main/api/v2/openapi.yaml): - Get status: `get_status()` - List alerts: `get_alerts()` - List silences: `get_silences()` - Create silence: `post_silence(silence_dict)` - Delete silence: `delete_silence(silence_id)` - List receivers: `get_receivers()` - List alert groups: `get_alert_groups()` See [src/alertmanager_mcp_server/server.py](src/alertmanager_mcp_server/server.py) for full API details. ## 5. Development Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements. This project uses [uv](https://github.com/astral-sh/uv) to manage dependencies. Install uv following the instructions for your platform. ```bash # 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 ``` ## 6. License [Apache 2.0](LICENSE) ---
Made with ❤️ by [@ntk148v](https://github.com/ntk148v)