fastmcp-linux-desktop
Provides tools for managing Hyprland windows and workspaces, including focusing windows by title, class, or address, dispatching arbitrary hyprctl commands, switching workspaces, and listing monitors.
Provides tools for interacting with Wayland compositors, such as enumerating windows, capturing screenshots using grim, and querying monitor geometry and details.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fastmcp-linux-desktopcheck system health, fix any failed services, and switch audio to my headphones"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฅ๏ธ fastmcp-linux-desktop
High-performance FastMCP Server empowering AI Agents (Claude Desktop, Cursor, Antigravity, OpenRig) with native Linux desktop and compositor control.
Provides deep primitives for Hyprland/Wayland window management, PipeWire audio routing, systemd health diagnosis and self-healing, notifications, and long-term agent memory.
โก Features & MCP Tool Catalog
๐ช Wayland & Hyprland Window Management
get_windows(): Enumerate all active windows, classes, floating status, and workspace geometry.focus_window(target): Focus window by title, class, or hex address (e.g.Alacritty,Chrome).dispatch_hyprland(dispatcher, args): Run any arbitraryhyprctl dispatchinstruction.switch_workspace(workspace_id): Switch workspace dynamically.get_monitors(): List connected outputs, resolutions, scale factors, and refresh rates.
๐ Audio & DSP Routing
get_audio_status(): Query default sink volume, mute state, and driver.set_volume(percentage): Smoothly adjust sink volume (0-150%).toggle_audio_sink(): Cycle audio output between HDMI, line-out, headphones, or Bluetooth.
๐ฉบ System Diagnostics & Self-Healing
get_system_health(): Instant diagnosis of failed system/user systemd units, load, and RAM.heal_system(): Automatically reset-failed and restart degraded units, recovering audio if stalled.get_resource_usage(): View filesystem disk usage and top CPU/memory consuming processes.desktop_notify(title, message, urgency): Trigger native desktop notifications vianotify-send.take_screenshot(output_path): Capture Wayland screenshots usinggrim.
๐ง Agentic Memory & Context (Optional)
condense_context(raw_text, query): Real-time BM25 context compression (up to 98% token reduction) viacontext-condenser.memory_retain(fact, category, importance): Long-term episodic memory storage viaagent-hindsight.memory_recall(query, category, limit): Fast memory retrieval with recency decay.
Related MCP server: Linux System MCP Server
๐ Installation & Usage
1. Install via pip
pip install fastmcp-linux-desktop2. Connect to Claude Desktop / Cursor / Antigravity
Add to your claude_desktop_config.json or MCP settings:
{
"mcpServers": {
"linux-desktop": {
"command": "fastmcp-linux-desktop",
"args": ["--transport", "stdio"]
}
}
}3. Run as a Persistent Daemon (SSE / HTTP)
# Run over SSE on port 8991
fastmcp-linux-desktop --sse --port 8991
# Or run as a systemd user service
systemctl --user enable --now fastmcp-linux-desktop.service๐ง Systemd User Unit Example
Create ~/.config/systemd/user/fastmcp-linux-desktop.service:
[Unit]
Description=FastMCP Linux Desktop MCP Server
After=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/local/bin/fastmcp-linux-desktop --sse --port 8991
Restart=on-failure
RestartSec=3
[Install]
WantedBy=default.target๐งช Testing
python3 -m unittest discover tests๐ License
MIT License. Designed and maintained by apravint.
This server cannot be deployed
Maintenance
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Cloud desktops for AI agents: create a Linux computer, see its screen, click, type and run tasks.
Remote Linux boxes for coding agents: Docker, a browser, screenshots, logs, human takeover.
Persistent Linux computers for AI agents: desktop, signed-in browser, vault, apps and shell.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceLinux desktop HAL for AI agents. One daemon, one socket, every desktop action. GNOME, KDE, Hyprland, X11. Ships in one command.31MIT
- AlicenseAqualityBmaintenanceEnables AI agents to interact with the Linux desktop through desktop notifications, interactive dialogs, shell command execution, and privileged command execution.19 npm5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to automate a Linux desktop natively on Wayland, with 68 tools for screen capture, input simulation, browser automation, OCR, accessibility, media, audio, clipboard, notifications, filesystem, system, memory, and network operations through the MCP protocol.MIT
- AlicenseNot gradedqualityDmaintenanceEnables an AI agent to see and control a Linux desktop via Wayland/Hyprland, providing screenshots, structured desktop state, pointer/keyboard input, semantic window/workspace tools, and a policy engine for safe execution.Apache 2.0