PluginBench
MCP Server
Active
Apache-2.0

io.github.DustinTrap/kvm-pilot MCP Server

io.github.DustinTrap/kvm-pilot

What is the io.github.DustinTrap/kvm-pilot MCP server?

Smart hands for your AI agents - write-capable KVM+BMC+SSH MCP server: gated, verified, audited.

How to install io.github.DustinTrap/kvm-pilot

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • KVM_PILOT_PROFILE

    Profile name from ~/.config/kvm-pilot/config.toml naming the KVM/BMC to target

  • KVM_PILOT_MCP_READ_ONLY

    Least-privilege posture: only read-only tools are registered; effect gates force-closed. Recommended for first contact (set to 1)

  • KVM_PILOT_MCP_DRY_RUN

    Rehearsal posture: destructive calls are logged, never sent (set to 1)

  • KVM_PILOT_MCP_ALLOW_POWER

    Operator opt-in enabling power control of the managed host (per-effect gate; see also _ALLOW_HID, _ALLOW_MEDIA, _ALLOW_SSH, _ALLOW_APPLIANCE, _ALLOW_EXTERNAL_WRITE)

  • KVM_PILOT_HOST

    Device address (KVM/BMC) when not using a config-file profile

  • KVM_PILOT_USER

    Device username when not using a config-file profile

  • KVM_PILOT_PASSWD
    secret

    Device password when not using a config-file profile (KVM_PILOT_HOST / KVM_PILOT_USER accompany it)

  • ANTHROPIC_API_KEY
    secret

    Optional: enables server-side vision for classify_screen / wait_for_state; without it, classification falls back to the calling agent

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "<YOUR_KVM_PILOT_PROFILE>",
        "KVM_PILOT_MCP_READ_ONLY": "<YOUR_KVM_PILOT_MCP_READ_ONLY>",
        "KVM_PILOT_MCP_DRY_RUN": "<YOUR_KVM_PILOT_MCP_DRY_RUN>",
        "KVM_PILOT_MCP_ALLOW_POWER": "<YOUR_KVM_PILOT_MCP_ALLOW_POWER>",
        "KVM_PILOT_HOST": "<YOUR_KVM_PILOT_HOST>",
        "KVM_PILOT_USER": "<YOUR_KVM_PILOT_USER>",
        "KVM_PILOT_PASSWD": "<YOUR_KVM_PILOT_PASSWD>",
        "ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "<YOUR_KVM_PILOT_PROFILE>",
        "KVM_PILOT_MCP_READ_ONLY": "<YOUR_KVM_PILOT_MCP_READ_ONLY>",
        "KVM_PILOT_MCP_DRY_RUN": "<YOUR_KVM_PILOT_MCP_DRY_RUN>",
        "KVM_PILOT_MCP_ALLOW_POWER": "<YOUR_KVM_PILOT_MCP_ALLOW_POWER>",
        "KVM_PILOT_HOST": "<YOUR_KVM_PILOT_HOST>",
        "KVM_PILOT_USER": "<YOUR_KVM_PILOT_USER>",
        "KVM_PILOT_PASSWD": "<YOUR_KVM_PILOT_PASSWD>",
        "ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "<YOUR_KVM_PILOT_PROFILE>",
        "KVM_PILOT_MCP_READ_ONLY": "<YOUR_KVM_PILOT_MCP_READ_ONLY>",
        "KVM_PILOT_MCP_DRY_RUN": "<YOUR_KVM_PILOT_MCP_DRY_RUN>",
        "KVM_PILOT_MCP_ALLOW_POWER": "<YOUR_KVM_PILOT_MCP_ALLOW_POWER>",
        "KVM_PILOT_HOST": "<YOUR_KVM_PILOT_HOST>",
        "KVM_PILOT_USER": "<YOUR_KVM_PILOT_USER>",
        "KVM_PILOT_PASSWD": "<YOUR_KVM_PILOT_PASSWD>",
        "ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "kvm-pilot": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "<YOUR_KVM_PILOT_PROFILE>",
        "KVM_PILOT_MCP_READ_ONLY": "<YOUR_KVM_PILOT_MCP_READ_ONLY>",
        "KVM_PILOT_MCP_DRY_RUN": "<YOUR_KVM_PILOT_MCP_DRY_RUN>",
        "KVM_PILOT_MCP_ALLOW_POWER": "<YOUR_KVM_PILOT_MCP_ALLOW_POWER>",
        "KVM_PILOT_HOST": "<YOUR_KVM_PILOT_HOST>",
        "KVM_PILOT_USER": "<YOUR_KVM_PILOT_USER>",
        "KVM_PILOT_PASSWD": "<YOUR_KVM_PILOT_PASSWD>",
        "ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
      }
    }
  }
}
Claude Code
claude mcp add kvm-pilot --env KVM_PILOT_PROFILE=<YOUR_KVM_PILOT_PROFILE> --env KVM_PILOT_MCP_READ_ONLY=<YOUR_KVM_PILOT_MCP_READ_ONLY> --env KVM_PILOT_MCP_DRY_RUN=<YOUR_KVM_PILOT_MCP_DRY_RUN> --env KVM_PILOT_MCP_ALLOW_POWER=<YOUR_KVM_PILOT_MCP_ALLOW_POWER> --env KVM_PILOT_HOST=<YOUR_KVM_PILOT_HOST> --env KVM_PILOT_USER=<YOUR_KVM_PILOT_USER> --env KVM_PILOT_PASSWD=<YOUR_KVM_PILOT_PASSWD> --env ANTHROPIC_API_KEY=<YOUR_ANTHROPIC_API_KEY> -- uvx kvm-pilot

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

68k
TypeScript
MIT
View repository →

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →