Remote MCP server for Proxmox VE clusters and BMC-managed hardware.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
bmc_get_event_log
BMC event log (default 50, max 200).
-
bmc_health_status
Temperatures, fans, power supplies, disks, memory.
-
bmc_list_devices
List configured BMCs (id, type). Call first to discover valid device_id values.
-
bmc_power_off
ACPI shutdown (or force=true to cut power).
-
bmc_power_on
Power on.
-
bmc_power_reset
Hard reset.
-
bmc_power_status
Current physical power state.
-
bmc_server_info
Server model, serial, firmware.
-
proxmox_backup_create
Trigger a new backup of a VM or container.
-
proxmox_backup_list
List available vzdump backup archives on a storage pool.
-
proxmox_backup_restore
Restore a VM or container from a backup archive.
-
proxmox_delete_transfer
Delete a file from the staging directory by basename.
-
proxmox_download_file
Stream a file ≤ server.transfers_max_mb from a VM (SFTP) or CT (pct pull + SFTP) into the staging dir. Verifies SHA-256 by default.
-
proxmox_get_logs
System or task logs.
-
proxmox_get_tasks
Recent task history.
-
proxmox_list_nodes
List cluster nodes and their status.
-
proxmox_list_transfers
List files currently in the staging directory.
-
proxmox_list_vms
List every VM and container across the cluster.
-
proxmox_network_config
Network configuration per node.
-
proxmox_node_status
CPU, memory, disk, uptime of a single node.
-
proxmox_read_file
Safely read a file from a VM (via QEMU Guest Agent).
-
proxmox_run
Command inside a QEMU VM via QEMU Guest Agent. Sync by default; pass wait=False to start async, or exec_id= to poll an existing session. For LXC containers, use ssh_run on the node with pct exec <vmid
-
proxmox_snapshot_create
Create a new snapshot.
-
proxmox_snapshot_delete
Delete an existing snapshot.
-
proxmox_snapshot_list
List all snapshots for a VM or container.
-
proxmox_snapshot_rollback
Rollback a VM/CT to a previous snapshot.
-
proxmox_storage_status
Storage pool status.
-
proxmox_upload_file
Stream a file ≤ server.transfers_max_mb (default 500 MB) from the staging dir into a VM (SFTP) or CT (SFTP + pct push). Verifies SHA-256 by default.
-
proxmox_vm_clone
Clone an existing one.
-
proxmox_vm_config
Read or update configuration.
-
proxmox_vm_create
Provision a new VM or container.
-
proxmox_vm_migrate
Migrate across nodes.
-
proxmox_vm_restart
Restart.
-
proxmox_vm_start
Start a VM or container.
-
proxmox_vm_status
Detailed state of a VM or container.
-
proxmox_vm_stop
Stop (clean or forced).
-
proxmox_write_file
Safely write a file to a VM (via QEMU Guest Agent).
-
ssh_list_sessions
List active and recent SSH sessions.
-
ssh_run
Command on a host via SSH. host accepts node names, VMIDs, hostnames, or IPs. Sync by default; pass wait=False to start async, or exec_id= to poll.
analyzed commit 599eab2 · analyzer v18 · 4h ago
skills & prompt files 1
- agent-rulesShowdown76py-BeaconMCP-599eab2/CLAUDE.md
filesystem 8
- fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/__main__.py :5
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/auth.py :33
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/config.py :23
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/app.py :15
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/db.py :12
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :10
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/server.py :3
from pathlib import Path - fs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/wizard.py :23
from pathlib import Path
network 3
- net Showdown76py-BeaconMCP-599eab2/src/beaconmcp/__main__.py :381
from urllib.parse import urlencode, urlparse - net Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/redfish.py :28
import httpx - net Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/client.py :8
from requests.exceptions import ConnectionError, Timeout
secrets 4
- secrets Showdown76py-BeaconMCP-599eab2/src/beaconmcp/__main__.py :428
env_tokens_db = os.environ.get("BEACONMCP_TOKENS_DB") - secrets Showdown76py-BeaconMCP-599eab2/src/beaconmcp/config.py :305
"password": os.environ.get("ILO_PASSWORD", ""), - secrets Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/__init__.py :33
return is_enabled() and bool(os.environ.get("GEMINI_API_KEY")) - secrets Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/session.py :33
raw = os.environ.get("BEACONMCP_SESSION_KEY", "").strip()
database 3
- db Showdown76py-BeaconMCP-599eab2/src/beaconmcp/auth.py :25
import sqlite3 - db Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/db.py :10
import sqlite3 - db Showdown76py-BeaconMCP-599eab2/src/beaconmcp/dashboard/dyn_reg.py :21
import sqlite3
tool registrations 44
- bmc_list_devices Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :49
- bmc_server_info Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :62
- bmc_health_status Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :83
- bmc_power_status Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :104
- bmc_power_on Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :121
- bmc_power_off Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :138
- bmc_power_reset Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :159
- bmc_get_event_log Showdown76py-BeaconMCP-599eab2/src/beaconmcp/bmc/tools.py :176
- cluster_overview Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/aggregators.py :249
- cluster_health Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/aggregators.py :273
- vm_find Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/aggregators.py :318
- vm_bulk_action Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/aggregators.py :340
- proxmox_list_nodes Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :14
- proxmox_node_status Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :60
- proxmox_list_vms Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :90
- proxmox_vm_status Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :132
- proxmox_get_logs Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :182
- proxmox_get_tasks Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/monitoring.py :226
- proxmox_read_file Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :142
- proxmox_write_file Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :193
- proxmox_upload_file Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :217
- proxmox_download_file Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :370
- proxmox_list_transfers Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :580
- proxmox_delete_transfer Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :607
- proxmox_storage_status Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :624
- proxmox_network_config Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :665
- proxmox_run Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/system.py :761
- proxmox_vm_start Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :70
- proxmox_vm_stop Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :87
- proxmox_vm_restart Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :105
- proxmox_vm_create Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :123
- proxmox_vm_clone Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :141
- proxmox_vm_migrate Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :169
- proxmox_vm_config Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :192
- proxmox_snapshot_list Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :228
- proxmox_snapshot_create Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :244
- proxmox_snapshot_rollback Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :284
- proxmox_snapshot_delete Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :303
- proxmox_backup_create Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :321
- proxmox_backup_list Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :349
- proxmox_backup_restore Showdown76py-BeaconMCP-599eab2/src/beaconmcp/proxmox/vms.py :381
- security_end_session Showdown76py-BeaconMCP-599eab2/src/beaconmcp/security/tools.py :11
- ssh_run Showdown76py-BeaconMCP-599eab2/src/beaconmcp/ssh/tools.py :38
- ssh_list_sessions Showdown76py-BeaconMCP-599eab2/src/beaconmcp/ssh/tools.py :107
declared dependencies 1
- textual@>=0.85