1. Conduid
  2. Browser
  3. mcp-utm
MCP server · Browser

mcp-utm

Manages UTM virtual machines on macOS via AppleScript, enabling cloning, configuration, and control with unique MAC randomization.

Unclaimed browser
34Low

Scored 5 months ago · breakdown

About mcp-utm

mcp-utm is an MCP server in the Browser category: manages UTM virtual machines on macOS via AppleScript, enabling cloning, configuration, and control with unique MAC randomization.

Install

From source
git clone https://github.com/neverprepared/mcp-utm

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (6)

clone_vmClone a template with unique random MAC

Parameters not published.

delete_vmDelete a VM permanently

Parameters not published.

get_vmGet status and configuration of a VM

Parameters not published.

list_vmsList all registered VMs with status

Parameters not published.

start_vmStart a stopped or suspended VM

Parameters not published.

stop_vmStop a running VM (graceful or force)

Parameters not published.

Ask AI

✦

Ask AI about mcp-utm

Powered by Claude · Grounded in docs

I know everything about mcp-utm. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

mcp-utm

MCP server for managing UTM virtual machines on macOS via AppleScript.

Provides 22 tools for cloning, configuring, and controlling UTM VMs — including proper MAC address randomization for Apple Virtualization Framework clones, which enables concurrent VMs with unique network identities.

Install

# PyPI
uvx mcp-utm

# Or install globally
uv tool install mcp-utm
pip install mcp-utm

Claude Code config

{
  "mcpServers": {
    "utm": {
      "command": "uvx",
      "args": ["mcp-utm"]
    }
  }
}

Requirements

  • macOS (uses AppleScript / osascript)
  • UTM 4.6+ (download or brew install --cask utm)
  • Python 3.11+

Tools

Lifecycle

Tool Description
list_vms List all registered VMs with status
get_vm Get status and configuration of a VM
clone_vm Clone a template with unique random MAC
start_vm Start a stopped or suspended VM
stop_vm Stop a running VM (graceful or force)
delete_vm Delete a VM permanently

State

Tool Description
suspend_vm Suspend a running VM to memory
wait_for_vm Poll until VM reaches a target status

Networking

Tool Description
get_vm_ip Discover VM IP via ARP table
set_vm_network Update MAC address or network mode

Configuration

Tool Description
set_vm_resources Update memory and CPU cores
rename_vm Rename a VM
set_vm_display Toggle dynamic resolution

Directory Shares (VirtioFS)

Tool Description
list_vm_shares List shared directories
add_vm_share Add a host directory share
remove_vm_share Remove a directory share
set_vm_shares Replace all shares

Drives

Tool Description
list_vm_drives List attached drives
attach_drive Attach an ISO or disk image

Portability

Tool Description
export_vm Export VM to a .utm file
import_vm Import VM from a .utm file

Console

Tool Description
get_serial_port Get serial port address for console access

How MAC randomization works

Apple's Virtualization Framework ignores MacAddress changes written directly to config.plist — UTM caches the config in memory. This server uses AppleScript's update configuration command which properly updates UTM's internal state, giving each clone a unique MAC and therefore a unique IP on the 192.168.64.0/24 subnet.

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About mcp-utm

How do I install mcp-utm?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is mcp-utm safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is mcp-utm still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.