Skip to main content
Glama
hlsitechio

omarchy-mcp

by hlsitechio

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OMARCHY_MCP_ENABLE_DANGEROUSNoSet to '1' to enable destructive operations (shutdown, reboot, package installation, system updates, configuration refreshes). Defaults to 'false' if not set. Alternatively, create ~/.config/omarchy-mcp/config.json with {"enableDangerous": true}.false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
theme_listA

List all available Omarchy themes.

theme_currentA

Show the name of the currently applied Omarchy theme.

theme_setA

Apply a theme from theme_list and verify the current theme afterwards.

theme_bg_nextA

Switch to the next background for the current theme and report the resulting path.

font_listA

List monospace fonts available for the terminal/UI in Omarchy.

font_setA

Change Omarchy's font using a value from font_list, then verify font_current.

background_current_detailsA

Report the current background's canonical local path, source, MIME, dimensions and size. Read-only.

theme_directory_lookupB

Resolve and verify a local installed theme directory. Slugs only; no URLs, installation, or downloads.

background_set_localA

Set one strictly validated absolute local image as the background and confirm the Omarchy state symlink. Never downloads or copies files.

background_thumbnail_cache_statusA

Verify the current theme's local background thumbnail rows, source signature and generated files. Read-only.

background_thumbnail_cache_buildA

Build current-theme thumbnails locally through Omarchy and verify its signature, rows and output files afterwards.

omarchy_defaultsA

Read the current browser, editor, terminal, and coding-agent defaults plus locally available supported choices. No selectors or applications are launched.

omarchy_default_setA

Set a locally available browser, editor, terminal, or coding-agent default with before/after verification. Agent state is updated without invoking Omarchy's install-and-launch setter. Supports dry-run.

display_text_sizeA

Read, preview, set, or reset Omarchy's coordinated shell/GTK/terminal text size. Set/reset supports dry-run and verifies every queryable post-state.

launch_appA

Launch a supported desktop app via Omarchy. A URL is accepted only for browser.

capture_screenshotC

Take a screenshot. region/windows require an interactive selection. save returns and verifies a PNG path; copy writes only to the clipboard.

reminder_setA

Set a notification reminder after N minutes and verify it appears in the reminder store.

reminder_showA

List pending desktop reminders as structured JSON.

reminder_clearA

Clear all pending reminders and verify the store is empty.

audio_volumeA

Raise, lower or toggle mute and report the PipeWire sink state before and after.

mic_mute_toggleA

Toggle microphone mute and report the PipeWire source state before and after.

brightness_displayB

Read or adjust brightness on the focused display and report the measured value afterwards.

toggle_featureA

Toggle or explicitly enable/disable nightlight, screensaver availability, or suspend availability. Handles Omarchy 4's specialized toggle routes and verifies final state.

system_infoB

Print Omarchy debug/system information using safe non-sudo flags.

hypr_statusB

Get current Hyprland workspaces and the focused window.

screenrecording_statusA

Report whether gpu-screen-recorder is active and measure the current output file. Read-only.

screenrecording_startA

Start a non-interactive full-screen recording and verify the recorder process. Never opens a region picker.

screenrecording_stopA

Stop the active recording gracefully and verify that the recorder exited and its MP4 exists.

webcam_overlay_resizeA

Resize the active screen-recording webcam overlay and report its geometry before and after.

capture_region_clipboardA

Launch Omarchy's interactive region selector without blocking the MCP request. OCR text or the sensitive QR value is copied locally to the clipboard and is not returned to the model.

media_transcodeA

Deterministically transcode one absolute local media path using Omarchy. Refuses output overwrite and interactive menus.

image_to_asciiB

Convert an absolute local PNG or SVG to a new .txt file. Paths and numeric arguments are bounded; existing outputs are never overwritten.

self_window_infoA

Resolve and report the terminal window this agent is running in, by walking PID ancestry — like Windows' 'which window am I'. This locks our identity for tools that move/resize us.

self_window_snapA

Float + pin + resize + position OUR OWN host window (found via PID lock) to a corner of a monitor, then verify the result. corner: tl=tr/bl=br or center. No focus stealing; targets by address.

window_snapA

Float + pin + resize + position ANY window to a corner of the focused monitor, then verify on-screen. Target by exact address or by class/title substring match (e.g. match="chrome"). Defaults to the SUPER+O standard size 1300x900. Example: "open chrome bottom right" = launch_app(browser) then window_snap(match="chrome", corner="br").

layout_modeA

Switch the active workspace between layout modes of the native Lua grid: "grid" (deterministic row-major cells) or "master" (first window = full-height left column, rest stacked right). Returns the layout's own confirmation.

layout_gridA

Force an explicit C x R cell grid on the active workspace (e.g. 4x4). Omit both to return to aspect-aware auto sizing.

layout_orderA

Debug view: the placement order (and titles) of tiled windows on the active workspace. Position 1 becomes the master slot in master mode; position 1 is top-left in grid mode.

layout_tomasterA

In master mode, move the Nth window (see layout_order) into the full-height left column; the remaining windows stack in the right column.

layout_swap_windowsC

Exchange the grid/master placement order of two windows by their positions in layout_order (1-based). Verified with fresh geometry afterwards.

desktop_statusA

Read-only snapshot of the desktop: monitors, workspaces and the currently focused window. Call this before/after window operations to see actual state.

window_listA

List all mapped windows with class, title, pid, workspace and geometry. Use to identify targets before acting.

window_focusA

Move focus to the neighboring window in a direction.

window_typeA

One-shot text input to ANY window: resolve target (match/address), focus it with measured verification, then type via wtype. Defaults to the currently focused window if no target given. submit=true presses Return afterwards. Example: window_type(match="opencode", text="hi", submit=true) — talk to another agent.

window_keysA

One-shot keyboard shortcuts to ANY window: resolve + verify-focus target, then inject keys via wtype. Each step is a keysym with optional modifiers joined by "+": "Return", "Escape", "Tab", "ctrl+p", "alt+shift+e". For menus and TUI navigation (e.g. ctrl+p in opencode).

window_swapC

Swap a tiled window with its neighbor using a locked address target, then verify geometry changed.

window_resizeA

Resize by pixel deltas, e.g. x=100 grows right side, x=-100 shrinks. relative=true is implied. Optionally pass address/match to resize an explicit window instead of the focused one (safer with follow_mouse=1).

window_float_toggleB

Toggle a window between floating and tiling. Defaults to the focused window; pass address/match for an explicit target.

window_fullscreenA

Toggle fullscreen (real) or maximized (fake). Defaults to the focused window; pass address/match for an explicit target.

window_closeA

Close a window by explicit address/match, or the currently focused window if omitted. REFUSES to close this agent's own host terminal either way. Check window_list/desktop_status to pick a target first.

window_to_workspaceA

Move a window to another workspace, optionally following focus. Defaults to the focused window; pass address/match for an explicit target.

workspace_layoutA

Switch a workspace between the MCP grid, Hyprland dwindle, master, or scrolling tiling engine and verify tiledLayout. Use dwindle before layout_preselect/open_window_split; use omarchy-grid for deterministic grids.

layout_preselectA

Choose which side of the focused tile the NEXT opened window will occupy. Chain with open_window for split layouts, e.g. preselect 'r' then open a terminal to get a right-hand split.

layout_togglesplitA

Flip the split orientation of the active workspace (horizontal <-> vertical).

open_window_splitA

Preselect a split direction and launch a command, then VERIFY on-screen that the new window actually tiled into that split. Returns the landed window's geometry and a verdict with correction hints. Example: direction='d', app='terminal' opens a terminal below the focused one.

hypr_dispatchA

Run any Hyprland dispatcher via the Omarchy Lua API. Expression must start with 'hl.' and only use the safe allow-listed charset, e.g. "dsp.focus({ monitor = '+1' })". For power users / creative layouts.

agent_gridA

ONE-CALL agent workspace orchestration. For 'open a 2x2 OpenCode grid', pass agent=opencode, cols=2, rows=2 (count defaults to all cells). For mixed layouts, pass placements such as Claude position=top_right and Codex position=bottom_right. Launches independent Omarchy TUI windows, assigns sparse/exact cells in lua:omarchy-grid, and verifies each final class/workspace/geometry. Defaults to the next empty workspace so an existing task is not displaced.

wifi_statusA

Report Wi-Fi radio state and active Wi-Fi connection names. Read-only.

wifi_toggleA

Turn Wi-Fi on or off and verify the radio state afterwards. Turning it off may disconnect the MCP client.

wifi_listA

Scan visible networks, de-duplicate SSIDs, and show strongest signal/security. Read-only.

wifi_connectA

Activate a saved NetworkManager Wi-Fi connection by its connection name and verify it becomes active. Does not accept or create passwords.

bluetooth_statusA

Report whether the default Bluetooth adapter is powered. Read-only.

bluetooth_toggleB

Use Omarchy's persistent rfkill-aware Bluetooth power command and verify the adapter state.

bluetooth_devicesB

List known Bluetooth devices. Read-only.

bluetooth_connectA

Connect to or disconnect a known device by MAC address using Omarchy's wrapper, then verify BlueZ state.

powerprofiles_listA

List profiles and mark the active one. Read-only.

powerprofiles_setB

Set and remember a profile for the detected, AC, or battery power source; verify the active profile afterwards.

battery_statusA

Return Omarchy's formatted battery status. An empty result means no battery is installed.

system_powerA

Lock is always available. Reboot and shutdown require enableDangerous because they terminate the desktop session.

pkg_addC

Install packages through Omarchy, then verify that all are present. Requires enableDangerous.

pkg_add_aurA

Install AUR packages through Omarchy, then verify that all are present. Requires enableDangerous.

update_systemB

Run the full Omarchy update workflow. It can take many minutes and requires enableDangerous.

refresh_configB

Reset one known Omarchy configuration target to packaged defaults. Omarchy creates its normal backup. Requires enableDangerous.

health_checkA

Diagnose local dependencies, Omarchy/Hyprland runtime access, custom grid-layout installation, and the destructive-tool gate. Use this first when tools are failing.

omarchy_commandsA

Search the machine-readable command catalog from the installed Omarchy version. Useful for discovering the correct current route and arguments before adding or troubleshooting a wrapper.

omarchy_version_infoA

Read the installed Omarchy version, active channel, configured mirror/package channel, and timestamp of the last package upgrade. Fully local; does not check remote updates.

system_resource_statsA

Read Omarchy CPU/memory statistics plus local load averages and uptime. Read-only and offline.

monitor_panel_stateA

Read Omarchy's monitor panel protocol as structured JSON: brightness, internal/external/focused displays, mirroring, scaling, and enabled monitor geometry.

omarchy_toggle_statusA

Read normalized enabled/disabled state for an allow-listed Omarchy feature without changing it. Idle enabled means normal idle behavior is allowed.

audio_sink_availabilityA

List local PulseAudio/PipeWire sinks and whether their ports are available, respecting Omarchy speaker-tuning exclusions. Read-only.

hardware_readinessA

Read battery/power, external-monitor, backlight, hybrid-GPU, and hibernation readiness using only local Omarchy predicates and kernel state.

audio_devicesA

List PipeWire/PulseAudio output sinks and real input sources with stable node IDs, availability, active ports, mute state, and current defaults. Read-only.

audio_device_set_defaultA

Select an exactly enumerated local output sink or input source, move active streams through Omarchy, verify the default, and roll back on mismatch. Supports dry-run.

audio_output_switchB

Cycle to Omarchy's next available output while preserving mute state, then report the measured default before and after. Supports dry-run.

media_source_switchA

Cycle the active local MPRIS media source forward/backward, optionally transferring playback, with before/after shell status evidence. Supports dry-run.

speaker_tuning_statusA

Read Omarchy speaker-tuning installation, service, virtual-sink, default-sink, and hardware-match state. Read-only.

keyboard_backlightA

Read or adjust a detected keyboard-backlight LED using Omarchy's bounded actions. Mutations are measured and rolled back if the expected level is not observed. Supports dry-run.

input_device_controlA

Read or explicitly enable/disable the locally detected touchpad or touchscreen using Omarchy's persistent Hyprland state, with verification and rollback. Supports dry-run.

local_utility_openB

Open About or Files using local installed commands, or focus an exact existing class. An optional Files directory is validated and always opens a new window.

local_config_openB

Open one existing readable local file through Omarchy's configured editor. No URLs, shell commands, file creation, or installer fallbacks.

local_tui_launchC

Launch a supported local TUI in Omarchy's terminal with an argv array and exact app ID, or focus an existing matching window. No shell strings or URLs.

notification_sendA

Send a local desktop notification and return the daemon-assigned ID. Click commands, remote images, and arbitrary notify-send options are intentionally unsupported.

notification_dismissA

Dismiss visible notifications whose headline contains the supplied substring.

notification_timeA

Show Omarchy's local current time and date notification. Does not use weather or network services.

notification_dnd_statusA

Read the Omarchy shell notification-silencing state without changing it.

notification_dnd_setB

Set Omarchy notification silencing explicitly and verify the resulting state.

osd_showC

Display a local Omarchy on-screen message or 0-100 progress value and verify that the OSD opened.

bar_stateA

Read visibility, position, transparency, active bar, and widget layout without changing anything.

bar_visibility_setA

Explicitly show or hide the bar, then verify the on-disk visibility flag.

bar_position_setB

Move the bar to an exact screen edge and verify shell.json afterwards.

bar_transparency_setA

Set bar transparency explicitly (never toggle blindly), then verify shell.json.

bar_widget_moveB

Move an existing widget to an exact bar section/index and verify its final location.

plugin_listA

List locally discovered plugins and their state. This performs no install, update, or network access.

plugin_validateA

Validate a local plugin folder against Omarchy's manifest schema. Symlink roots are rejected; nothing is installed or downloaded.

plugin_local_detailA

Inspect one already-discovered local plugin, its sanitized manifest, runtime state, and bar location. No URLs or network access are used.

plugin_local_enableA

Enable an already-discovered plugin. Bar widgets require an exact section/index; bar replacements are refused. Defaults to dry-run.

plugin_local_disableC

Disable a reversible local plugin and verify catalog/bar state. Critical first-party services and active bars are refused. Defaults to dry-run.

plugin_local_cloneA

Clone a stock non-service UI plugin from packaged files into the user's plugin directory, refusing collisions and verifying discovery/activation. Defaults to dry-run.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hlsitechio/Omarchy-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server