Install
$ agentstack add mcp-stefanoamorelli-hyprmcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ● Shell / process execution Used
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Hyprland MCP Server
[](LICENSE)
https://github.com/user-attachments/assets/b4fc1d26-ec04-451a-b7c9-7f87b44d9c9e
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.
🚀 Quick Start
1. Clone the repository
git clone https://github.com/stefanoamorelli/hyprmcp.git
cd hyprmcp
2. Grab your HYPRLAND_INSTANCE_SIGNATURE
echo $HYPRLAND_INSTANCE_SIGNATURE
3. Install the server in your MCP client
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",
"/hyprmcp/hyprmcp/server.py"
],
"env": {
"PYTHONPATH": "/hyprmcp",
"HYPRLAND_INSTANCE_SIGNATURE": ""
}
},
🧰 Available Tools
| 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.
💡 Example Usage
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.
🛠️ Development
To run the server locally for development:
mcp dev server.py
Ensure that Hyprland is running and the necessary environment variables are set.
📚 References
📜 License
[MIT License](LICENSE) © 2025 Stefano Amorelli
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: stefanoamorelli
- Source: stefanoamorelli/hyprmcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.