Proxmox VE监控服务器

为Pulse提供的MCP服务器,用于监控Proxmox VE集群状态、警报和异常检测。

  • by kohlsalem
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kohlsalem/pulse-mcp

使用说明

Pulse MCP服务器

MCP服务器 脉搏,Proxmox VE监控仪表板。让Claude(和其他MCP客户端)直接访问您的集群状态、警报、异常等。

工具

阅读(10)

工具 说明
get_cluster_status 完整概述:节点、虚拟机、具有CPU/内存/磁盘/正常运行时间的容器
get_node_details 按名称列出的单节点详细信息
get_guest_details 按名称或VMID列出单个VM或容器
get_alerts 活动警报,可按级别过滤
get_alert_config CPU、内存、磁盘的警报阈值
get_storage 所有节点上的存储池
get_anomalies 人工智能检测到异常(异常资源模式)
get_health 服务器运行状况、版本、更新可用性
get_guests_metadata 标签、笔记、所有客人的自定义网址
get_system_settings 轮询间隔、发现配置

写作(6)

工具 说明
acknowledge_alert 通过ID确认警报
clear_alert 按ID清除警报
bulk_acknowledge_alerts 一次确认多个警报
update_guest_metadata 更新客人的标签、备注或自定义URL
update_alert_config 更新警报阈值
update_system_settings 更新系统设置

设置

服务器支持两种部署模式:

  • 本地(stdio) --作为MCP客户端(Claude Code、Claude Desktop等)的子进程运行
  • Docker(HTTP) --作为具有Basic Auth的独立HTTP服务器运行,适用于共享或远程访问

Pulse证书

这两种模式都需要访问您的Pulse实例。通过身份验证 API令牌 (推荐)或 用户名/密码:

变量 描述
PULSE_URL 脉冲实例URL(例如。 https://pulse.example.com)
PULSE_API_TOKEN API令牌(在“脉冲设置”>“安全”中创建)
PULSE_USERNAME 用户名(如果没有令牌,则回退)
PULSE_PASSWORD 密码(如果没有令牌,则回退)
PULSE_SKIP_TLS_VERIFY 设置 true 用于自签名证书

选项1:本地(stdio)

先决条件

安装

git clone https://github.com/kohlsalem/pulse-mcp.git
cd pulse-mcp
uv sync

配置

cp .env.example .env
# Edit .env with your Pulse URL and credentials

添加到克劳德代码

claude mcp add pulse -s user \
  -e PULSE_URL=https://pulse.example.com \
  -e PULSE_API_TOKEN=your-token-here \
  -e PULSE_SKIP_TLS_VERIFY=true \
  -- /path/to/pulse-mcp/.venv/bin/pulse-mcp

或者使用用户名/密码:

claude mcp add pulse -s user \
  -e PULSE_URL=https://pulse.example.com \
  -e PULSE_USERNAME=admin \
  -e PULSE_PASSWORD=admin \
  -e PULSE_SKIP_TLS_VERIFY=true \
  -- /path/to/pulse-mcp/.venv/bin/pulse-mcp

重新启动克劳德代码。验证 /mcp 或者:

claude mcp get pulse

手动测试

PULSE_URL=https://pulse.example.com PULSE_USERNAME=admin PULSE_PASSWORD=admin \
  uv run mcp dev src/pulse_mcp/server.py

选项2:Docker(带基本身份验证的HTTP)

使用受Basic Auth保护的可流式HTTP传输通过HTTP运行MCP服务器。适用于在反向代理后面运行或暴露给远程MCP客户端。

先决条件

  • Docker(以及可选的Docker Compose)
  • 跑步 脉搏 例子

Docker Compose快速入门

  1. 编辑 docker-compose.yml 并填写您的凭据:

    environment:
      PULSE_URL: "https://pulse.example.com"
      PULSE_API_TOKEN: "your-token-here"
      MCP_USERNAME: "your-mcp-user"
      MCP_PASSWORD: "your-mcp-password"
    
  2. 启动服务器:

    docker compose up -d
    

默认情况下,服务器在端口8000上侦听。

或者手动构建和运行

docker build -t pulse-mcp .

docker run -d --name pulse-mcp \
  -e PULSE_URL=https://pulse.example.com \
  -e PULSE_API_TOKEN=your-token-here \
  -e MCP_USERNAME=your-mcp-user \
  -e MCP_PASSWORD=your-mcp-password \
  -p 8000:8000 \
  pulse-mcp

连接MCP客户端

使用基本身份验证凭据将MCP客户端指向HTTP端点。例如,在克劳德代码中:

claude mcp add pulse -s user \
  --transport http \
  --url http://your-mcp-user:your-mcp-password@localhost:8000/mcp

HTTP环境变量

变量 默认值 描述
MCP_TRANSPORT stdio 设置为 streamable-http 用于HTTP模式
MCP_HOST 0.0.0.0 绑定主机
MCP_PORT 8000 绑定端口
MCP_USERNAME (必填) 基本身份验证用户名
MCP_PASSWORD (必填) 基本身份验证密码

许可证

麻省理工学院