mcp-alertmanager
A Model Context Protocol (MCP) server for Prometheus Alertmanager
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp-alertmanager": {
"args": [
"mcp-alertmanager@2.1.1"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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@latest
# # MCP 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-alertmanager
# Configuration
# # 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 platforms
# # Container
podman build -f Containerfile -t mcp-alertmanager .
# Kubernetes / OpenShift Deployment
# # Container Image
The container image is available on GitHub Container Registry:
ghcr.io/jeanlopezxyz/mcp-alertmanager:latest
# # Helm Chart
Deploy using the included Helm chart:
# Add the chart repository (or use local chart)
helm upgrade - -install mcp-alertmanager ./charts/mcp-alertmanager \
- -namespace mcp-servers \
- -create-namespace \
- -set openshift=true
# # # Helm Values
| Parameter | Description | Default |
|- -- -- -- -- --|- -- -- -- -- -- --|- -- -- -- --|
| image.registry | Container registry | ghcr.io |
| image.repository | Image repository | jeanlopezxyz/mcp-alertmanager |
| image.version | Image tag | latest |
| openshift | Enable OpenShift Routes | false |
| service.port | Service port | 8080 |
| alertmanager.namespace | Alertmanager namespace | openshift-monitoring |
| alertmanager.service | Alertmanager service name | alertmanager-operated |
| rbac.useClusterReader | Use cluster-reader role | true |
# # # Example with custom Alertmanager
helm upgrade - -install mcp-alertmanager ./charts/mcp-alertmanager \
- -namespace mcp-servers \
- -set openshift=true \
- -set alertmanager.url=http://alertmanager.monitoring:9093