{"name":"io.github.DustinTrap/kvm-pilot","slug":"dustintrap-kvm-pilot","title":null,"description":"Smart hands for your AI agents - write-capable KVM+BMC+SSH MCP server: gated, verified, audited.","url":"https://mcp.market/server/dustintrap-kvm-pilot","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":6,"forks":1,"downloads_week":null,"last_push_at":"2026-08-30T14:52:32.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/DustinTrap/kvm-pilot","website":null,"version":"0.1.0rc4","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"kvm-pilot","version":"0.1.0rc4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Profile name from ~/.config/kvm-pilot/config.toml naming the KVM/BMC to target","name":"KVM_PILOT_PROFILE"},{"description":"Least-privilege posture: only read-only tools are registered; effect gates force-closed. Recommended for first contact (set to 1)","name":"KVM_PILOT_MCP_READ_ONLY"},{"description":"Rehearsal posture: destructive calls are logged, never sent (set to 1)","name":"KVM_PILOT_MCP_DRY_RUN"},{"description":"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)","name":"KVM_PILOT_MCP_ALLOW_POWER"},{"description":"Device address (KVM/BMC) when not using a config-file profile","name":"KVM_PILOT_HOST"},{"description":"Device username when not using a config-file profile","name":"KVM_PILOT_USER"},{"description":"Device password when not using a config-file profile (KVM_PILOT_HOST / KVM_PILOT_USER accompany it)","isSecret":true,"name":"KVM_PILOT_PASSWD"},{"description":"Optional: enables server-side vision for classify_screen / wait_for_state; without it, classification falls back to the calling agent","isSecret":true,"name":"ANTHROPIC_API_KEY"}]}],"tools":[{"name":"access_paths","description":"Which INDEPENDENT recovery paths are live for the device — the lockout view.","write_action":false,"price_micros":0,"input_schema":null},{"name":"amt_enable","description":"Enable an Intel AMT redirection listener over WS-Man (Intel AMT/vPro only). CONFIG MUTATION.","write_action":false,"price_micros":0,"input_schema":null},{"name":"appliance_reboot","description":"Reboot the KVM APPLIANCE (not the target) to clear a wedged encoder. DESTRUCTIVE.","write_action":false,"price_micros":0,"input_schema":null},{"name":"appliance_status","description":"Read-only diagnostics from the KVM APPLIANCE's own OS over SSH.","write_action":false,"price_micros":0,"input_schema":null},{"name":"boot_options","description":"Show the host's current boot override (Redfish BootSourceOverride) — read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"calibrate_mouse","description":"Measure and store this host's mouse commanded→observed correction (#128).","write_action":false,"price_micros":0,"input_schema":null},{"name":"capabilities","description":"List the capabilities the target's driver supports (read-only, offline).","write_action":false,"price_micros":0,"input_schema":null},{"name":"classify_screen","description":"Classify the current screen's boot/run phase (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"ctrl_alt_delete","description":"Send Ctrl+Alt+Del to the managed host. DESTRUCTIVE.","write_action":true,"price_micros":0,"input_schema":null},{"name":"doctrine","description":"Re-serve the bundled operating doctrine (read-only; offline, no device I/O).","write_action":false,"price_micros":0,"input_schema":null},{"name":"eject","description":"Detach virtual media (the inverse of ``mount_iso``). GATED act (media effect gate); reversible.","write_action":false,"price_micros":0,"input_schema":null},{"name":"events","description":"Collect typed device events from the kvmd stream (read-only, bounded).","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_firmware_report","description":"File the device's firmware-currency report as a GitHub issue when the registry is behind (MCP twin of CLI ``firmware-check``, #189/#190). EXTERNAL WRITE — writes outside the managed device.","write_action":false,"price_micros":0,"input_schema":null},{"name":"firmware_check","description":"Report the device's firmware currency vs the bundled registry (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"healthcheck","description":"Audit the device's readiness/recovery, security posture, and firmware (#80).","write_action":false,"price_micros":0,"input_schema":null},{"name":"info","description":"Return device / system info (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_virtual_media","description":"Inventory the KVM's virtual-media (MSD) storage (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"logs","description":"Return the device/host event log as text (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"mount_iso","description":"Mount an ISO as virtual media on the host. GATED act (media effect gate); reversible.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mouse","description":"Move the mouse (and optionally click) on the host. DESTRUCTIVE (HID input).","write_action":false,"price_micros":0,"input_schema":null},{"name":"power","description":"Change host power state. DESTRUCTIVE.","write_action":false,"price_micros":0,"input_schema":null},{"name":"power_state","description":"Return whether the host is powered on, plus ATX detail where the driver has it (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"press_key","description":"Press a single key (a kvmd key code, e.g. ``Enter``/``Escape``/``F2``). DESTRUCTIVE.","write_action":false,"price_micros":0,"input_schema":null},{"name":"send_shortcut","description":"Send a key chord — comma-separated kvmd key codes, e.g. ``ControlLeft,AltLeft,Delete`` or ``ControlLeft,AltLeft,F2``. DESTRUCTIVE.","write_action":true,"price_micros":0,"input_schema":null},{"name":"session","description":"Report this server's current operating posture (read-only; offline, no device I/O — answers even when the device is down).","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_boot_device","description":"Set the next-boot (or persistent) boot device via BootSourceOverride. CONFIG MUTATION.","write_action":false,"price_micros":0,"input_schema":null},{"name":"snapshot","description":"Capture the current KVM screen (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"ssh_discover","description":"Scan a CIDR for hosts with an open SSH port. RISKY — opt-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ssh_exec","description":"Run a command on the managed host's OS over SSH. DESTRUCTIVE / in-band.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ssh_reachable","description":"Is the managed host's OS reachable over SSH? (read-only, in-band).","write_action":false,"price_micros":0,"input_schema":null},{"name":"support_matrix","description":"What has actually been exercised on real hardware, per device+firmware+capability (read-only, offline — no device call).","write_action":false,"price_micros":0,"input_schema":null},{"name":"type_text","description":"Type ``text`` on the managed host's console over the HID keyboard. DESTRUCTIVE.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wait_for_state","description":"Wait (bounded) until the screen reaches a boot/run phase (read-only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"wake","description":"Send a Wake-on-LAN magic packet to power the host on. POWER (soft).","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-20T20:57:33.617Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:57:33.606Z","components":{"code":{"score":20,"max":25,"notes":["57 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 21 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-true","severity":"medium","component":"code","title":"subprocess with shell=True","evidence":"kvm_pilot-0.1.0rc4/src/kvm_pilot/benchmark.py: …rShell interpreter name, not subprocess shell=True except CapabilityError: ret…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"kvm-pilot","version":"0.1.0rc4","found":true,"license":"Apache-2.0","dependencyCount":12,"publishedAt":"2026-08-30T15:01:27.921712Z","repositoryUrl":"https://github.com/DustinTrap/kvm-pilot"}],"repo":{"found":true,"owner":"DustinTrap","repo":"kvm-pilot","archived":false,"pushedAt":"2026-08-30T14:52:32Z","stars":6,"forks":1,"openIssues":47,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/12038788?v=4","ownerCreatedAt":"2015-04-20T19:06:43Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/12038788?v=4&s=128","source":"github"},"presence":{"stars":6,"forks":1,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-08-30T14:52:32.000Z","score":23}}}},"grade_history":[],"reviews":[]}