mcp-alertmanager
v2.1.1
Published
Model Context Protocol (MCP) server for Prometheus Alertmanager
Maintainers
Readme
Alertmanager MCP Server (Go)
A Model Context Protocol (MCP) server for Prometheus Alertmanager integration. Native Go binary with built-in Kubernetes connectivity via client-go.
Installation
npx
npx -y mcp-alertmanager@latestMCP Client Configuration
Add to your MCP client configuration (VS Code, Cursor, Windsurf, etc.):
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"],
"env": {
"ALERTMANAGER_URL": "http://localhost:9093"
}
}
}
}VS Code
code --add-mcp '{"name":"alertmanager","command":"npx","args":["-y","mcp-alertmanager@latest"],"env":{"ALERTMANAGER_URL":"http://localhost:9093"}}'Kubernetes Auto-Connect
Automatically connects to Alertmanager running in OpenShift/Kubernetes via the K8S API service proxy. Uses native kubeconfig/in-cluster config via client-go. No kubectl or port-forwarding required.
Default: openshift-monitoring/alertmanager-operated:9093
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"]
}
}
}Binary
Download from GitHub Releases or build from source:
make build
./mcp-alertmanagerConfiguration
Environment Variables
| Variable | Description |
|----------|-------------|
| ALERTMANAGER_URL | Direct Alertmanager API URL (overrides K8S auto-connect) |
CLI Flags
| Flag | Description | Default |
|------|-------------|---------|
| --url | Direct Alertmanager URL | - |
| --namespace | Kubernetes namespace | openshift-monitoring |
| --service | Kubernetes service name | alertmanager-operated |
| --service-port | Kubernetes service port | 9093 |
| --service-scheme | Service scheme (http/https) | https |
| --kubeconfig | Path to kubeconfig file | auto-detect |
Precedence: --url / ALERTMANAGER_URL > K8S auto-connect
Connection strategy:
- Direct URL (if
--urlorALERTMANAGER_URLis set) - K8S API proxy (auto-detect kubeconfig or in-cluster config)
Tools (12)
Alerts
| Tool | Description |
|------|-------------|
| getAlerts | Get alerts with optional filters |
| getAlertGroups | Get alerts grouped by routing labels |
| getCriticalAlerts | Get critical severity alerts only |
| getAlertingSummary | Summary: counts by severity, top alerts, namespaces |
Silences
| Tool | Description |
|------|-------------|
| getSilences | List silences by state |
| createSilence | Create a silence for an alert |
| deleteSilence | Delete a silence by ID |
Status
| Tool | Description |
|------|-------------|
| getAlertmanagerStatus | Server status, version, cluster info |
| getReceivers | List notification receivers |
Troubleshooting
| Tool | Description |
|------|-------------|
| investigateAlert | Deep investigation of a specific alert |
| getAlertHistory | Alert history and analysis guidance |
| correlateAlerts | Find correlated alerts by shared labels |
Example Prompts
"What alerts are currently firing?"
"Are there any critical alerts?"
"Give me a summary of the alerting status"
"Investigate the HighMemoryUsage alert"
"Create a 2-hour silence for PodCrashLooping"
"What receivers are configured?"
"Find correlated alerts to identify the root cause"
"Show me alert history for KubeNodeNotReady"Development
Build
make build # Build for current platform
make build-all-platforms # Cross-compile for all platformsContainer
podman build -f Containerfile -t mcp-alertmanager .