ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Kvm Pilot

โดย DustinTrapรุ่น 1.0.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.DustinTrap/kvm-pilot

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): 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

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "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": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add kvm-pilot --env KVM_PILOT_PROFILE='ใส่ค่าของคุณ' --env KVM_PILOT_MCP_READ_ONLY='ใส่ค่าของคุณ' --env KVM_PILOT_MCP_DRY_RUN='ใส่ค่าของคุณ' --env KVM_PILOT_MCP_ALLOW_POWER='ใส่ค่าของคุณ' --env KVM_PILOT_HOST='ใส่ค่าของคุณ' --env KVM_PILOT_USER='ใส่ค่าของคุณ' --env KVM_PILOT_PASSWD='ใส่ค่าของคุณ' --env ANTHROPIC_API_KEY='ใส่ค่าของคุณ' -- uvx kvm-pilot

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "kvm-pilot": {
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "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": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "kvm-pilot": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "kvm-pilot"
      ],
      "env": {
        "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": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • 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

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub DustinTrap ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32564 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 72% ของอีก 32564 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32564 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Kvm Pilot ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: KVM_PILOT_PASSWD, ANTHROPIC_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.1) เข้า registry 14 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Tools MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

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

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

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

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx