Skip to main content
Glama
jenova-marie

Keyboard Shortcuts MCP Server

by jenova-marie

Keyboard Shortcuts MCP Server

A Model Context Protocol (MCP) server that provides keyboard shortcuts for various operating systems, desktop environments, and applications. Uses Claude Opus for intelligent natural language querying of shortcuts.

Primary Use Case: Designed to support Claude's Computer Use tool by providing accurate, context-aware keyboard shortcuts for automated computer interactions.

Features

  • šŸ” Intelligent Search: Uses Claude Opus to understand natural language queries

  • šŸ–„ļø Multi-Platform: Support for Ubuntu (GNOME desktop), with architecture for macOS/Windows

  • šŸ“± App-Specific: Desktop apps (Firefox, VS Code), CLI tools (tmux, vim), and system shortcuts

  • šŸš€ Fast: All shortcut data loaded in-memory for quick filtering

Related MCP server: Rebrain MCP Server

Installation

# Install dependencies
pnpm install

# Build the server
pnpm build

Configuration

Set your Anthropic API key as an environment variable:

export ANTHROPIC_API_KEY="your-api-key-here"

Usage

Running Standalone

pnpm start

Integrating with Claude Desktop

Add to your Claude Desktop MCP configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "keyboard-shortcuts": {
      "command": "node",
      "args": ["/path/to/keyboard-shortcuts-mcp/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key-here"
      }
    }
  }
}

Tool: get_shortcuts

Query keyboard shortcuts using natural language.

Parameters

  • os (required): Operating system - "ubuntu", "macos", or "windows"

  • query (required): Natural language question about shortcuts

  • desktop (optional): Desktop environment - "gnome", "kde", etc.

  • application (optional): Specific application - "firefox", "tmux", etc.

Examples

// Query tmux shortcuts (no desktop needed for CLI tools)
{
  "os": "ubuntu",
  "application": "tmux",
  "query": "how do I split a pane vertically?"
}

// Query Firefox shortcuts on GNOME
{
  "os": "ubuntu",
  "desktop": "gnome",
  "application": "firefox",
  "query": "how to open a new private window"
}

// Query GNOME window management
{
  "os": "ubuntu",
  "desktop": "gnome",
  "query": "tile window to left half of screen"
}

Data Structure

Shortcuts are organized as:

data/
└── ubuntu/
    ā”œā”€ā”€ desktops/
    │   └── gnome/
    │       ā”œā”€ā”€ window-management.json
    │       ā”œā”€ā”€ system-functions.json
    │       └── ...
    ā”œā”€ā”€ apps/
    │   ā”œā”€ā”€ browser/
    │   │   ā”œā”€ā”€ firefox.json
    │   │   └── chrome.json
    │   ā”œā”€ā”€ editor/
    │   │   ā”œā”€ā”€ vscode.json
    │   │   └── vim.json
    │   └── ...
    └── tools/
        ā”œā”€ā”€ tmux.json
        ā”œā”€ā”€ vim.json
        └── ...

Each JSON file contains:

{
  "os": "ubuntu",
  "desktop": "gnome" | null,
  "application": "firefox" | null,
  "file": "firefox",
  "categories": [
    {
      "name": "Tab Management",
      "shortcuts": [
        {
          "keys": "Ctrl + T",
          "description": "New tab"
        }
      ]
    }
  ]
}

Development

# Watch mode (auto-reload on changes)
pnpm dev

# Build TypeScript
pnpm build

# Run built server
pnpm start

Architecture

  1. Data Loader (src/data-loader.ts): Loads all JSON files at startup into memory

  2. Opus Client (src/opus-client.ts): Wraps Anthropic SDK for intelligent queries

  3. MCP Server (src/index.ts): Exposes get_shortcuts tool via MCP protocol

The server filters shortcuts by OS/desktop/app, then passes relevant data + user query to Claude Opus for intelligent matching.

License

MIT

Install Server
F
license - not found
B
quality
D
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Enables AI assistants to interact with native Linux desktop applications through AT-SPI2 accessibility interfaces. Provides semantic element targeting, natural language search, and automation capabilities (clicking, typing, keyboard shortcuts) across GTK, Qt, and Electron applications.
    6
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects LLMs to your macOS Shortcuts library, enabling interactive workflows, discovery, and management through AppleScript and CLI integration.
    3
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent

  • Search your knowledge bases from any AI assistant using hybrid RAG.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jenova-marie/keyboard-shortcuts-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server