Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Control the Umbriel Wayland compositor: windows, workspaces, input, screenshots, clipboard.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub dot-ASH ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.1) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Rust ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, AvaHR
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
mcp-name: io.github.dot-ASH/umbriel-mcp
An MCP server for the Umbriel Wayland compositor.
Exposes Umbriel to MCP clients: list and control windows, workspaces and outputs, drive the pointer and keyboard, capture the screen with optional OCR, and read or write the clipboard.
Compositor state and actions go straight to Umbriel's IPC socket rather than shelling out to the CLI, so inspection costs one round trip and no process spawn. Pointer, keyboard, and clipboard use Wayland protocols directly. Only screen capture and OCR call external programs.
Full access means full control of your desktop. In the default full profile an agent connected to this server can launch arbitrary commands, type and click anywhere, read and overwrite your clipboard, and see your screen. Anything on screen or in the clipboard is visible to the model. Use the profiles to grant less.
This is a best-effort personal project that tracks an actively evolving compositor. Expect 0.x behavior changes, and expect it to break when Umbriel changes. There is no support promise beyond what I can do in my spare time.
Support follows Umbriel's own availability: if Umbriel runs on your system, this server should. The server itself is a static binary for x86_64 and aarch64 Linux with no runtime libraries, so the distribution only matters for installing Umbriel and the two screen helpers.
| Distribution | Umbriel | umbriel-mcp |
|---|---|---|
| Arch Linux | AUR umbriel-git | makepkg from this repo (AUR package planned) |
| Ubuntu 26.04+ | Noctalia APT repository (umbriel) | release binary |
| Debian Trixie / Sid | Noctalia APT repository (umbriel) | release binary |
| Fedora | Terra (umbriel-nightly) | release binary |
| anything else | see Umbriel's installation page | release binary or cargo install |
Older Ubuntu releases are not supported because Umbriel is not packaged for them.
Warning for Arch users: the AUR package named umbriel is a placeholder and is not the compositor. Do not install it; the compositor is umbriel-git.
Each path below installs Umbriel, the screen helpers, and umbriel-mcp, then checks the result. Skip the Umbriel step if you already run it. The Umbriel commands are copied from its installation page; check there if they have changed.
yay -S umbriel-git # the compositor, if needed
sudo pacman -S grim tesseract tesseract-data-eng wf-recorder # screenshots, OCR, recording
Then install the server as a pacman package built from this repository's recipe. It downloads the prebuilt release binary and checks its checksum, so nothing is compiled:
git clone https://github.com/dot-ASH/umbriel-mcp
cd umbriel-mcp/packaging/aur-bin makepkg -si umbriel-mcp doctor
Remove it later with sudo pacman -R umbriel-mcp-bin. An AUR package of the same name is planned; this section will switch to yay -S umbriel-mcp-bin once it is published.
wget https://pkg.noctalia.dev/deb/nickh-archive-keyring.deb
sudo dpkg -i nickh-archive-keyring.deb sudo wget -O /etc/apt/sources.list.d/noctalia-resolute.sources \ https://pkg.noctalia.dev/deb/noctalia-resolute.sources sudo apt update sudo apt install umbriel
sudo apt install grim tesseract-ocr tesseract-ocr-eng wf-recorder
curl -fsSL https://raw.githubusercontent.com/dot-ASH/umbriel-mcp/main/install.sh | sh
This downloads the latest release for your architecture, checks it against the release's SHA256SUMS, installs it to ~/.local/bin/umbriel-mcp (no sudo), and runs umbriel-mcp doctor. Ubuntu adds ~/.local/bin to PATH at login once the folder exists, so log out and back in if umbriel-mcp is not found afterwards. If you installed an older version into /usr/local/bin, the script tells you to remove it.
Manual install without the script
arch=$(uname -m) # x86_64 or aarch64
tag=v0.4.1 base="https://github.com/dot-ASH/umbriel-mcp/releases/download/$tag" curl -LO "$base/umbriel-mcp-$tag-$arch-linux.tar.gz" curl -LO "$base/SHA256SUMS" sha256sum --check --ignore-missing SHA256SUMS tar -xzf "umbriel-mcp-$tag-$arch-linux.tar.gz" install -Dm755 "umbriel-mcp-$tag-$arch-linux/umbriel-mcp" ~/.local/bin/umbriel-mcp
umbriel-mcp doctor
Same as Ubuntu, with the Debian repository source and, on Trixie, the backports suite:
wget https://pkg.noctalia.dev/deb/nickh-archive-keyring.deb
sudo dpkg -i nickh-archive-keyring.deb sudo wget -O /etc/apt/sources.list.d/noctalia-trixie.sources \ https://pkg.noctalia.dev/deb/noctalia-trixie.sources # Sid: noctalia-unstable.sources sudo apt update sudo apt install -t trixie-backports umbriel # Sid: sudo apt install umbriel sudo apt install grim tesseract-ocr tesseract-ocr-eng wf-recorder
Then install the server, which also runs umbriel-mcp doctor:
curl -fsSL https://raw.githubusercontent.com/dot-ASH/umbriel-mcp/main/install.sh | sh
sudo dnf install umbriel-nightly # from the Terra repository
sudo dnf install grim tesseract tesseract-langpack-eng wf-recorder
Then install the server, which also runs umbriel-mcp doctor:
curl -fsSL https://raw.githubusercontent.com/dot-ASH/umbriel-mcp/main/install.sh | sh
Install Umbriel following its installation page, then grim, tesseract, and Tesseract's English data (eng.traineddata) from your package manager. Install the server with curl -fsSL https://raw.githubusercontent.com/dot-ASH/umbriel-mcp/main/install.sh | sh, or build it with Cargo (needs Rust 1.89 or newer, for example from rustup):
cargo install umbriel-mcp --locked
umbriel-mcp doctor names the exact packages to install on Arch, Debian/Ubuntu, and Fedora, and gives generic guidance elsewhere.
umbriel-mcp update # install the latest release in place
umbriel-mcp update --check # only report whether one exists
update downloads the latest release, checks it against SHA256SUMS, confirms the new binary runs and reports the expected version, and only then replaces the old one, so a failed update leaves the old binary working. Restart your harness afterwards; running sessions keep the old version. umbriel-mcp doctor also says when a newer version exists. Nothing checks for updates in the background.
/usr/local/bin, it asks you to run sudo umbriel-mcp update.cargo install, Nix), it refuses and tells you the package manager's command instead, so the two never disagree.umbriel-mcp update works from then on.update and the install script accept a release only if its SHA256SUMS carries a valid signature from the umbriel-mcp release key, whose public half is built into the binary and the script, and only then trust its checksums. A tampered or unsigned release is refused. Updates are protected even if the GitHub account were compromised; a first install with the script is not, because the script itself comes from GitHub.update only install 0.3.0 and newer.umbriel-mcp uninstall
This lists what it will remove and asks once (--yes skips the question):
umbriel server registered with pi, Claude Code, opencode, Cursor, VS Code or Zed. Claude Code is unregistered through its own CLI; in the others' config files only the umbriel entry is deleted, and comments, formatting and other servers stay as they were. An entry named umbriel that runs some other program is left alone.umbriel-mcp program itself, when the install script or umbriel-mcp update put it there. If you run it through a symlink, only the link is removed. For a pacman, cargo or Nix install it prints the command to run instead.--keep-binary only unregisters. Config backups and screen recordings are listed but kept. Restart any running harness afterwards. Registrations inside a single project (a project's opencode.json or .cursor/mcp.json) are not searched; delete those entries by hand.
Pointer, keyboard, and clipboard need nothing beyond a running Umbriel session. These external programs are needed only for the screen tools:
| Tool | Used for | Arch | Debian/Ubuntu | Fedora |
|---|---|---|---|---|
grim | screenshot, OCR tools | grim | grim | grim |
tesseract | screenshot_with_ocr, find_text_on_screen, click_text | tesseract | tesseract-ocr | tesseract |
| English OCR data | same | tesseract-data-eng | tesseract-ocr-eng | tesseract-langpack-eng |
wf-recorder | start_recording, stop_recording | wf-recorder | wf-recorder | wf-recorder |
The tools are always listed; a call that needs a missing program fails with an error naming the package to install.
The socket is found through UMBRIEL_SOCKET, falling back to $XDG_RUNTIME_DIR/umbriel-$WAYLAND_DISPLAY.sock.
umbriel-mcp install pi # also: claude-code, vscode, opencode, cursor
umbriel-mcp install zed # prints config to paste umbriel-mcp install claude-code --profile no-exec
This registers the server through each harness's own CLI, so umbriel-mcp never reads or edits their config files itself:
| Harness | Runs |
|---|---|
| pi | pi mcp add with direct exposure and a description |
| Claude Code | claude mcp add --scope user |
| VS Code | code --add-mcp |
| opencode | opencode mcp add |
| Cursor | cursor-agent mcp add, if your cursor-agent has it |
| Zed | nothing: Zed has no CLI for this, so the config to paste is printed |
If opencode's or Cursor's CLI is not installed, or Cursor's has no mcp add, the config to paste is printed instead. A profile is added to the registration only if you pass --profile, so the default stays full.
The pi registration uses direct exposure, so the model sees the tools in its tool list and answers "what's on workspace 4?" with one list_windows call instead of searching for tools or trying hyprctl. If you registered pi by hand earlier, run umbriel-mcp install pi again to switch to direct exposure. The Zed snippet keeps "args": [] because Zed rejects its whole settings file if it is missing.
Any other MCP client can use the plain stdio form:
{
"mcpServers": { "umbriel": { "command": "umbriel-mcp", "args": [] } } }
umbriel-mcp doctor verifies that the Umbriel socket is reachable, that the compositor offers the virtual-pointer and virtual-keyboard protocols, and that grim, tesseract, and Tesseract's English data and wf-recorder are installed. Each problem is listed on its own with the command to fix it on Arch, Debian/Ubuntu, and Fedora, or generic advice on other distributions. It exits with status 0 only when everything is ready.
--profile limits what the server will do. Every tool stays visible in every profile; a c
ตัดมาแค่ช่วงต้น อ่านต่อใน repo