MCP server that gives any LLM control over an Omarchy Linux desktop (Hyprland)
Omarchy MCP has 46 tools with significant definition gaps. Most tools lack input schemas (only 8 tools have explicit schema definitions visible in source). Descriptions are present but often generic or auto-generated. Tool naming is inconsistent: some follow verb_noun (theme_apply, window_focus) but many are noun_verb (appearance_background_set, network_wifi_connect). Critical security tools (pkg_add, system_power) lack confirmation patterns. Auto-generated tools from omarchy CLI have minimal descriptions. No output schemas documented. Error handling is basic. This is a D-grade server with major structural issues.
Launch multiple coding agents in a grid layout
Rebuild the background thumbnail cache
Check the status of the background thumbnail cache
Get details about the current background image
List available background images from current theme and user directories
Set the background to a local image file
Get detailed information about the current background
Get the current bar/panel state and configuration
38 of 46 tools lack visible input schemas in source code. Only 8 tools (theme_apply, workspace_focus, system_power, pkg_add, pkg_remove, window_resize, window_move, window_snap, window_split_launch, health_check, agent_grid, screenrecording_start, screenshot_capture, device_brightness, device_volume, omarchy_commands, omarchy_defaults_set) have explicit schema definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Get current desktop state (monitors, workspaces, windows)
Get or set display brightness
Get or set audio volume
Check system health and MCP server readiness
Get Hyprland compositor status and configuration
List all monitors with resolution and position
Get network connectivity status
Connect to a WiFi network
Disconnect from WiFi
List available WiFi networks
Search the Omarchy command catalog
Get Omarchy default application settings
Set Omarchy default applications
Get Omarchy version and update information
Install packages via pacman
Remove packages via pacman
Refresh Omarchy configuration
Start screen recording
Get screen recording status
Stop screen recording
Capture a screenshot
Get system information (CPU, memory, disk, uptime)
Control system power (shutdown, reboot, suspend, hibernate)
Apply a theme by slug
Get the current theme slug
List available themes (stock and user-installed)
Update system packages
Close a window
Toggle window between floating and tiling
Focus a window by address or class/title match
Toggle window fullscreen state
List all open windows with addresses and properties
Move a window to a specific position
Resize a window
Snap a window to a screen corner or center
Launch a new window in a split relative to the focused window
Focus a workspace by ID or name
List all workspaces with window counts
Destructive tools (pkg_add, pkg_remove, update_system, system_power, refresh_config) lack confirmation/dry-run patterns. No confirmation_request or dry_run parameter visible. Agents can irreversibly delete packages or reboot systems without safeguards.
Tool descriptions are generic and under 100 chars for most tools (e.g., 'Get the current theme slug', 'List available themes'). Descriptions lack context on WHEN to use each tool, dependencies, or what the LLM should do with results.
No output schemas documented. Tools return text responses but LLMs cannot infer structure (e.g., does window_list return JSON array or plain text? What fields does each window object have?).
Naming inconsistency: tools mix verb_noun (theme_apply, window_focus) with noun_verb (appearance_background_set, network_wifi_connect, device_brightness). Inconsistent naming forces LLMs to reason about tool selection.