# vm_agent_exec

Execute a command inside a VM via the QEMU Guest Agent.

Agent View of the PolicyLayer registry record for `vm_agent_exec`. HTML page: https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/vm-agent-exec

## Facts

- Tool: `vm_agent_exec`
- Server: Proxmox MCP Server (`gethosthewalrus/proxmox-mcp`) — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp.md
- Homepage: https://github.com/GethosTheWalrus/proxmox-mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "vm_agent_exec",
    "arguments": {}
  }
}
```

## Why vm_agent_exec is rated High

This tool enables running code/commands inside VMs, which is fundamentally an Execute action. The blast radius is high because arbitrary command execution can modify VM state, access sensitive data, install malware, or compromise the guest system and potentially the host infrastructure. However, it is not Destructive (reversible in most cases) or Financial, making Execute the most appropriate category.

From the tool's own definition: "Tool description states 'Execute a command inside a VM via the QEMU Guest Agent', which explicitly indicates execution of arbitrary commands within a virtual machine environment."

## Use case

AI agents invoke vm_agent_exec to trigger actions in Proxmox MCP Server. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Proxmox MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "vm_agent_exec": {
      "limits": [
        {
          "counter": "vm_agent_exec_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Proxmox MCP Server (285)

- `convert_container_to_template` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/convert-container-to-template.md
- `convert_vm_to_template` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/convert-vm-to-template.md
- `delete_backup_job` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-backup-job.md
- `delete_cluster_firewall_rule` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-cluster-firewall-rule.md
- `delete_container` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-container.md
- `delete_container_snapshot` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-container-snapshot.md
- `delete_firewall_alias` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-firewall-alias.md
- `delete_firewall_ipset_entry` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-firewall-ipset-entry.md
- `delete_group` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-group.md
- `delete_ha_group` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-ha-group.md
- `delete_ha_resource` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-ha-resource.md
- `delete_pool` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-pool.md
- `delete_replication_job` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-replication-job.md
- `delete_role` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-role.md
- `delete_sdn_vnet` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-sdn-vnet.md
- `delete_sdn_zone` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-sdn-zone.md
- `delete_storage` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-storage.md
- `delete_storage_volume` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-storage-volume.md
- `delete_user` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-user.md
- `delete_user_token` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-user-token.md
- `delete_vm` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-vm.md
- `delete_vm_snapshot` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/delete-vm-snapshot.md
- `initialize_gpt` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/initialize-gpt.md
- `prune_storage_backups` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/prune-storage-backups.md
- `rollback_container_snapshot` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/rollback-container-snapshot.md
- `rollback_vm_snapshot` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/rollback-vm-snapshot.md
- `shutdown_vm` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/shutdown-vm.md
- `stopall_node` — Destructive — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/stopall-node.md
- `apply_sdn_changes` — Execute — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/apply-sdn-changes.md
- `bulk_migrate_guests` — Execute — https://policylayer.com/tools/gethosthewalrus-proxmox-mcp/bulk-migrate-guests.md
- …and 255 more: https://policylayer.com/tools/gethosthewalrus-proxmox-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=gethosthewalrus-proxmox-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/gethosthewalrus-proxmox-mcp
