mcp-utm
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-utmClone the 'Ubuntu Server' template VM."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-utmRelated MCP server: Discord Server Setup MCP
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 all registered VMs with status |
| Get status and configuration of a VM |
| Clone a template with unique random MAC |
| Start a stopped or suspended VM |
| Stop a running VM (graceful or force) |
| Delete a VM permanently |
State
Tool | Description |
| Suspend a running VM to memory |
| Poll until VM reaches a target status |
Networking
Tool | Description |
| Discover VM IP via ARP table |
| Update MAC address or network mode |
Configuration
Tool | Description |
| Update memory and CPU cores |
| Rename a VM |
| Toggle dynamic resolution |
Directory Shares (VirtioFS)
Tool | Description |
| List shared directories |
| Add a host directory share |
| Remove a directory share |
| Replace all shares |
Drives
Tool | Description |
| List attached drives |
| Attach an ISO or disk image |
Portability
Tool | Description |
| Export VM to a |
| Import VM from a |
Console
Tool | Description |
| 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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceProvides programmatic access to Apple's container CLI tool on macOS, enabling users to perform 50+ container operations including creation, management, and system control of Apple Silicon containers.Last updated3Apache 2.0
- FlicenseAqualityBmaintenanceAn automation tool for macOS that uses AppleScript and JXA to manage Discord server setups through AI assistants. It enables the creation and configuration of servers, channels, roles, and settings using pre-built templates or custom commands.Last updated1920
- AlicenseBqualityAmaintenanceMCP bridge for Nemeton — control native macOS virtual machines (Apple Virtualization.framework) from Claude Desktop, Claude Code, or any MCP client. 50+ tools across VM lifecycle, snapshots, console, files, networking, and host metrics. Bridge open-source (MIT), Nemeton app is commercial.Last updated491MIT
- AlicenseAqualityCmaintenanceEnables full control of macOS by executing AppleScript commands through an MCP server, allowing automation of tasks, application control, and system management.Last updated117415MIT
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/neverprepared/mcp-utm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server