Install
$ agentstack add mcp-anyvm-org-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
anyvm-mcp
> MCP server for anyvm — run, manage, and debug BSD/Illumos VMs with natural language. > Works with Claude Code, GitHub Copilot, and any other MCP-compatible AI assistant.
Overview
anyvm-mcp is a Model Context Protocol (MCP) server that bridges AI coding assistants with the anyvm VM manager. Once installed, your AI assistant can:
- 🖥️ Create FreeBSD, OpenBSD, NetBSD, OmniOS, and other BSD/Illumos VMs in seconds
- 🚀 Start / Stop / Destroy VMs on demand
- 🔍 Inspect VM state, IPs, CPU, memory, and network configuration
- 💻 Execute commands inside running VMs for instant diagnostics
- 📜 Read console output to debug boot failures or system errors
- 📸 Snapshot and restore VMs to safe checkpoints
Requirements
| Requirement | Notes | |-------------|-------| | Python ≥ 3.10 | | | An MCP-compatible AI assistant | Claude Code, GitHub Copilot in VS Code, or any other MCP client |
> Note: The anyvm CLI is bundled automatically — no separate installation needed.
Installation
pipx install anyvm-mcp
Or with pip:
pip install anyvm-mcp
Or install from source:
git clone https://github.com/anyvm-org/mcp
cd mcp
pip install -e .
Quickstart
Claude Code
Add the server to ~/.claude/mcp.json (or the project-level .claude/mcp.json):
{
"mcpServers": {
"anyvm": {
"command": "anyvm-mcp"
}
}
}
Restart Claude Code. You can now say things like:
> "Create a FreeBSD 14 VM called 'dev' with 2 CPUs and 2 GB RAM, then show me its IP."
> "My OpenBSD VM won't boot. Show me the console output and suggest a fix."
GitHub Copilot (VS Code)
Add the server to .vscode/mcp.json in your workspace (or the user-level settings):
{
"servers": {
"anyvm": {
"type": "stdio",
"command": "anyvm-mcp"
}
}
}
Generic MCP client (HTTP/SSE)
Run anyvm-mcp as an HTTP server:
anyvm-mcp --transport sse --host 127.0.0.1 --port 8000
Then point your MCP client at http://127.0.0.1:8000/sse.
CLI reference
usage: anyvm-mcp [-h] [--anyvm PATH] [--transport {stdio,sse,streamable-http}]
[--host HOST] [--port PORT]
options:
--anyvm PATH Path to the anyvm binary (default: bundled version)
--transport MCP transport: stdio (default), sse, or streamable-http
--host HOST Bind host for HTTP transports (default: 127.0.0.1)
--port PORT Bind port for HTTP transports (default: 8000)
Available tools
| Tool | Description | |------|-------------| | list_vms | List all VMs with state, OS, CPU, RAM, and IP | | vm_info | Detailed info about a single VM | | create_vm | Create a new BSD/Illumos VM | | start_vm | Start a stopped VM | | stop_vm | Gracefully (or forcefully) stop a running VM | | destroy_vm | Permanently delete a VM and free its resources | | exec_in_vm | Run a shell command inside a VM | | console_output | Fetch the latest VM serial/console log | | list_snapshots | List snapshots for a VM | | create_snapshot | Snapshot a VM at its current state | | restore_snapshot | Roll a VM back to a snapshot | | delete_snapshot | Delete a snapshot | | network_info | IPs, MACs, and virtual NIC configuration |
Example conversations
Creating and inspecting a VM
You: Create an OmniOS VM called "omnios-test" with 4 CPUs, 4 GB RAM, and 40 GB disk.
Copilot: ✅ VM "omnios-test" created. State: stopped.
Run `start_vm` to boot it.
You: Start it and tell me its IP address.
Copilot: ✅ VM started. IP: 192.168.100.42
Debugging a boot failure
You: My FreeBSD VM "bsd-web" won't respond to SSH. What's wrong?
Copilot: [calls console_output("bsd-web", lines=200)]
The console log shows a panic in vtnet0 — likely a driver issue.
Try: exec_in_vm("bsd-web", "sysctl hw.vtnet.0.csum_disable=1")
Snapshot workflow
You: Snapshot "bsd-web" before I upgrade it.
Copilot: [calls create_snapshot("bsd-web", "pre-upgrade", description="before pkg upgrade")]
✅ Snapshot "pre-upgrade" created.
You: The upgrade broke something. Roll back.
Copilot: [calls restore_snapshot("bsd-web", "pre-upgrade")]
✅ Restored to snapshot "pre-upgrade".
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run a single test file
pytest tests/test_vm_manager.py -v
License
MIT — see [LICENSE](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: anyvm-org
- Source: anyvm-org/mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.