Hyprland MCP服务器

https://github.com/user-attachments/assets/b4fc1d26-ec04-451a-b7c9-7f87b44d9c9e
该服务器支持自然语言界面查询和控制Hyprland的窗口管理、布局、输入等。
注: 这个项目是实验性的,处于测试阶段。
🚀 快速开始
1.克隆存储库
git clone https://github.com/stefanoamorelli/hyprmcp.git
cd hyprmcp2.抓住你的 HYPRLAND_INSTANCE_SIGNATURE
echo $HYPRLAND_INSTANCE_SIGNATURE3.在MCP客户端中安装服务器
例如,在Claude Desktop中,修改 ~/.config/Claude/claude_desktop_config.json 文件如下:
"Hyperland MCP Server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"subprocess",
"mcp",
"run",
"/hyprmcp/hyprmcp/server.py"
],
"env": {
"PYTHONPATH": "/hyprmcp",
"HYPRLAND_INSTANCE_SIGNATURE": ""
}
},🧰 可用工具
| 工具名称 | 描述 |
|---|---|
run_hyprctl_command | 执行任意操作 hyprctl 命令。 |
get_version | 检索Hyprland版本和构建信息。 |
list_monitors | 列出所有连接的监视器和属性。 |
list_workspaces | 列出所有活动工作区。 |
list_clients | 列出所有窗口及其属性。 |
list_devices | 列出所有连接的输入设备。 |
get_active_window | 显示当前活动窗口的详细信息。 |
list_layers | 显示合成器中的所有图层。 |
get_splash | 检索当前随机启动消息。 |
dispatch_command | 向Hyprland发送命令。 |
set_keyword | 动态设置配置关键字。 |
reload_config | 强制重新加载Hyprland配置文件。 |
enter_kill_mode | 启用终止模式,通过单击终止窗口。 |
这些工具允许语言模型与Hyprland的功能无缝交互。
💡 示例用法
用户提示: “切换到工作区2。”
MCP服务器操作: 执行 hyprctl dispatch workspace 2.
用户提示: “当前活动窗口是什么?”
MCP服务器操作: 执行 hyprctl activewindow -j 并返回详细信息。
🛠️ 发展
要在本地运行服务器进行开发,请执行以下操作:
mcp dev server.py确保Hyprland正在运行,并且设置了必要的环境变量。
📚 参考文献
📜 许可证
MIT许可证 ©2025 Stefano Amorelli

