Prometheus Alertmanager MCP是一个用于Prometheus Alertmanager的模型上下文协议(MCP)服务器。它使AI助手和工具能够通过编程方式安全地查询和管理Alertmanager资源。
要通过Smithery自动安装Prometheus Alertmanager MCP服务器到Claude Desktop:
npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude
# 克隆仓库
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
# 设置环境变量(参见.env.sample)
ALERTMANAGER_URL=http://your-alertmanager:9093
ALERTMANAGER_USERNAME=your_username # 可选
ALERTMANAGER_PASSWORD=your_password # 可选
你可以通过传输选项和主机/端口设置来控制MCP服务器如何与客户端通信。这些可以使用命令行标志(优先级更高)或环境变量设置。
stdio、http或sse。默认值:stdio。http或sse传输时绑定的主机/接口(由嵌入式uvicorn服务器使用)。默认值:0.0.0.0。http或sse传输时监听的端口。默认值:8000。示例:
使用环境变量设置默认值(CLI标志仍会覆盖):
MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=8080 python3 -m src.alertmanager_mcp_server.server
或者直接传递标志以覆盖环境变量:
python3 -m src.alertmanager_mcp_server.server --transport http --host 127.0.0.1 --port 9000
注意:
stdio传输通过标准输入/输出进行通信,并忽略主机/端口。
http(流式HTTP)和sse传输通过ASGI应用(uvicorn)提供服务,因此在使用这些传输时会尊重主机/端口设置。
将服务器配置添加到客户端配置文件中。例如,对于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 install


$ 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
{
"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"
}
}
}
}
此配置通过使用-e标志仅传递变量名,将环境变量从Claude Desktop传递到Docker容器,并在env对象中提供实际值。
MCP服务器提供了用于查询和管理Alertmanager的工具,遵循其API v2:
get_status()get_alerts()get_silences()post_silence(silence_dict)delete_silence(silence_id)get_receivers()get_alert_groups()详情请参阅src/alertmanager_mcp_server/server.py。
欢迎贡献!如果你有任何建议或改进,请打开一个问题或提交一个拉取请求。
该项目使用uv来管理依赖。根据你的平台安装uv。
# 克隆仓库
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
$ cd alertmanager-mcp-server
$ make setup
# 运行测试
$ make test
# 在开发模式下运行
$ mcp dev
$ TRANSPORT_MODE=sse mcp dev
# 安装到Claude Desktop
$ make install