Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Karabiner

FreeNot checked

MCP server for managing Karabiner-Elements keyboard remapping rules on macOS, enabling LLMs to search key codes, list/add/edit/remove/toggle rules, and switch p

GitHubEmbed

About

MCP server for managing Karabiner-Elements keyboard remapping rules on macOS, enabling LLMs to search key codes, list/add/edit/remove/toggle rules, and switch profiles through natural language.

README

MCP server for managing Karabiner-Elements keyboard remapping rules on macOS.

Exposes Karabiner configuration as MCP tools so an LLM can search key codes, list/add/edit/remove/toggle rules, and switch profiles — all through natural language.

Tools

Tool Description
search_key_codes Find Karabiner key code names (e.g. "enter" → return_or_enter)
list_rules List all rules in the current profile with enabled/disabled status
add_rule Create a new remapping rule
edit_rule Modify an existing rule
remove_rule Delete a rule (with optional asset cleanup)
toggle_rule Enable or disable a rule
list_profiles Show all Karabiner profiles
select_profile Switch the active profile

Installation

Requires Python 3.13+ and uv. No need to clone the repo — register the server in your Claude config (~/.claude.json) and uvx will install it on first run:

{
  "mcpServers": {
    "karabiner-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/jason-weddington/karabiner-mcp.git",
        "karabiner-mcp"
      ]
    }
  }
}

Then ask Claude things like:

  • "Remap Caps Lock to Escape"
  • "Make right Option act as Hyper key"
  • "When I tap left Shift, type open-paren"
  • "Disable the rule called 'Caps Lock to Escape'"

Rule patterns

  • Simple remap — one key to another
  • Modifier combo — e.g. Cmd+Shift+K to something
  • Tap vs hold — different output for tap and hold on the same key
  • App-specific — rules scoped to specific applications by bundle ID
  • Shell command — trigger a shell command from a key combo

Development

uv run pytest                        # Run tests
uv run pytest --cov=karabiner_mcp    # Tests with coverage
uv run ruff check .                  # Lint
uv run ruff format .                 # Format
uv run mypy src/                     # Type check

License

MIT

from github.com/jason-weddington/karabiner-mcp

Installing Karabiner

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/jason-weddington/karabiner-mcp

FAQ

Is Karabiner MCP free?

Yes, Karabiner MCP is free — one-click install via Unyly at no cost.

Does Karabiner need an API key?

No, Karabiner runs without API keys or environment variables.

Is Karabiner hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Karabiner in Claude Desktop, Claude Code or Cursor?

Open Karabiner on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Karabiner with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs