arch-niri-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| niri_get_windowsA | List all open windows in Niri DE with titles, app IDs, window IDs, workspace IDs, and focus status. |
| niri_get_workspacesA | List all workspaces in Niri DE with workspace index, names, output monitors, and active status. |
| niri_get_outputsA | List connected display monitors (outputs) with resolutions, modes, scaling, and focus state. |
| niri_get_layersA | List open Wayland layer-shell surfaces in Niri (desktop bars, panels, quickshell, notifications). |
| niri_get_keyboard_layoutsA | Get configured keyboard layouts and current active layout index in Niri. |
| niri_get_focusedA | Get detailed information about the currently focused window and currently focused display monitor. |
| niri_focus_windowA | Focus a window in Niri.
Provide |
| niri_focus_workspaceA | Switch active workspace in Niri by index number (e.g. '1', '2', '3') or workspace name. |
| niri_move_window_to_workspaceA | Move currently focused window/column to specified workspace by index or name. |
| niri_move_window_directionA | Move focused window or column in specified direction. direction options: 'left', 'right', 'up', 'down', 'first', 'last' |
| niri_set_column_widthA | Set focused column width. width options: '50%', '33.333%', '+10%', '-10%', 'switch-preset', or 'expand'. |
| niri_close_windowA | Close the currently focused window, or close a specific window by its numeric ID. |
| niri_reload_configA | Reload Niri DE configuration file ( |
| niri_perform_actionC | Perform a Niri layout or window action. Examples of action_name:
|
| niri_spawn_appA | Launch a desktop application or shell command in the Niri session (e.g., 'kitty', 'firefox', 'thunar', 'pavucontrol'). |
| niri_take_screenshotA | Capture a screenshot on Niri DE. target: 'screen' (entire focused monitor) or 'window' (focused window only). Returns path to saved screenshot image file. |
| arch_discover_toolsB | Automatically discover all installed CLI utilities, terminal emulators, package managers, Wayland helpers, and desktop monitors installed on the system. |
| arch_get_shell_infoA | Inspect user default shell, PATH environment, active desktop session, and installed terminal emulators. |
| arch_exec_terminal_cmdA | Execute any terminal/CLI command in the user's shell environment. Captures stdout, stderr, exit code, and handles timeouts cleanly. |
| arch_spawn_terminalB | Launch an interactive graphical terminal window (e.g. Alacritty, Kitty, Foot) inside Niri DE session. Optionally pass a command to run inside the terminal window. |
| arch_journalctlB | Fetch systemd service or kernel logs via journalctl. |
| arch_get_system_infoA | Retrieve Arch Linux / CachyOS system hardware overview, OS version, kernel, CPU, GPU, memory, and uptime. |
| arch_package_queryB | Query Arch Linux / CachyOS pacman package database (search installed packages or remote repositories). |
| arch_aur_searchA | Search Arch User Repository (AUR) & CachyOS software repositories using yay. |
| arch_check_updatesA | Check pending software updates available for Arch Linux / CachyOS. |
| arch_systemctlA | Manage systemd services on Arch / CachyOS.
action: 'status', 'start', 'stop', 'restart', 'enable', 'disable', 'is-active'
unit_name: Name of systemd unit (e.g., 'pipewire.service', 'bluetooth', 'networkmanager')
user_mode: True for user services ( |
| arch_process_listA | List running system processes ordered by CPU/Memory usage or search process by name. |
| arch_kill_processA | Terminate a running process by its PID using specified signal (SIGTERM or SIGKILL). |
| arch_audio_controlA | Control PipeWire audio volume or muting via wpctl on Arch/CachyOS. action: 'status', 'set_volume', 'toggle_mute' value: Volume percentage integer (e.g. 50, 80) when action is 'set_volume'. |
| arch_brightness_controlA | Query or adjust screen brightness using brightnessctl. action: 'get' or 'set' percent: Target brightness percentage integer (1-100) when action is 'set'. |
| arch_send_notificationA | Send a desktop notification to Niri DE via notify-send. urgency: 'low', 'normal', 'critical' |
| arch_network_statusA | Query active network connections, Wi-Fi, and Ethernet devices using nmcli. |
| arch_battery_statusA | Check battery status, capacity level, and charging state. |
| arch_clipboard_getA | Get current text content from the Wayland clipboard ( |
| arch_clipboard_setA | Set text content into the Wayland clipboard ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/oki3505F/arch-niri-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server