Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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:
| 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.pipx install anyvm-mcpOr with pip:
pip install anyvm-mcpOr install from source:
git clone https://github.com/anyvm-org/mcp
cd mcp
pip install -e .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."
Add the server to .vscode/mcp.json in your workspace (or the user-level settings):
{
"servers": {
"anyvm": {
"type": "stdio",
"command": "anyvm-mcp"
}
}
}Run anyvm-mcp as an HTTP server:
anyvm-mcp --transport sse --host 127.0.0.1 --port 8000Then point your MCP client at http://127.0.0.1:8000/sse.
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)| 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 |
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.42You: 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")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".# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run a single test file
pytest tests/test_vm_manager.py -vMIT — see LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.