hyprmcp
Community MCP server for hyprctl
hyprmcp.mp4
A lightweight, unofficial Model Context Protocol (MCP) server that exposes all the functionality of hyprctl—the command-line interface for the Hyprland Wayland compositor—to language models.
This server enables natural language interfaces to query and control Hyprland's window management, layouts, inputs, and more.
Note: This project is experimental and in beta.
git clone https://github.com/stefanoamorelli/hyprmcp.git
cd hyprmcpecho $HYPRLAND_INSTANCE_SIGNATURE
For example, in Claude Desktop, modify the ~/.config/Claude/claude_desktop_config.json file as follows:
"Hyperland MCP Server": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "subprocess", "mcp", "run", "<global path of the repo>/hyprmcp/hyprmcp/server.py" ], "env": { "PYTHONPATH": "<global path of the repo>/hyprmcp", "HYPRLAND_INSTANCE_SIGNATURE": "<your-hyprland-instance-signature>" } },
| Tool Name | Description |
|---|---|
run_hyprctl_command |
Executes arbitrary hyprctl commands. |
get_version |
Retrieves the Hyprland version and build info. |
list_monitors |
Lists all connected monitors and properties. |
list_workspaces |
Lists all active workspaces. |
list_clients |
Lists all windows and their properties. |
list_devices |
Lists all connected input devices. |
get_active_window |
Shows the currently active window details. |
list_layers |
Displays all layers in the compositor. |
get_splash |
Retrieves the current random splash message. |
dispatch_command |
Dispatches a command to Hyprland. |
set_keyword |
Dynamically sets a configuration keyword. |
reload_config |
Forces a reload of the Hyprland config file. |
enter_kill_mode |
Enables kill mode to terminate windows by click. |
These tools allow language models to interact with Hyprland's features seamlessly.
User Prompt: "Switch to workspace 2."
MCP Server Action: Executes hyprctl dispatch workspace 2.
User Prompt: "What is the current active window?"
MCP Server Action: Executes hyprctl activewindow -j and returns the details.
To run the server locally for development:
mcp dev server.py
Ensure that Hyprland is running and the necessary environment variables are set.
MIT License © 2025 Stefano Amorelli
Features
Rate this server
Related MCP servers
- mcp-managersimple web ui to manage mcp (model context protocol) servers in the claude app
- mcpm.shCLI MCP package manager & registry for all platforms and all clients. Search & configure MCP servers. Advanced Router & Profile features.
- mcp_weather_server
- xiyan_mcp_serverA Model Context Protocol (MCP) server that enables natural language queries to databases
- world_bank_mcp_serverAn implementation of the Model Context Protocol for the World Bank open data API
- videocapture-mcpModel Context Protocol (MCP) server to capture images from an OpenCV-compatible webcam or video source