Token导航 LogoToken导航TokenDH.com
niri MCP logo
运维云端未说明官方级别未说明来源级核验

niri MCP

MCP Server

Niri窗口管理器的模型上下文协议(MCP)服务器,提供查询和管理窗口管理器配置的功能。

工具数

10

提示词数

0

GitHub Stars

1

资源数

0
配置管理TypeScript云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rektide

提供方

rektide

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

niri mcp

Niri窗口管理器的模型上下文协议(MCP)服务器。

工具

查询工具

  • niri_outputs -列出连接的输出(监视器)
  • niri_workspaces -列出工作区
  • niri_windows -列出窗口
  • niri_layers -列出图层
  • niri_keyboard_layouts -列出键盘布局
  • niri_focused_output -显示当前关注的输出
  • niri_focused_window -显示当前聚焦的窗口
  • niri_overview_state -显示当前概览状态

Config.d管理工具

  • list_niri_configs -列出niri config.d文件及其状态
  • toggle_niri_config -启用/禁用niri config.d文件

list_niri_config

列出中的所有配置文件 ~/.config/niri/config.d/ 与他们的州(包括或排除)。

参数:

  • filter (可选,字符串):用于匹配文件名的正则表达式模式

退货: 配置文件数组 name, path, state,以及 size.

例子:

// List all configs
await client.callTool("list_niri_configs", {})

// List only work profile configs
await client.callTool("list_niri_configs", { filter: "work-.*" })

toggle_niri_config

通过添加/删除配置文件来启用或禁用配置文件 .disabled 后缀。

参数:

  • idRegex (可选,字符串):正则表达式模式,用于匹配批处理操作的文件名。默认为所有配置。
  • action (可选,字符串):要执行的操作- "on" (启用), "off" (禁用),或 "toggle" (翻转状态)。默认为 "toggle".

退货: 对象与 affected 阵列和 skipped 阵列。

例子:

// Enable work configs
await client.callTool("toggle_niri_config", { idRegex: "work-.*", action: "on" })

// Disable play configs
await client.callTool("toggle_niri_config", { idRegex: "play-.*", action: "off" })

// Toggle all experimental features
await client.callTool("toggle_niri_config", { idRegex: "experimental-.*", action: "toggle" })

// Toggle all configs
await client.callTool("toggle_niri_config", { action: "toggle" })

配置状态

配置文件状态由以下因素决定 .disabled 后缀:

  • included -文件处于活动状态(否 .disabled 后缀)
  • excluded -文件已禁用(已 .disabled 后缀)

注: 对config.d文件的更改需要重新启动niri或重新加载配置才能生效。这是一个niri限制,并不特定于niri-mcp。

工作流示例

配置文件切换:

// Switch to work profile
await client.callTool("toggle_niri_config", { idRegex: "work-.*", action: "on" })
await client.callTool("toggle_niri_config", { idRegex: "play-.*", action: "off" })
await client.callTool("toggle_niri_config", { idRegex: "personal-.*", action: "off" })
// Then trigger niri config reload or restart niri

功能切换:

// Enable experimental feature
await client.callTool("toggle_niri_config", { idRegex: "experimental-.*", action: "on" })

// Check current state
const result = await client.callTool("list_niri_configs", {})
console.log(result.configs)

故障排除:

  • niri未运行: 配置工具可以工作,但更改只有在niri启动后才会生效
  • 权限被拒绝: 检查您的用户是否有读/写权限 ~/.config/niri/config.d/
  • 正则表达式不匹配: 确保正则表达式语法正确并匹配文件名(不是完整路径)
  • 找不到文件: 确保config.d目录存在于 ~/.config/niri/config.d/

目录标签

目录标签

配置管理TypeScript云端部署窗口管理本地部署Linux工具桌面环境

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP