Give your AI agent a keyboard-shortcut memory
Keyboard shortcuts are facts about software — but which ones are confirmed for your platform is the part that matters. Most shortcut references are static pages. This one is a free MCP server your AI agent can query directly.
What it is
KeyShortcuts.net is a free, source-referenced keyboard-shortcut database: 2,719 records across 7 platforms (Windows, macOS, Linux, ChromeOS, iOS, Android) and 45 apps (VS Code, Excel, Figma, Photoshop, Notion, Slack, Vim, IntelliJ IDEA, Cursor, and more).
Every record carries a source reference and a per-binding review status. The server never guesses platform translations — if a shortcut isn't confirmed for your platform, it says so.
The MCP server
A stateless Streamable HTTP endpoint at https://keyshortcuts.net/api/mcp. No API key, no sign-in, no rate-limit paywall for basic use.
Add it to any MCP client:
{
"mcpServers": {
"keyshortcuts": {
"type": "http",
"url": "https://keyshortcuts.net/api/mcp"
}
}
}
Or with Claude Code:
claude mcp add keyshortcuts --transport http https://keyshortcuts.net/api/mcp
Tools
| Tool | What it does |
|---|---|
search_shortcuts |
Search action meanings and app labels |
list_apps |
List supported apps and platforms |
get_app_shortcuts |
Get the shortcut records for one app |
lookup_shortcut |
Look up what a literal key combination does |
compare_platforms |
Reviewed equivalents of an action across platforms |
translate_shortcut |
Translate a binding between platforms (e.g. Windows → macOS) |
get_source |
Source and review metadata for a binding |
create_shortcut_set |
Compose a custom shortcut set |
Verify it yourself
curl -s https://keyshortcuts.net/api/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'
Also a plain REST API
Same dataset, free, 60 req/min/IP:
-
GET /api/apps— list apps -
GET /api/search?q=...— search shortcuts -
GET /api/keys/{combination}— lookup a literal key combination -
GET /api/compare?id=...— cross-platform equivalents -
GET /api/translate?id=...&from=windows&to=macos— translate a binding - Schema: https://keyshortcuts.net/api/openapi.json
Free web tools
- Shortcut finder — search by action or by keys
- My Stack — build your personal shortcut stack
- Windows ↔ Mac switcher
- Practice quiz — test and build your shortcut memory
- Premium PDF packs — from $4
Attribution
We make no proprietary claim over keyboard combinations — they are facts about software. Our contribution is the curation, review status, and source references. Please keep the attribution link when reusing the data.
Top comments (1)
jaspal, this is a brilliantly practical application of the mcp protocol. keyboard shortcuts are the perfect use case for agent retrieval because they are highly contextual, platform-dependent, and notoriously prone to llm hallucination.
the choice of a stateless streamable http endpoint with a generous 60 req/min/ip limit is a masterclass in frictionless api design. it prevents abuse without forcing the dreaded "sign up for an api key" wall, which is exactly how public mcp servers should be built.
regarding the
translate_shortcutandcompare_platformstools: since llms can be highly sensitive to tool call latency during a generation loop, how are you handling caching for these queries? are you caching the 2,719 records in-memory (e.g., via a local lru cache or redis) to ensure sub-50ms response times for the mcp client, or are you relying on the database's query planner and indexing to handle the concurrent load?also, huge respect for including the openapi schema and the curl verification snippet right in the post. making it trivially easy for devs to test the endpoint is the absolute best kind of developer experience. 🐯