KeyShortcuts
Server Details
Verified keyboard shortcuts for Windows, macOS, Linux, ChromeOS and 45+ apps, with sources.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- entempsllc/keyshortcuts-mcp
- GitHub Stars
- 0
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: listing apps, retrieving shortcuts for an app, exact-key lookup, semantic search, cross-platform comparison, translation, set generation, and provenance retrieval. Overlaps are minimal and clarified by descriptions (e.g., lookup vs search, compare vs translate).
All tool names follow a consistent snake_case verb_noun pattern (compare_platforms, create_shortcut_set, get_app_shortcuts, get_source, list_apps, lookup_shortcut, search_shortcuts, translate_shortcut). No mixed conventions or vague verbs.
Eight tools is well-scoped for a keyboard shortcut reference and generation service. Each tool covers a distinct operation, and the count avoids both redundancy and excessive fragmentation.
The surface covers listing apps/platforms, retrieving app shortcuts, exact lookup, semantic search, cross-platform comparison, translation, set generation, and provenance. Minor gap: no direct way to list all shortcuts for a specific platform without iterating apps, but workarounds exist.
Available Tools
8 toolscompare_platformsCRead-onlyIdempotentInspect
Compare reviewed same-context bindings.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. Beyond that, the description adds nothing about what a comparison returns, whether both platforms must exist, or how many bindings are involved; the single word "reviewed" is left undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short fragment with no wasted words, which is structurally clean. However, the brevity comes at the cost of meaning, so it reads as under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description should at minimum explain what is compared and what the caller gets back. Neither is covered, and the undefined term "bindings" leaves the agent guessing about the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter "id" has no type meaning, format, or scope explained anywhere. The description does not say what the id identifies (a shortcut? an app?) or whether it must be one of the reviewed bindings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb "Compare" is present, but "reviewed same-context bindings" is unexplained jargon that never identifies the resource being compared. Nothing distinguishes it from siblings like lookup_shortcut or search_shortcuts, which apparently operate on the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the alternatives, no prerequisites, and no exclusions. The description gives the agent no basis for choosing compare_platforms over lookup_shortcut or search_shortcuts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_shortcut_setCRead-onlyIdempotentInspect
Generate a collection; does not store private data.
| Name | Required | Description | Default |
|---|---|---|---|
| osId | Yes | ||
| role | No | ||
| skill | No | ||
| title | No | ||
| appIds | Yes | ||
| platform | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the non-persistent nature is covered. The description adds one piece of context beyond that – that no private data is stored – which is consistent with the annotations. However, it says nothing about output shape, limits, or whether the generated set is returned vs. persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only one clause, and brevity here is under-specification rather than efficiency. The clause that exists is front-loaded but conveys almost no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, 3-required tool with no parameter documentation, no output schema, and no explanation of what a "set" contains, the description is far too thin. The annotations cover safety only, leaving an agent unable to populate osId/appIds or anticipate the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 0% schema description coverage (osId, platform, appIds, role, skill, title) and the description explains none of them. With required fields like osId and appIds that an agent cannot infer, the description carries full burden and completely fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Generate a collection" restates the name (create_shortcut_set) in vaguer terms: it never says the collection is of shortcuts, nor what the set is for. It also fails to distinguish itself from siblings like lookup_shortcut, get_app_shortcuts, or compare_platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over get_app_shortcuts or lookup_shortcut, and no prerequisites. The only extra clause ("does not store private data") is a data-safety note, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_shortcutsCRead-onlyIdempotentInspect
Get an app's recorded shortcuts.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | ||
| limit | No | ||
| offset | No | ||
| platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety is covered. The description adds essentially nothing beyond restating purpose—no note on pagination behavior, result ordering, or what 'recorded' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence—appropriately sized and front-loaded, but so terse it omits needed detail. Concise, not poorly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters at 0% coverage, no output schema, and only a one-line description, the agent lacks pagination semantics, platform filtering meaning, and return format. Inadequate for the tool's actual complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so all four parameters (app, limit, offset, platform) are undocumented. The description mentions only the app resource and says nothing about limit/offset pagination or the platform filter, leaving it entirely to compensate and failing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Get an app's recorded shortcuts'), clearly distinguishing it from siblings like search_shortcuts or lookup_shortcut. 'Recorded' hints at stored data, though what a 'shortcut' means is not elaborated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs search_shortcuts or lookup_shortcut, nor any notion of prerequisites. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sourceCRead-onlyIdempotentInspect
Read official provenance registry metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that — no note on error behavior for an unknown id, no indication of what the registry lookup returns, and no added context for the closed-world scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is structurally clean. The problem is under-specification rather than verbosity, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one undocumented parameter, no output schema, and a sibling set of seven shortcut-related tools, the description should at minimum say what a 'source' is and how it relates to lookup_shortcut/get_app_shortcuts. None of that is present, so an agent lacks the context to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the schema does not say whether it is a shortcut id, an app id, or a registry key. The description mentions 'provenance registry metadata' but never explains what the id identifies, leaving the parameter's meaning unstated in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb (Read) and a resource (provenance registry metadata), so it is more than a tautology. However, 'official provenance registry' is undefined, and nothing distinguishes it from siblings like lookup_shortcut or get_app_shortcuts — an agent cannot tell what a 'source' is here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the alternatives in the sibling set (lookup_shortcut, get_app_shortcuts, list_apps). The agent must guess which tool retrieves which kind of record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appsBRead-onlyIdempotentInspect
List supported apps and platforms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds nothing beyond 'list' — no note on whether the list is static, paginated, or complete, which would reduce guesswork.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence with no waste, but it is under-specified rather than informative. Brevity here costs the agent context it needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param read tool with full annotation coverage, this is minimally adequate. Still missing is whether the result is a fixed platform catalog and how to use it downstream, which would materially help selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to document and the baseline of 4 applies. The description does not wrongly imply any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb and resource ('List supported apps and platforms'), which is clear enough. But it doesn't distinguish it from the many sibling shortcuts that also deal with apps/platforms (get_app_shortcuts, compare_platforms), so the purpose boundary is fuzzy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. It does not say this is the entry point for discovering available apps before calling get_app_shortcuts or compare_platforms, nor exclude any scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_shortcutCRead-onlyIdempotentInspect
Look up exact keys without guessing.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| keys | Yes | ||
| platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds only that lookup should be exact rather than approximate ('without guessing'), which is useful but minimal and does not cover return format, errors, or matching semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and free of filler. It is efficient, though arguably under-specified for a three-parameter lookup operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters, no schema descriptions, and no output schema, the description should clarify what keys, app, and platform mean and what an exact lookup returns. It omits app and platform entirely and gives no return expectations, so it is not complete enough for an agent to call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for three undocumented parameters. It only gestures at the 'keys' parameter and says nothing useful about 'app' or 'platform', leaving most parameter meaning unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb ('look up') and vague resource ('keys'), but never explicitly says this is for shortcut keys or what kind of lookup result is returned. It also does not distinguish itself from siblings such as search_shortcuts or get_app_shortcuts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without guessing' implies exact-match lookup, giving a weak usage condition. However, there is no explicit when-to-use guidance, no when-not-to-use guidance, and no named alternative for fuzzy searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_shortcutsCRead-onlyIdempotentInspect
Search action meanings and app labels.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| app | No | ||
| limit | No | ||
| offset | No | ||
| platform | No | ||
| verified | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds no behavioral context whatsoever - no pagination behavior, no matching semantics, no empty-result behavior - for a tool with limit/offset parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding and no wasted words, correctly front-loaded. However, that brevity is the result of under-specification rather than efficient information packing, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter search tool with filtering (app, platform, verified), pagination (limit, offset) and no output schema, the description omits almost everything an agent needs. The annotations cover read-only safety but nothing about matching, filtering or result shape is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for six parameters. The phrase 'action meanings' faintly hints at the q parameter and 'app labels' at app, but platform, verified, limit and offset are entirely undocumented in both the schema and the description, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Search' is clear but the resource is fuzzy: 'action meanings and app labels' never says it returns keyboard shortcuts, and it does not distinguish itself from lookup_shortcut or get_app_shortcuts. An agent can guess it is a query over shortcut metadata but cannot confidently separate it from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named. With lookup_shortcut, get_app_shortcuts, list_apps and compare_platforms as siblings, the description gives no signal about which entry point to pick for a given query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translate_shortcutCRead-onlyIdempotentInspect
Translate only with reviewed origin and destination evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| to | Yes | ||
| from | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so safety is covered. The description's only added behavior is an opaque gating phrase about "reviewed evidence"; it does not say what the tool returns, whether it caches, or what happens when the evidence is not reviewed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, which is structurally fine, but the brevity comes from under-specification rather than economy. The one clause it does contain is the least intelligible part.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three mandatory, zero-documented parameters and no output schema, the description should explain what id/from/to accept and what a translation produces. Neither is addressed, so an agent cannot confidently construct a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three required parameters (id, from, to), so the description carries the full burden. "origin and destination" loosely maps to from/to but adds no format, accepted values, or meaning for id, leaving all three parameters effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb "Translate" plus the name translate_shortcut implies converting a shortcut, and "origin and destination" gestures at from/to. However, it never says what is being translated (a shortcut's platform, locale, format?) or how it differs from siblings like lookup_shortcut or compare_platforms, so the purpose stays vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"only with reviewed origin and destination evidence" reads as a precondition but is not actionable: it never defines what counts as reviewed evidence, nor points to a sibling tool for the unreviewed case. No when-to-use vs when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- First observed
compare_platforms - First observed
create_shortcut_set - First observed
get_app_shortcuts - First observed
get_source - First observed
list_apps - First observed
lookup_shortcut - First observed
search_shortcuts - First observed
translate_shortcut
Related MCP Connectors
Verified answers for AI agents: only from approved documents, with sources, or a refusal.
Free fact-checks, papers, source vetting, plus verified AI pricing, comparisons, guides, and tools.
AI Agent Source Registry. 288K+ curated sources for agentic search and discovery.
Verified US consumer-tech deals, coupons and 90-day price history. Free, read-only, no API key.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to automate Windows desktop via human-like mouse and keyboard input and UI Automation, with post-action verification for reliable control of programs, UI elements, windows, and files.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to operate Windows computers with parallel, human-like input streams, including held keys, concurrent mouse/keyboard actions, UIA/OCR targeting, and a knowledge base for engineering software.1MIT
- AlicenseNot gradedqualityAmaintenanceLets AI agents see and control desktop applications through the accessibility layer, enabling clicking, typing, scrolling, dragging, and window/app management across macOS, Windows, and Linux entirely on the local machine.14MIT
- AlicenseBqualityAmaintenanceThis server enables AI agents to operate Windows and Linux computers by observing the screen, understanding the UI through accessibility, OCR, and vision, and performing mouse, keyboard, window, clipboard, and system actions with verification and recovery.292MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.