Mistral PVE Agent

Mistral PVE Agent

MCP server for managing Proxmox VE hosts, providing VM health reports, alerts, and a chat interface via terminal or Cursor.

Category
Visit Server

README

Mistral PVE Agent

AI ops agent for your Proxmox VE host. Chat from the terminal, get VM health reports, receive email + Slack alerts, and manage everything from a password-protected web UI on your LAN or Tailscale.

Install (on your PVE host)

SSH to PVE as root, then one command:

curl -fsSL https://raw.githubusercontent.com/K2-Rocket-Apps/server-workload-ai-manager/main/infra/one-click-install.sh | sudo bash

Then enable services:

sudo systemctl enable --now mistral-daemon mistral-web

What setup asks you

  1. Install Node.js 22 + pnpm
  2. Clone the repo to /opt/mistral and build
  3. Ask you to set a web UI password (required, min 8 chars)
  4. Let you choose LAN (default), Tailscale, or localhost bind address
  5. Optionally configure SMTP email and Slack alerts
  6. Install mistral to /usr/local/bin and register systemd services

After install:

sudo systemctl enable --now mistral-daemon   # background health checks + alerts
sudo systemctl enable --now mistral-web      # password-protected web UI

Web UI access

Bind mode URL Who can reach it
LAN (default) http://192.168.x.x:8787 Anyone on your local network
Tailscale http://100.x.x.x:8787 Devices on your tailnet only
localhost http://127.0.0.1:8787 SSH tunnel only

The URL is saved in /etc/mistral/config.yaml as web.public_url. You must log in with the password you set during setup.

Reconfigure anytime:

sudo mistral setup

Email alerts (SMTP)

Email is configured during mistral setup or in the web UI under Email Alerts.

Gmail example

  1. Enable 2FA on your Google account
  2. Create an App Password
  3. During setup enter:
    • SMTP host: smtp.gmail.com
    • Port: 587
    • Username: your Gmail address
    • Password: the 16-char app password

Test it:

sudo mistral test-email

Other providers

Provider Host Port Notes
Gmail smtp.gmail.com 587 App password required
Mailgun smtp.mailgun.org 587 Use SMTP credentials from dashboard
SendGrid smtp.sendgrid.net 587 Username: apikey
Local postfix localhost 25 No auth, set require_tls: false

Secrets live in /etc/mistral/secrets.env (never committed to git).

CLI commands

mistral              # chat TUI
mistral report       # VM health report
mistral check        # run checks + send alerts now
mistral setup        # password, bind address, email, Slack
mistral test-email   # verify SMTP works
mistral test-alert   # test email + Slack
mistral config       # show current settings
mistral web          # start web UI manually
mistral mcp          # stdio MCP for Cursor

PVE API token

Create a limited token on your Proxmox host:

pveum role add MistralAgent -privs "VM.Audit,VM.Monitor,VM.PowerMgmt,Sys.Audit"
pveum user add mistral@pve
pveum aclmod / -user mistral@pve -role MistralAgent
pveum user token add mistral@pve agent --privsep 1

Add to /etc/mistral/secrets.env:

MISTRAL_PVE_TOKEN_SECRET=<token-secret-from-above>
MISTRAL_API_KEY=<your-mistral-api-key>

Watched VMs (defaults)

  • VM 121 k3s-cp @ 192.168.0.125
  • VM 122 k3s-w1 @ 192.168.0.126

Edit in /etc/mistral/config.yamldaemon.watched_vmids.

Development

git clone https://github.com/K2-Rocket-Apps/server-workload-ai-manager.git
cd server-workload-ai-manager
pnpm install && pnpm build
cp config.example.yaml ~/.config/mistral/config.yaml
mistral setup

Docs

Repo

Public — https://github.com/K2-Rocket-Apps/server-workload-ai-manager

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured