An MCP server to manage your Niri configs
  • TypeScript 100%
Find a file
2026-07-13 21:08:44 +05:30
.github/workflows Add GitHub Actions build workflow 2026-07-05 13:11:00 +05:30
src Refactor core logic into separate module and add query/rebind tools 2026-07-13 21:08:44 +05:30
.gitignore Initial commit of niri-mcp-server: implements robust KDL configuration parser, niri validate config-modify-validate flow, standalone validate tool, and tokenized documentation search 2026-07-02 16:32:00 +05:30
package-lock.json Initial commit of niri-mcp-server: implements robust KDL configuration parser, niri validate config-modify-validate flow, standalone validate tool, and tokenized documentation search 2026-07-02 16:32:00 +05:30
package.json Add core module tests and test script 2026-07-13 21:08:02 +05:30
README.md docs: add readme for niri mcp server 2026-07-02 23:31:00 +05:30
tsconfig.json Initial commit of niri-mcp-server: implements robust KDL configuration parser, niri validate config-modify-validate flow, standalone validate tool, and tokenized documentation search 2026-07-02 16:32:00 +05:30

Niri MCP Server

An MCP server for the Niri Wayland compositor. It allows Model Context Protocol clients to search Niri documentation and manage configuration key bindings.

Features

  • Search documentation in the Niri wiki
  • Add new key bindings to the configuration file
  • Remove key bindings from the configuration file
  • Validate the Niri configuration file

Configuration

The server looks for the following paths by default:

  • Niri configuration: ~/.config/niri/config.kdl
  • Wiki documentation: ~/niri/docs/wiki

Installation

First build the server:

npm run build

Setup

To use this server with Claude Desktop or another client, add it to your configuration file:

{
  "mcpServers": {
    "niri": {
      "command": "node",
      "args": ["/absolute/path/to/niri-mcp-server/dist/index.js"]
    }
  }
}

Make sure to replace the path with the actual absolute path to your copy of the repository.