Skip to main content
Glama

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

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

Deploy Server
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables intelligent querying of keyboard shortcuts for various operating systems, desktop environments, and applications using natural language. Supports multi-platform shortcuts including system functions, desktop apps like Firefox and VS Code, and CLI tools like tmux and vim.

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. Running Standalone
          2. Integrating with Claude Desktop
        2. Tool: get_shortcuts
          1. Parameters
          2. Examples
        3. Data Structure
          1. Development
            1. Architecture
              1. License

                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