프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Kvm Pilot

제작자: DustinTrap버전 1.0.1i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.DustinTrap/kvm-pilot

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타
  • 입력해야 할 값: KVM_PILOT_PASSWD, ANTHROPIC_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: KVM_PILOT_PROFILE, KVM_PILOT_MCP_READ_ONLY, KVM_PILOT_MCP_DRY_RUN, KVM_PILOT_MCP_ALLOW_POWER, KVM_PILOT_HOST, KVM_PILOT_USER, KVM_PILOT_PASSWD, ANTHROPIC_API_KEY

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "your-value",
        "KVM_PILOT_MCP_READ_ONLY": "your-value",
        "KVM_PILOT_MCP_DRY_RUN": "your-value",
        "KVM_PILOT_MCP_ALLOW_POWER": "your-value",
        "KVM_PILOT_HOST": "your-value",
        "KVM_PILOT_USER": "your-value",
        "KVM_PILOT_PASSWD": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add kvm-pilot --env KVM_PILOT_PROFILE=your-value --env KVM_PILOT_MCP_READ_ONLY=your-value --env KVM_PILOT_MCP_DRY_RUN=your-value --env KVM_PILOT_MCP_ALLOW_POWER=your-value --env KVM_PILOT_HOST=your-value --env KVM_PILOT_USER=your-value --env KVM_PILOT_PASSWD=your-value --env ANTHROPIC_API_KEY=your-value -- uvx kvm-pilot

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "your-value",
        "KVM_PILOT_MCP_READ_ONLY": "your-value",
        "KVM_PILOT_MCP_DRY_RUN": "your-value",
        "KVM_PILOT_MCP_ALLOW_POWER": "your-value",
        "KVM_PILOT_HOST": "your-value",
        "KVM_PILOT_USER": "your-value",
        "KVM_PILOT_PASSWD": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "kvm-pilot": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "KVM_PILOT_PROFILE": "your-value",
        "KVM_PILOT_MCP_READ_ONLY": "your-value",
        "KVM_PILOT_MCP_DRY_RUN": "your-value",
        "KVM_PILOT_MCP_ALLOW_POWER": "your-value",
        "KVM_PILOT_HOST": "your-value",
        "KVM_PILOT_USER": "your-value",
        "KVM_PILOT_PASSWD": "your-value",
        "ANTHROPIC_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • KVM_PILOT_PROFILE env
    Profile name from ~/.config/kvm-pilot/config.toml naming the KVM/BMC to target
  • KVM_PILOT_MCP_READ_ONLY env
    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 env
    Rehearsal posture: destructive calls are logged, never sent (set to 1)
  • KVM_PILOT_MCP_ALLOW_POWER env
    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 env
    Device address (KVM/BMC) when not using a config-file profile
  • KVM_PILOT_USER env
    Device username when not using a config-file profile
  • KVM_PILOT_PASSWD 비밀 env
    Device password when not using a config-file profile (KVM_PILOT_HOST / KVM_PILOT_USER accompany it)
  • ANTHROPIC_API_KEY 비밀 env
    Optional: enables server-side vision for classify_screen / wait_for_state; without it, classification falls back to the calling agent

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 DustinTrap 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32564개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32564개 중 72%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32564개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Kvm Pilot, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: KVM_PILOT_PASSWD, ANTHROPIC_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.1)은 14일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Tools MCP

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211어제 업데이트
설치

Tools MCP

제작자: First-CH

Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more

내 컴퓨터에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

kvm-pilot

Smart hands for your AI agents. A write-capable, multi-plane (KVM + BMC + SSH) MCP server for controlling physical machines — gated, verified, audited.

kvm-pilot lets an agent drive a headless box through POST, firmware, the bootloader, and an OS install with no agent on the target: it works at the pixel level through an IP-KVM (PiKVM, the GL.iNet GLKVM fork GL-RM1 / GL-RM1PE, BliKVM), at the structured-state level through a BMC (Redfish on iDRAC/iLO/OpenBMC, IPMI on BMCs that predate Redfish), at the firmware level through Intel AMT/vPro (a BIOS/POST/GRUB screenshot + power + SOL on a business laptop an HDMI-capture KVM can't see boot on), and over SSH once an OS is up. A pluggable vision subsystem reads a KVM screenshot and tells you what boot phase the machine is in — bios_menu, grub_menu, installer_progress, login_prompt, crash_screen, and so on — and a safety layer gates every destructive operation behind operator opt-ins and per-call approvals.

Vision runs on Claude or any local OpenAI-compatible VLM (LM Studio, Ollama, vLLM, llama.cpp). Point it at a model on your own GPU and the screenshots never leave your network and cost nothing per frame.

How it works

kvm-pilot runs a see → decide → act loop, and the screen is its only sensor: it pulls a screenshot from the KVM, a vision model classifies the boot phase, and kvm-pilot acts back through the KVM's keyboard and power. Because it works at the pixel level, there is no agent on the target — the same loop drives POST, firmware, the bootloader, and an OS install.

A real, unedited run against a GLKVM on the home fleet — an honest preflight, a headless snapshot (watch it wake the on-demand encoder), a gated dry-run power-cycle, and the boot console the agent actually saw:

Quickstart

One install gives you the whole product — the `kvm-pilot` CLI, the `kvm-pilot-mcp` MCP server, and the bundled Claude skill — nothing to clone.

pip install kvm-pilot                          # CLI + skill + MCP server + WebSocket events

pip install "kvm-pilot[totp]" # + 2FA / TOTP support (pyotp) kvm-pilot install-skill # optional: put the bundled skill where Claude Code loads it

Driving a KVM from an AI agent (MCP)
claude mcp add kvm-pilot -s user \

-e KVM_PILOT_PROFILE=mykvm -e KVM_PILOT_MCP_READ_ONLY=1 -- \ kvm-pilot-mcp

KVM_PILOT_MCP_READ_ONLY=1 is the recommended first rung of the trust ladder — the agent can see everything and touch nothing until your hardware is verified. The Getting started guide covers credentials, Claude Desktop JSON config, sample prompts, and climbing the ladder. The server is published to the official MCP registry as `io.github.DustinTrap/kvm-pilot`, so registry-aware hosts can discover and install it by name. Agents: the repo root carries an llms.txt doc map.

Scripting from Python
from kvm_pilot import KVMClient

from kvm_pilot.vision import ScreenAnalyzer, make_backend

kvm = KVMClient("192.168.8.1", "admin", "secret")

Classify the current screen with Claude (model auto-resolved at runtime)

analyzer = ScreenAnalyzer(kvm, make_backend("anthropic")) print(analyzer.classify().phase)

Or run entirely on a local VLM — nothing leaves your network

local = make_backend("local", base_url="http://127.0.0.1:1234/v1", model="qwen2.5-vl-7b") analyzer = ScreenAnalyzer(kvm, local)

Block until the box reaches the GRUB menu, then pick the first entry

analyzer.wait_for_state("grub_menu", timeout=120) kvm.press_key("Enter")

For the latest unreleased tree:

pip install "kvm-pilot[totp] @ git+https://github.com/DustinTrap/kvm-pilot"
CLI
kvm-pilot info     --host 192.168.8.1 --user admin --ask-passwd   # prompt (no echo)

kvm-pilot capabilities --profile homelab # what this driver supports kvm-pilot snapshot screen.jpg --profile homelab kvm-pilot --timeout 60 power-cycle --profile homelab --dry-run # log, don't send kvm-pilot eject --profile homelab # detach virtual media kvm-pilot events --profile homelab --count 5 # stream device events kvm-pilot watch grub_menu --profile homelab \ --backend local --vision-url http://127.0.0.1:1234/v1 --vision-model qwen2.5-vl-7b

The CLI prompts for confirmation before any destructive action (power, virtual media — including uploads — keyboard/mouse injection, GPIO). Use --yes to skip prompts in automation, or --dry-run to log intended actions without sending them — dry-run short-circuits *before* the prompt, so it never blocks waiting for input. --timeout (HTTP per-request timeout) is a global flag and goes *before* the subcommand; watch keeps its own --timeout for the vision wait deadline.

Profiles like homelab live in ~/.config/kvm-pilot/config.toml. See docs/cli.md for the full command table (every subcommand, the capability it needs, and its gating), and docs/configuration.md for the config-file format, every KVM_PILOT_* environment variable, and the precedence between flags, env, and profiles.

GLKVM setup note: on GL.iNet firmware the PiKVM REST API is **disabled by

default** and a firmware upgrade can re-disable it — enable it first, per

Every /api/* call returns 404.

The tool surface, by plane

The same capability protocols span three actuation planes, so one agent workflow can mix pixels, structured BMC state, and shell access — with every destructive effect gated per class:

PlaneReadAct (operator-gated)
KVM — pixels & HID (PiKVM · GLKVM · BliKVM)snapshot · classify_screen · wait_for_state · power_state · logs · list_virtual_mediapower · type_text / press_key / send_shortcut / mouse · calibrate_mouse · mount_iso / eject
BMC — structured state (Redfish · IPMI)info · boot_options · logs (SEL) · sensors (CLI)power · set_boot_device · SOL console (CLI console)
Firmware — Intel AMT/vPro (spans both planes)info · snapshot (firmware BIOS/POST/GRUB) · boot_options · power_statepower · set_boot_device · type/mouse · SOL (console) · amt_enable (open SOL/KVM listeners)
SSH — in-band & appliancessh_reachable · appliance_status · access_pathsssh_exec · host_exec (ssh/winrm auto-picked) · wake (WoL) · appliance_reboot
Meta — evidence & intakecapabilities · support_matrix · healthcheckfile_firmware_report

A machine with no KVM and no BMC at all is itself a first-class target: driver = "ssh" plus `ssh_host` (the machine's own address, #248) stands kvm-pilot on the recovery ladder's in-band rung — every device capability honestly absent, and the healthcheck saying plainly that there is no out-of-band recovery path there.

The canonical per-tool reference — annotations, effect gates, approval lifecycle — is the MCP server README; the CLI covers the full surface in docs/cli.md.

Status & maturity

Status: 1.0, general availability — on the strength of the run ledger,

not beyond it. Three device types have run live (GL-RM1PE, Dell R710 over

iDRAC6/IPMI, Dell Latitude 5411 over Intel AMT); three of the seven device

drivers (redfish, pikvm, blikvm) have only ever run against emulators.

See the

Hardware-Compatibility list

for what has actually been exercised — and please add to it. (The exact version lives in the

CHANGELOG.)

The core paths have graduated

from mocked-only to live-verified: a fleet of GL-RM1PE units has exercised

snapshot/healthcheck/logs/power_state/virtual_media/info across

two firmware lines — on V1.9.1 the run ledger that ships in the wheel puts

info/logs/healthcheck/power_state at ga, snapshot at rc, and

virtual_media at beta — derived from real runs, never hand-edited — and a Dell iDRAC6 has exercised the IPMI driver live end-to-end

(power, boot-device, sensors, event log, SOL serial console). The paths that

can hurt are hardened: transports never re-fire a destructive request, MCP

approvals are signed single-use receipts with an audit trail, and every

destructive effect — power, HID, media, boot-config, appliance, SSH,

external writes — has its own operator opt-in gate. Recent betas added

remote boot-device control (Redfish, IPMI, and in-band efibootmgr),

Wake-on-LAN, an IPMI driver for BMCs that predate Redfish, a serial (SOL)

console, mouse auto-calibration, and headless native-resolution GLKVM

snapshots; kvm-pilot test-report turns contributing evidence into one

command, and the firmware registry feeds itself (firmware-check auto-files

registry updates).

Now we need your hardware. PiKVM, BliKVM, other GLKVM models, and

Redfish BMCs (iDRAC/iLO/OpenBMC) are the combos the matrix needs most —

success *or* failure, a

hardware report

takes two minutes and the hourly ingest does the rest. Anything the

Hardware-Compatibility list

doesn't show as exercised is still unverified: the 1.x line keeps the public

API stable, but a rating only moves when a live run moves it; note the remote

firmware-flash no-op on GL-RM1PE

([#94](https://github.com/DustinTrap/kvm-pilot/issue

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기